[github] 풀 요청의 기본 분기를 변경하는 방법은 무엇입니까?

GitHub의 프로젝트에서 특정 원격 지점에 대한 풀 요청을 생성했습니다. 얼마 후 원격 지점이 삭제되었습니다.

다른 브랜치를 가리 키도록 풀 요청을 어떻게 변경할 수 master있습니까 (특히 )?



답변

업데이트 됨 : Michael 아래에 언급했듯이 이제 가능합니다 .

이제 열린 풀 요청의 기본 분기를 변경할 수 있습니다. 풀 요청을 생성 한 후에는 풀 요청의 변경 사항이 다른 분기와 비교되도록 기본 분기를 수정할 수 있습니다. 올바른 기본 브랜치로 새 요청을 여는 대신 원래 풀 리퀘스트의 기본 브랜치를 변경하면 귀중한 작업과 토론을 유지할 수 있습니다.

Edit풀 리퀘스트 제목 옆에 있는 버튼을 클릭하면 기본 브랜치 선택기가 표시됩니다.

풀 요청의 기본 브랜치를 변경하는 방법에 대한 애니메이션 예제입니다.


이전 답변

당신은 할 수 없습니다. 새로운 풀 리퀘스트를 만드십시오.


답변

문서화되지는 않았지만 GitHub REST API를 사용하여이를 수행 할 수 있습니다.

API 사용은 이 답변에 설명되어 있지만 기본적으로 다음과 같은 REST 요청을 발행 할 수 있습니다.

$ curl --user "tom" \
       --request PATCH \
       --data '{"issue": "15", "head": "tom:new-branch", "base": "master"}' \
       https://api.github.com/repos/fred/fabproj/pulls

이것은 포크 fred/fabprojnew-branch브랜치 를 사용하기 위해 리포지토리에서 이슈 15로 구현 된 풀 리퀘스트를 변경합니다 tom/fabproj.

편집 : 참고 : 의견에 따르면 위의 내용은 기존 문제에 새로운 pull 요청을 첨부 하기위한 것 입니다.


답변

2016 년 8 월 15 일부터 Github 를 통해 기본적으로 가능합니다 .

이제 열린 풀 요청의 기본 분기를 변경할 수 있습니다. 풀 요청을 생성 한 후에는 풀 요청의 변경 사항이 다른 분기와 비교되도록 기본 분기를 수정할 수 있습니다. 올바른 기본 브랜치로 새 요청을 여는 대신 원래 풀 리퀘스트의 기본 브랜치를 변경하면 귀중한 작업과 토론을 유지할 수 있습니다.


답변

대상 지점을 변경할 수 있습니다. PR에서 대상 브랜치의 이름을 편집 할 수없는 것은 사실입니다. 그러나 트릭은 분기의 이름을 다른 것으로 바꾸고 대상 분기의 이름을 이미 PR에있는 현재 분기로 변경하는 것입니다.

예 : 내 PR의 이름은 “dev-4.9″입니다. “qa-4.9″라는 또 다른 분기가 있습니다. 내가 원하는 것은 “qa-4.9″가 PR 대상 분기 여야한다는 것입니다. 단계 : 1 1) “dev-4.9″브랜치의 이름을 “original-dev-4.9″로 변경합니다.

git checkout dev-4.9
git branch -w original-dev-4.9
git push origin original-dev-4.9

2) “qa-4.9″분기의 이름을 “dev-4.9″로 변경합니다.

git checkout qa-4.9
git branch -w dev-4.9
git push origin dev-4.9 -f (force push to write entire branch to reflect dev-4.9)

3) PR URL을 새로 고침하고 거기에 반영된 qa-4.9의 커밋을 확인합니다.


답변

PR과 연결된 모든 주석을 삭제 된 분기로 잃는 대신 :

  1. 병합하려는 브랜치가 가진 동일한 이름과 내용으로 로컬에서 브랜치를 다시 만듭니다.
  2. 해당 분기를 푸시하여 원격 분기를 다시 만듭니다. 그리고
  3. 지점에 대한 PR을 다시 엽니 다.

예를 들어, 삭제 된 branch1에 대한 PR이 있습니다. 이제 마스터로 병합하고 기존 PR에 대한 주석을 유지하려고합니다.

  1. git checkout master
  2. git pull
  3. git checkout -b branch1
  4. git push
  5. 귀하의 PR을 branch1에 다시 엽니 다.
  6. branch1에 병합되면 마스터에 병합됩니다.

이것은 약간 해키하지만 많은 댓글을 삭제하는 것보다 훨씬 낫습니다.


답변

Github는 이제이를 지원합니다. PR 오른쪽 끝에있는 편집 버튼.


답변

이론에 의하면…

github api 를 사용해야 합니다.

예 : curl로 pull 요청 편집

curl --user "your_github_username" \
     --request PATCH \
     --data '{"title":"newtitle","body":"newbody",...}' \
     https://api.github.com/repos/:owner/:repo/pulls/:number

github 개발자 문서 에서 자세한 데이터 목록을 찾을 수 있습니다.

예 : 내 풀 리퀘스트 이름 변경

curl --user "jeremyclement" \
     --request PATCH \
     --data '{"title":"allows the control of files and folders permissions."}' \
     https://api.github.com/repos/Gregwar/Cache/pulls/9

하지만 실제로는 …

필드 head/labelhead/ref편집 할 수없는 것 같습니다 . 현재로서는 유일한 해결책 은 Amber