Git 기초 - 4

태그: ,

카테고리: ,

이 글은 아래의 출처에서 내용을 참고하여 작성하였습니다.
출처 : https://git-scm.com/


되돌리기


commit –amend

이미 커밋해버린 뒤에 수정사항이 생기면

$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend

위와 같이 git commit --amend 명령어를 통해
바로 이전 커밋에 메시지까지 그대로 덮어 쓸 수 있다


reset HEAD <FILE>

Stage 파일 Unstaged 로 바꾸는 방법은
git status를 실행하면 커밋 예정 파일 이전에 알려준다

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

그렇지만 git reset 명령은 매우 위험하다.
--hard 옵션과 함께 사용하면 더욱 위험하다.
반드시 옵션없이 써야 다른 파일을 건드리지 않는다.


checkout – <FILE>

Modified 파일 되돌리기 또한
변경사항이 있을때 git status를 실행하면 알려준다

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

위와 같이 아직 Stage 되지 않은 변경사항들에 대해
add 하던지 아님 checkout으로 변경사항을 취소하라고 한다

그러나 이 명령 또한 꽤 위험한 명령이라는 것을 알아야 한다.
원래 파일로 덮어썼기 때문에 수정한 내용은 전부 사라진다.

변경한 내용을 쉽게 버릴수는 없지만 당장 되돌려야 한다면
Stash와 Branch를 사용하자. 나중에 알려주겠지만 이 방법들이 훨씬 낫다.


댓글남기기