NLP/AI/Statistics

Git commit message 변경 및 이전 작업 상태로 돌아가기 본문

Git

Git commit message 변경 및 이전 작업 상태로 돌아가기

Danbi Cho 2020. 10. 3. 14:29

Git을 사용하는 과정에서 어려움을 겪었던 문제 중에 하나이다.

 

파일을 업로드하였고 commit message를 작성하는데 잘못 작성된 상태에서 push를 했다.

 

이를 그냥 둘 수도 있었지만, 정확한 commit message를 업로드하고 싶었기 때문에 이를 수정하려고 검색하였다.

 

# commit message 바꾸는 방법
git commit --amend -m "new_commit_message"
git push -f

위의 코드를 작성하면 되었지만, 항상 'git push'로만 작성하던 습관으로, 

 

아래의 코드를 git push -f 가 아닌 git push로 계속 작성하였고 역시나 계속 잘못된 message는 바뀌지 않았다.

 

계속 안되는 것 같아 결국 지우고 다시 넣어버리자! 라는 마음으로 rm 하고 다시 업로드 하는 방식으로 진행하였지만,

 

어쩐 일인지 갑자기 git status 상에서 git pull을 하라는 언급이 나왔고, 

 

git pull을 할 경우, 데이터의 변환이 생길 것 같아 이를 처리하지 않았다.

 

하지만 계속해서 나타나는 git pull 알림에, git pull 취소를 알아보았다.

 

이전 작업으로 넘어가는 방법이었고, 이를 위해 아래의 코드를 작성하면 된다.

 

# 이전 작업 위치로 돌아가는 방법
git reflog
git reset --hard HEAD@{number}

git reflog를 작성할 경우, 최근의 directory와 history가 뜬다.

 

이 중, 돌아가고 싶은 history로 돌아가 git pull의 상황이 나타나기 전으로 돌아갈 수 있었다.

 

결국, git pull 알림이 나타나기 전으로 돌아갔지만 여전히 commit message는 잘못 작성된 상태였고,

 

다시 위에서 검색한 코드를 정확히 작성해보자 하여 해보니 되었다.

 

"git push - f"을 정확히 작성한 후에 commit message가 바뀌는 것을 확인할 수 있었다.

 

git push -f 의 f는 force라는 의미로 force updates의 역할을 한다. 

 

#. 추후에 알게된 사실

 

위와 같이 이전 작업으로 임의로 돌아갈 경우, banch가 엉키는 문제가 발생할 수 있다고 한다.

 

이전 작업으로 돌아가는 작업은 위와 같이 뭔가 잘못해서 그 때로 돌아가기 위해 사용하는 것이 아니라, 

 

이전 작업의 커밋을 확인하기 위해 사용한다고 한다...

 

이점을 주의해서 git reset --hard HEAD@{number} 코드를 사용해야할 것 같다.

'Git' 카테고리의 다른 글

Git 원격 저장소 연결 및 끊기 (git remote)  (0) 2021.01.20
Git add, commit 취소  (0) 2020.10.13
Git 코드 요약 정리  (0) 2020.09.29
Git 개념  (0) 2020.09.29
Comments