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가 갱신되는 것을 확인할 수 있다.