반응형


Git 이전 커밋으로 되돌리는 방법

1. Git에서 수정했던 파일을 git add를 하여 staging area에 올렸을 때, 다시 이전 커밋으로 되돌리는 방법은 아래의 명령어를 실행하면 된다.

git reset

 

위의 명령어의 경우, 커밋까지는 반영되는게 아닌 커밋

 

 

git reset 종류

1. git reset --soft

워킹 디렉토리와 staging area에는 수정사항은 그대로 유지되는데, 커밋한 내용만 reset 시킨다.

 

2. git reset --hard

워킹 디렉토리와 staging area, 커밋에 있는 모든 수정사항들을 다 reset 시킨다.

 

3. git reset --mixed

워킹 디렉토리에 있는 수정사항만 그대로 유지시키고, staging area와 커밋을 다 reset 시킨다.

git reset 명령어를 사용할 때 옵션을 붙이지 않으면 디폴트로 --mixed 옵션으로 reset이 작동한다.

 

git reset 주의사항

git reset을 할 경우에는 다른 사람과 협업 시 조심해야 한다.

같은 브랜치에서 다른 사람과 작업을 하고 있을 때, abcde라는 내용을 git push를 통해 원격 레포지토리까지 반영이 된 상태에 git reset을 할 경우에는 문제가 생기지 않는다.

 

근데, git reset을 한 후에 다시 git push --force를 통해 원격 레포지토리까지 반영이 됐다면 다른 사람이 pull을 당길 때 충돌날 수 있으므로 이 방법은 지양을 하거나 이야기를 하면서 반영을 해야 한다.

 

git reset을 다른 사람과 협업을 할 때 지양하는 것도 중요하지만, git push --force를 사용할 때는 정말 신중히 해야 한다.

이 문제를 겪지 않으려면 그냥 개인 브랜치를 새로 따서 사용하는게 제일 마음 편하다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기