반응형
- remote에 아직 안올리고 local내에서만 처리가능할 때
- git commit --amend로 기존 커밋 수정
- git reset
- git checkout
- 여기서 reset과 checkout의 차이를 알아보자
- reset 명령은 HEAD가 가리키는 브랜치를 움직이지만(정확히는 브랜치 Refs), checkout 명령은 HEAD 자체를 다른 브랜치로 이동, 참고: https://readystory.tistory.com/150
- remote에 이미 push 했을 때
- git revert - 특정 커밋만 취소, but 커밋한 기록이랑 그 커밋을 취소한 기록이 모두 남음
- 기록안남기고 그냥 강제 덮어쓰기 하려면 local에서 reset이나 rebase등으로 원하는 상태로 만든후에 git push ---force, but 협업자가 많으면 멘붕올수 있음
- 과거의 특정 커밋 수정하기
- git push --force: 강제로 덮어쓰기
- git push --force-with-lease: 덮어쓰기 전에 로컬의 remotes/브랜치A가 참조하고 있는 것과 현재 원격의 브랜치A가 참조하고 있는 내용이 동일할 경우에만, 즉, 다른 누군가가 원격의 브랜치A에 push를 하지 않은 상태에서만 git push --force를 실행
- git push --force함으로 없어져 버린 commit은 어떻게 될까?
- git show f65ff0737a0a935b67235aae20ec389db32e5240: 일단 git push --force한 당일에는 아래처럼 결과가 나옴
- change userNo=null error action 5 (added in amazon-echo, naver-clova)
- 과거의 특정 커밋 수정하기
반응형
'git' 카테고리의 다른 글
과거 commit 검색하기: git log --grep='keyword', git show commitHash (0) | 2022.07.20 |
---|---|
git remote 관련: 대표로 git remote show origin만 알아두면 됨 (0) | 2022.06.14 |
git author/committer, owner/uploader/reviewer 차이 (0) | 2022.05.17 |
git stash: branch에 따라 달라지지 않고 전체적으로 공유됨 (0) | 2019.12.18 |
git ignore (0) | 2019.09.03 |