개발

[Git] git reset vs revert

ash_ 2023. 3. 28. 16:19
  • reset : 원하는 시점으로 돌아간 뒤 이후 내역들을 지웁니다.
  • revert : 되돌리기 원하는 시점의 커밋을 거꾸로 실행합니다.

 

reset

git reset --hard (돌아갈 커밋 해시)

돌아갈 커밋 해시 위치로 돌아간 후, 그 커밋 이후의 내용과 커밋들은 전부 삭제한다.

커밋 해시는 `git log` 를 통해 확인 가능

 

hard : 해당 커밋 이후의 내용과 커밋들을 모두 삭제하고, 변경사항도 모두 삭제.

mixed: 해당 커밋 이후의 커밋은 삭제하고, 변경된 내용은 staging 해놓음.

soft: 해당 커밋 이후의 커밋은 삭제하고, 변경된 내용은 working directory에 남아있음.

 

🚨reset 으로 날아간 파일 살리기

git reflog

reflog 는 프로젝트가 위치한 커밋이 바뀔 때마다 기록되는 내역을 보여주고, 이를 사용하여 reset하기 이전 시점으로 프로젝트를 복구할 수 있습니다.

 

revert

git revert (되돌릴 커밋 해시)

해당 커밋을 되돌리는 커밋이 하나 더 생긴다.

커밋하지 않고 되돌리려면

git revert --no-commit (되돌릴  커밋 해시)

옵션을 사용, 추가 수정사항이 생기면 더 수정하고 커밋하면 된다.

'개발' 카테고리의 다른 글

[자료구조] 힙(Heap)  (1) 2024.02.01
[자료구조] 트리  (0) 2024.02.01
[자료구조] 그래프  (0) 2024.02.01
[Javascript] 객체, 배열 정리  (0) 2023.05.08
[크롬 브라우저 하드웨어 가속] Udemy 화면 재생 안될 때  (0) 2023.05.08