Git commit message 수정
바로 직전 커밋 메세지를 수정하고 싶을때
git rebase HEAD~1 -i
// 편집모드(i) 누른 뒤, pick -> reword로 수정하고 esc + :wq!
// 그럼 수정할 수 있도록 창이 뜨면 (E)dit 해서 커밋 메세지 수정하고 esc + :wq!
git push -f
(나는 실행이 되지 않아서 다른 방법으로 수정했다.)
// 바로 전 커밋으로 돌아간다.
git reset HEAD~1
git add .
git commit -m "수정할 매세지 다시 입력"
git push **--force** origin dev-style
Cherry-pick
다른 브랜치에 있는 커밋을 선택적으로 내 브랜치에 적용시킬 때 사용하는 명령어이다.
git cherry-pick <commit-SHA>
Reset / Revert 차이점
reset
- 과거의 특정 commit 시점으로 되돌아 갈 수는 있지만, 되돌린 버전 이후의 버전들은 히스토리에서 아예 삭제된다.
git reset HEAD~1
- 사용하는 경우
- 혼자만 사용하는 브랜치인 경우 사용
- origin에 있지만 아무도 이 브랜치를 사용하지 않는게 확실한 경우 사용
- revert
- 특정 commit 으로 되돌아갈 수 있지만, 되돌린 버전 이후의 버전들의 히스토리는 여전히 남아있다.
- reset과 다르게, 커밋을 삭제하는 것이 아니라! 커밋을 추가하는 것이다.
git revert <commit SHA>
Pull / Fetch
- pull
- 원격 저장소로부터 필요한 파일을 pull 하고, merge까지 한다.
- 로컬 브랜치와 원격 저장소가 같은 위치를 가리킨다!
- fetch
- 원격 저장소로부터 필요한 파일을 pull 받는다. (merge는 따로 해야함)
- 로컬 브랜치는 원래 가지고 있던 로컬 저장소의 최근 커밋 위치를 가리키고, 원격 저장소는 가져온 최식 커밋을 가리킨다.
- 즉, 원래 내용과 바뀐 내용과의 차이를 알 수 있다.
Reference
참고
참고
참고