2023년 8월 29일 화요일

git rejected error(feat. cherry-pick)

 문제


아무 생각 없이 pull을 받지않고 로컬에서 작업! 커밋, 푸시 진행을 해버렷다.


push에선 remote와 다르니 당연히 pull을 진행해라고 하지만


로컬에서 작업한 내용을 백업하지 않고 진행하기에는 부담스럽다(로컬작업 유실 가능성)


해결하려면 다음 방법을 쓰면 된다.



현재 실패한 상황 기준으로

1. git branch temp를 만들어 백업을 만든다.

2. git push origin temp 해서 remote에 백업을 올린다.

3. 다시 작업할 브랜치로 checkout 한다.

4. git fetch --all #remote에 있는 내 최신화된 저장소 정보를 받아온다.

5. git reset --hard origin/{작업브랜치} # origin/{작업브랜치} 의 commit 상황을 hard하게(강제로) 덮어씌운다

#자동 병합이 안된다면 다시 수동 병합 후 저장->add->commit 까지 평소처럼 진행

6. git log --branches --oneline # temp브랜치의 아이디를 확인

7. git cherry-pick [아이디7자리] #명령어를 입력하면 commit을 가져오면서 충돌이 있던 파일도 자동으로 병합해줌

#자동 병합이 안된다면 다시 수동 병합 후 저장->add->commit 까지 평소처럼 진행

8. git log 명령어로제대로 된지 확인

9. 성공적으로 잘 적용 됫다면 git push명령어로 remote에 적용하고 마무리!

댓글 없음:

댓글 쓰기

git rejected error(feat. cherry-pick)

 문제 아무 생각 없이 pull을 받지않고 로컬에서 작업! 커밋, 푸시 진행을 해버렷다. push에선 remote와 다르니 당연히 pull을 진행해라고 하지만 로컬에서 작업한 내용을 백업하지 않고 진행하기에는 부담스럽다(로컬작업 유실 가능성) 해결하려...