본문 바로가기

SCM/Git

12. Git 완료한 커밋을 되돌리기 - git reset

완료한 커밋을 되돌리기
 
완료한 커밋을 수정해야 할 때는 --amend 옵션을 사용한다. 
 
$ git commit --amend
 
예를 들어 어떤 파일을 깜박한 경우에는 아래와 같이 사용하면 된다.
 
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend
 
이렇게 명령을 치면 config 에 등록한 editor 가 열리는데 이때 커멘트를 수정하면 된다.
 
결과적으로 해당 커밋에 수정한 내용이 추가되게 되면 커맨트가 새롭게 변경된다.
 
 
 

파일 상태를 Stage 에서 Unstage 로 변경하기
 
따로 따로 커밋을 해야 하는데 실수로 모두 Staging Area 에 올린 경우 ( git add * 따위로 )
 
몇몇 파일을 Unstage 로 변경해서 따로 Commit 해야 한다.
 
Staging Area 에 있는 파일을 Unstging Area 로 내리는 경우 아래 명령을 사용한다.
 
$ git reset HEAD filename.ext
 
 
 

Modified 파일 되돌리기
 
아직 git add 를 사용해서 Staging 상태가 되지 않았을 경우 아래
 
$ git checkout -- benchmarks.rb
 
명령을 사용하면 해당 파일을 수정하기 전의 상태로 되돌린다.
 
하지만 이렇게 하면 수정한 내용이 전부 사라지게 된다.
 
그리고 되돌릴 수 없기 때문에 항상 주의해서 사용해야 한다.