[git] 포크 리포지토리에서 풀 요청을 업데이트하는 방법은 무엇입니까?

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

풀 요청을 검토 한 후 repo 소유자가 수락하기 전에 원하는 변경 사항이 많이있었습니다. 포크에서 변경을 했으므로 이제 풀 요청을 해당 변경으로 업데이트하는 방법은 무엇입니까?



답변

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

  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

… 이제 풀 요청에 단 하나의 커밋이 포함됩니다.


rebasing에 대한 관련 링크 :


답변

풀 요청이 참조하는 브랜치로 푸시하십시오. 풀 요청이 여전히 열려있는 한 추가 된 커밋으로 자동 업데이트됩니다.


답변

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

  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. 풀 커밋은 추가 커밋으로 자동 업데이트됩니다. 풀링 된 요청은 포크의 분기와 차이점을 나타 내기 때문입니다. 풀 요청 페이지 (귀하와 다른 사람이 풀 요청에 주석을 달 수있는 페이지)로 이동하면 커밋 탭에 추가 커밋이 있어야합니다.

따라서 직접 변경하기 전에 풀 요청에 적용 할 각 변경 세트에 대한 브랜치를 작성해야합니다. 이렇게하면 끌어 오기 요청을 한 후에 다른 분기를 만들어 이전 끌어 오기 요청에 영향을주지 않고 다른 작업 / 기능 / 버그 수정 작업을 계속할 수 있습니다.


답변