[Git/GitHub] git rebase from master into feature branch PR shows all files changed
# git rebase from master into feature branch PR shows all files changed
(master에서 feature 브랜치로 rebase 후 pull request에 모든 변경 파일들이 보여져요.)
저도 위 질문작성자의 경우와 마찬가지로, feature 브랜치에서 작업한 내역에 대해 PR을 열어놓은 상태에서 작성자와 마찬가지로 git checkout master → git pull origin master → git checkout feature/ayi → git rebase master → git add 및 commit → git push origin feature/ayi 정확히 이 순서대로 진행을 했고 작성자와 정확히 동일한 이슈가 발생했습니다.
즉 push를 하고 나서, open 되어있던 풀리퀘를 보니, 원래라면 방금 제가 push한 feature 브랜치 내의 변경사항들만 보여져야 하는데 master 브랜치에서의 작업 내용들도 모두 포함이 되어있었읍니다.
![](https://t1.daumcdn.net/keditor/emoticon/niniz/large/039.gif)
스택오버플로우를 뒤져봐도 ... 증상과 해결방법만 나와있을 뿐.. 근본적인 원인은... 찾지 못하였네요..
우선 이 이슈가 발생한 상황은 아래와 같습니다.
① main(master) 브랜치가 아닌 다른 브랜치에서 작업을 함.
② main(master) 브랜치에서 feature 브랜치로 rebase 후 원격 저장소의 feature 브랜치로 push
③ pull request
④ 해당 작업 내역이 main(master) 브랜치로 아직 merge 되지 않은 상태에서 main(master) 브랜치에서 다른 작업 진행
⑤ 다시 ①부터 ③까지의 과정을 반복
⑤ 짜잔~
작성자분이 질문 올리신 지 한시간 만에 해결방법을 찾아서 본인 질문에 답변을 달아주셨더라구요! 이대로 따라한 덕분에 일단 급한대로 해결은 했습니다. (물론 사용하지 않는 repo에서 테스트 먼저 해봤습니당. 인터넷에서 알려준 명령어 아무거나 복붙했다가 파일을 다 날려버렸다는 끔찍한 괴담을 아시는지요 ... 😨) 해결방법은 다음과 같습니다.
새로 push를 하기 전에 우선 내가 올렸던 PR이 닫혀져 있는 상태인지 보고, 만약 아직 PR이 열려있는데 그 사이에 main 브랜치에 새로운 push 내역이 있다? 그렇다면 이미 작성해 둔 PR은 close 해주시고 해당 feature 브랜치를 GitHub에서만 지워주세요. (로컬저장소에 있는 브랜치를 지워버린다면 참 슬픈 상황이 생기겠죠...?) 그리고 feature 브랜치의 작업 내역을 push 하신 뒤 새로운 PR을 작성해주세요.
이렇게 하면 files changed 등에 feature 브랜치 작업 내역만 올라가게 됩니다~ 단점이라면 closed 된 PR 내역이 남는다는 정도겠네요..? closed 된 PR은 GitHub 측에 문의하지 않는 한 지울 수 없다고 합니다~ (참고)
끝~
![](https://t1.daumcdn.net/keditor/emoticon/niniz/large/023.gif)