Why should I know this?

[Git] Git 관련 활용법 모음 본문

Technic

[Git] Git 관련 활용법 모음

die4taoam 2024. 1. 20. 06:56

 

* 상황

1. fix-issue-001 이란 이름으로 만든 Branch에서 작업 후 Github에서 Pull Request 를 보낸 후

2. Remote의 fix-issue-001 Branch를 삭제하고

3. 새로 만든 동일한 이름의 fix-issue-001 Branch로 force-push 한 경우

 

* 문제

위와 같이 Branch를 새로 만든 후 push 한 경우, 이미 보낸 Pull Request로 갱신이 되지 않는다.

물론 PR을 새로 올리는 것도 방법이지만, 이미 보내놓은 PR에서 의견 소통이 이뤄진 경우 이 흔적을 지우는건 좋지 않다.

 

* 해결책

먼저 현재의 브랜치 fix-issue-001 를 이름을 변경한다. 대충 fix-issue-001___ 로 변경했다고 치자.

과거의 브랜치를 복구한다 git reflog 를 사용하면 된다 관련 사용법은 검색

PR을 보냈던 fix-issue-001 를 복구한 뒤 git rebase로 과거 커밋을 모두 삭제한다.

git rebase fix-issue-001___ 로 새로 작업했던 브랜치의 내용을 가져온다.

 

이후 force-push 하면 과거 보냈던 Pull-Request가 갱신되는 것을 확인할 수 있다.

 

Comments