git 브랜치 작업 실수 해결

김지혜·2023년 12월 21일
0

git & Github

목록 보기
10/10
post-custom-banner

문제 상황

git 브랜치 A에서 작업해야 할 코드를 실수로 B에서 작업했다.

해결 방법

백업용 브랜치를 새로 만들어 내용을 임시로 커밋한 다음 A로 다시 푸시하는 방법을 사용했다.

이 방법이 최선인지는 모르겠지만, 급하게 브랜치를 바꿨다가 작업 내용이 반영되지 않거나, 브랜치들을 머지시키는 것 보다는 나은 것 같다.

1. 현재 브랜치(B)에서 변경 내용 커밋:

git add .
git commit -m "현재 브랜치에서의 변경 내용"

2. 현재 브랜치에서 변경 내용을 백업 브랜치로 푸시:

git branch 백업브랜치(BackUp)
git push origin 백업브랜치(BackUp)

3. 본래의 브랜치로 이동:

git checkout A

4. 현재 브랜치(B) 브랜치의 변경 내용을 되돌리기:

git reset --hard HEAD^  # 하나 전의 커밋으로 되돌리기

만약 원격 저장소에 이미 푸시한 상태라면 다음과 같이 강제 푸시가 필요할 수 있다.

⚠️ 경고: 강제 푸시는 해당 브랜치의 변경 내용이 손실될 수 있으므로 협업 중에는 해당 브랜치의 담당자와 미리 상의 후 사용해야 한다.

git push origin A --force

충돌 발생 시 충돌을 해결한 후 해당 명령어를 사용하여 계속 진행할 수 있다.

git cherry-pick --continue

6. 변경 내용 푸시:

git push origin 본래의 브랜치(A)

개인 프로젝트 시에는 참고할 수 있는 명령어이지만 협업 시에는 반영하기 어려운 해결 방법인 것 같다.

협업 시에는 미리 해당 담당자와 상의하거나 다른 해결 방안을 모색하는 것이 좋을 것 같다.

post-custom-banner

0개의 댓글