ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Git 간단한 사용법 - commit --amend
    Dev/Git 2019. 6. 21. 06:42
    반응형

    작업을 마치고 commit 까지 완료했는데 추가 작업이 생겨서 바로 전 커밋에 같이 포함시켜야 할 경우가 종종 있다.

     

    이 때 필요한 Git 명령 그리고 옵션이 바로 commit --amend 이다. 아래 코드 참조.

     

    먼저 최초 수정한 작업이 아래와 같이 있다고 가정한다. 

    [~/test/local] (master) $ echo 'new changes' > index.html
    [~/test/local] (master) $ git add index.html
    [~/test/local] (master) $ git commit -m "first change"
    [master (root-commit) 5ac076a] first change
     1 file changed, 1 insertion(+)
     create mode 100644 index.html
    [~/test/local] (master) $ git log --oneline
    5ac076a (HEAD -> master) first change

    커밋 5ac076a 이 생성되었다. 이제 기존 파일을 수정하고 커밋할 준비를 한다.

    [~/test/local] (master) $ echo 'additional changes' >> index.html
    [~/test/local] (master) git add index.html
    [~/test/local] (master) git status
    On branch master
    Your branch is based on 'origin/master', but the upstream is gone.
      (use "git branch --unset-upstream" to fixup)
    
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
    
    	modified:   index.html

     

    아래 명령어를 실행하면 마지막으로 만들었던 커밋 5ac076a 의 메세지 등록 하면이 나온다. 내용을 수정 후 ':wq" 로 변경내용을 저장하고 나온다. 

    [~/test/local] (master) $ git commit --amend
    [master 432090a] first change has been changed twice
     Date: Thu Jun 27 14:03:08 2019 +1000
     1 file changed, 2 insertions(+)
     create mode 100644 index.html

    커밋 히스토리를 보면 커밋 5ac076a 이 사라지고 신규 커밋 432090a 이 생성되어 있음을 확인할 수 있다.

    [~/test/local] (master) $ git log --oneline
    432090a (HEAD -> master) first change has been changed twice
    [~/test/local] (master) $ git status
    On branch master
    Your branch is based on 'origin/master', but the upstream is gone.
      (use "git branch --unset-upstream" to fixup)
    
    nothing to commit, working tree clean

    신규 생성된 커밋 내역을 보면 추가로 변경한 내용이 기존의 커밋에 더해져 있다. 

    [~/test/local] (master) $ git show 432090a
    commit 432090a409d29eaa164a9455d87379727081ce31
    Author: Wangsung Kim <brkim@redhat.com>
    Date:   Thu Jun 27 14:03:08 2019 +1000
    
        first change has been changed twice
    
    diff --git a/index.html b/index.html
    new file mode 100644
    index 0000000..3e8c755
    --- /dev/null
    +++ b/index.html
    @@ -0,0 +1,2 @@
    +new changes
    +additional changes

     

     

     

     

    반응형

    'Dev > Git' 카테고리의 다른 글

    Git 간단한 사용법 - 여기서 잠깐!  (0) 2019.06.27
    Git 간단한 사용법 - remote add origin  (0) 2019.06.25
    Git 간단한 사용법 - Push  (0) 2019.06.19
    Git 간단한 사용법 - Add, Commit  (0) 2019.06.19
    Git 간단한 사용법 - Clone  (0) 2019.06.19
Designed by Tistory.