Program Tip

분기 된 저장소에서 풀 요청을 업데이트하는 방법은 무엇입니까?

programtip 2020. 10. 3. 11:36
반응형

분기 된 저장소에서 풀 요청을 업데이트하는 방법은 무엇입니까?


그래서 먼저 리포지토리를 포크 한 다음 포크 된 리포지토리에 커밋했습니다. 그런 다음 풀 요청을 열었습니다. pull 요청은 내가 원하는 모든 변경 사항을 나열했습니다.

내 풀 요청을 검토 한 후 리포지토리 소유자가 수락하기 전에 원하는 변경 사항이 많이있었습니다. 포크에서 이러한 변경을 수행했습니다. 이제 해당 변경 사항으로 풀 요청을 업데이트하려면 어떻게해야합니까 (또는 처리해야하는 방법이 아님)?


당신은 그것을 올바르게했습니다. pull 요청이 자동으로 업데이트됩니다. 과정은 다음과 같습니다.

  1. 풀 요청 열기
  2. 로컬 리포지토리의 피드백을 기반으로 변경 사항 커밋
  3. 포크의 관련 지점으로 푸시

풀 리퀘스트는 풀 리퀘스트 토론의 맨 아래에 자동으로 새로운 커밋을 추가합니다 (즉, 이미 거기에 있고 아래로 스크롤! )


GitHub에서 풀 요청을 업데이트하는 것은 원하는 변경 사항을 기존 브랜치 (풀 요청과 함께 사용됨)에 커밋하는 것만큼이나 간단하지만, 종종 변경 사항을 단일 커밋으로 스쿼시하고 싶을 수도 있습니다.

git checkout yourbranch
git rebase -i origin/master

# Edit command names accordingly
  pick   1fc6c95 My pull request
  squash 6b2481b Hack hack - will be discarded
  squash dd1475d Also discarded

git push -f origin yourbranch

... 그리고 이제 풀 요청에는 하나의 커밋 만 포함됩니다.


리베이스에 대한 관련 링크 :


풀 요청이 참조하는 브랜치로 푸시하면됩니다. 풀 요청이 아직 열려있는 한 추가 된 커밋으로 자동으로 업데이트되어야합니다.


아래 단계를 사용하여 수행했습니다.

  1. git reset --hard <commit key of the pull request>
  2. 내가 원하는 코드를 변경 했습니까?
  3. git add
  4. git commit --amend
  5. git push -f origin <name of the remote branch of pull request>

Windows에서 GitHub를 사용하는 경우 :

  1. 로컬에서 변경하십시오.
  2. GitHub를 열고 로컬 저장소로 전환 한 다음 저장소를 두 번 클릭합니다.
  3. 분기 (창 상단 근처)를 풀 요청을 생성 한 분기 (예 : 비교의 포크 쪽 분기)로 전환합니다.
  4. 오른쪽에 커밋 주석을 입력하고 로컬 리포지토리에 변경 사항을 커밋하는 옵션이 표시되어야합니다.
  5. 상단의 동기화를 클릭하면 커밋이 로컬에서 GitHub의 원격 포크로 푸시됩니다.
  6. 풀 요청은 추가 커밋으로 자동 업데이트됩니다. 풀된 요청이 포크의 브랜치와의 차이를 나타 내기 때문입니다. 풀 요청 페이지 (귀하와 다른 사람들이 풀 요청에 대해 주석을 달 수있는 페이지)로 이동하면 커밋 탭에 추가 커밋이 있어야합니다.

이것이 직접 변경을 시작하기 전에 풀 요청에 추가하려는 각 변경 세트에 대해 브랜치를 생성해야하는 이유입니다. 이렇게하면 일단 풀 요청을하면 다른 분기를 만들고 이전 풀 요청에 영향을주지 않고 다른 작업 / 기능 / 버그 수정 작업을 계속할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/9790448/how-to-update-a-pull-request-from-forked-repo

반응형