0

나는 한동안 repo를 포크했고, 최근에 새로운 지점을 만들고, 약간의 변경을 가하고, 원래 저장소에 pull 요청을 제출했습니다. 문제는 변경하기 전에 원격 사본을 업스트림 저장소로 업데이트하는 것을 완전히 잊었다는 것입니다 (Github Desktop의 "동기화"가이 문제를 처리 한 것으로 생각했습니다). 이제 변경 사항이 완전히 부적절하며 다시 시작하고 싶습니다.오래된 분기를 사용하여 분기를 생성하고 제출 요청을 제출했습니다. 지금 뭐야?

원격 복사의 마스터 분기를 업데이트하여 시작했습니다. 하지만 지금은 풀 요청에있는 완전히 쓸모없는 가지가 있습니다.

지금보다 더 많은 멍청한 놈을 보지 않고 어떻게해야합니까?

  • 분기를 삭제하고 새로운 것을 만들어서 다시 시작합니까? 이것은 제출 된 PR에 어떤 영향을 미칩니 까?
  • 업데이트 된 마스터로 지점을 업데이트 한 다음 모든 충돌을 처리합니까?
  • 내 지점의 모든 변경 사항을 제거한 다음 다시 시작합니까?

나는 현재의 것보다 더 많은 혼란을 피하기를 원한다. 따라서이 경우에 세부적인 단계가 많이 평가 될 것이다. 나는 그것이 더 깨끗한 과정이 될 것이라면 처음부터 다시 시작해야한다고 생각하지 않는다.

답변

1

당신이 당신의 PR을 구축하고자하는 상류 지점 (가정 마스터) 모든 충돌

$ git fetch upstream 
$ git rebase upstream/master 

거래에 지점을 리베이스 기원에 지점을 강제-밀어

$ git push --force origin <branch name> 

PR이 자동으로 업데이트됩니다.

+0

아 좋아, 나는 이것이 옵션 2와 가장 비슷하다고 생각한다. 그렇다면이 광고는 어떻게 보일 까? 이전 커밋이 사라지거나 이전 커밋을 되 돌리는 다른 커밋이 있습니까? – pbreach

+0

'$ git rebase 업스트림/마스터'후에'맨 처음으로 되감기 헤드로 작업 내용을 다시 재생합니다 ... 오류 : 다음과 같은 추적되지 않은 작업 트리 파일은 체크 아웃으로 덮어 쓰게됩니다. 이동하거나 제거하기 전에 분기를 전환 할 수 있습니다. 중단 중'그 파일을 삭제합니까? – pbreach

+1

추적되지 않은 파일을'git clean -df'로 버리거나 표준 방식으로 커밋하십시오. 머리가 깨끗 해지면 rebase를하십시오. PR의 이전 커밋은 사라지고 이전 코드에 대한 의견이 있으면 "오래된 diff에 주석 처리 됨"이라고 표시됩니다. – Finwe