Home [Git][Error] Git 사용중 branch가 꼬였을때
Post
Cancel

[Git][Error] Git 사용중 branch가 꼬였을때

[errors] git 사용중 꼬였을 때…

최근 cafe 24 와 협업을 하면서, 새로운 상품연동 페이지를 제작중에 있었다. 그런데 내가 실수로 main branch에 작업을 하고있었다… 다행이도 fork 해온 나의 레포에서 작업이 되었지만, 이전으로 되돌리기에는 다른사람의 commit 도 있었고 , 너무 많은 commit 을 되돌려야 했다.

실수는 반복될 수 있다. 해결방법을 작성하자.

커밋내용 확인하기

1
git log
  1. vsCode 에서 위와 같은 명령어를 치면, 최근 커밋했던 내역을 볼 수 있다. Q 또는 q를 누르면 내역에서 나가진다.
  2. 깃헙 레포지토리에 가서 commit 내역을 보면, 커밋한 내용과 해당 커밋의 해시코드를 확인 할 수 있다. 참고로 fork 한 레포에서는 커밋 revert 버튼이 보이질 않는다.

이전 버전으로 되돌리기.

커밋내용을 되돌렸다가 돌아오지 않고 아예 되돌리고 싶은 경우에도 두가지 방법이 있다. 웬만하면 revert 를 권장한다.

  1. 되돌리는 버전을 새로 커밋하기(권장 O)

    • git revert head ~1 혹은 git revert 커밋해시코드
      • revert 명령시 해당 커밋 버전으로 새로 커밋하게 되므로, 커밋 메시지 입력창이 나타난다.
    • (i 입력 후 커밋메시지 수정하기: wq 입력해서 저장 후 종료하기)
  2. 되돌리는 버전 이후의 커밋을 삭제하기(권장x)

    • git reset --hard head ~1혹은 git reset –hard 커밋해시코드
      • 앞서 설명한 checkout. 의 두 가지 방법 모두 똑같이 reset 에도 적용 가능하다.
    • 남아있는 추가되었던 파일 지우기.

나의 해결방법

커밋을 일일히 revert 할 수는 없었다. 실제로 해보니 커밋이 revert 관련 8개가 쌓여서 보기가 매우 안좋았다. 다음과 같이 처리하였다.

  1. 복구해야 하는 commit 으로 reset 한다.
  2. 로컬도 자동으로 바뀐다.
  3. 다시 upstream main 브랜치를 pull 해온다.
  4. 나의 레포 origin main 에다가 push 한다.

참고

https://mintaku.tistory.com/12 https://velog.io/@malgo/commit%EC%BB%A4%EB%B0%8B-%EB%82%B4%EC%97%AD-%EC%A7%80%EC%9A%B0%EA%B8%B0

This post is licensed under CC BY 4.0 by the author.

[Antd][Error] 'callback is deprecated. please return a promise instead'

[CSS] 반응형 코드 이쁘게 작성하기