반응형
  • 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)
반응형

+ Recent posts