it-source

끌어오기 요청을 Github의 기본값이 아닌 다른 분기에 병합

criticalcode 2023. 8. 19. 10:25
반응형

끌어오기 요청을 Github의 기본값이 아닌 다른 분기에 병합

Github에 호스팅된 제 레포에 풀 요청이 들어옵니다.으로 됩니다.master분점.

변경 사항이 어느 지점으로 통합되는지 변경할 수 있는 방법이 있습니까?

2016년 8월 15일 현재 GitHub는 GUI를 통해 풀 요청의 대상 분기를 변경할 수 있습니다.클릭Edit제목 옆에 있는 다음 드롭다운에서 분기를 선택합니다.

screenshot

이제 열린 꺼내기 요청의 기본 분기를 변경할 수 있습니다.풀 요청을 만든 후에는 풀 요청의 변경 내용을 다른 분기와 비교하도록 기본 분기를 수정할 수 있습니다.올바른 기본 분기로 새 풀 요청을 여는 대신 원래 풀 요청의 기본 분기를 변경하면 귀중한 작업과 토론을 유지할 수 있습니다.

제출자는 꺼내기 요청을 발행할 때 변경할 수 있지만, 일단 요청을 발행하면 변경할 수 없습니다.

반면에, 당신은 수동으로 그들의 분기와 푸시를 병합할 수 있는데, 나는 잘못 겨냥된 꺼내기 요청에 대해 이것을 반규칙적으로 합니다.

보석은 당김 요청의 구성 요소를 사용하는 데 도움이 될 수 있습니다.

이 보석은 수동 프로세스를 마무리합니다. 다음과 같습니다.

  1. 포크 리모컨을 로컬 체크아웃에 추가합니다.
  2. 리모콘 가져와요.
  3. git checkout ${target_branch} && git merge ${remote}/${branch}
  4. git push origin ...

다른 답변에서 언급한 허브 보석을 사용하는 대신 명령줄을 사용하여 풀 요청을 로컬로 병합하여 다음 작업을 수행할 수 있습니다.

$ git fetch origin
$ git checkout *target_branch*
$ git merge pr/XXX
$ git push origin *target_branch*

위의 명령은 다음 행을 처음에 에 추가한 경우에만 직접 작동합니다..git/config파일 이름:

fetch = +refs/pull/*/head:refs/remotes/symbolic_name_origin_or_upstream/pr/*

이렇게 하면 모든 풀 요청을 다운로드할 수 있습니다.거대한 저장소에 대해 바람직하지 않을 수 있기 때문에 GitHub은 지침을 수정하여 다음을 특징으로 합니다.git fetch origin pull/ID/head:BRANCHNAME구문: 구성 파일의 수정을 방지하고 해당 단일 풀 요청만 다운로드합니다.

사용자의 것이 아니므로 기존 꺼내기 요청을 변경할 수는 없지만, 관련 원본 리포지토리가 여전히 존재하는 경우에는 다른 사용자의 것이라도 쉽게 새 꺼내기 요청을 만들 수 있습니다.

제출자의 리포지토리로 이동한 다음 동일한 커밋을 사용하여 리포지토리에 새 꺼내기 요청을 생성하지만 올바른 대상 분기를 설정해야 합니다.

그런 다음 자신의 리포지토리로 돌아가서 새 꺼내기 요청을 수락합니다.Voila!

Daniel Pittman의 솔루션에는 아무런 문제가 없지만, 저는 이러한 합병을 "빠른 진전이 없음", 즉 3단계를 다음과 같이 변경하는 것으로 간주합니다.

git checkout ${target_branch} && git merge --no-ff ${remote}/${branch}

을 사용하여--no-ff역사를 읽는 것이 더 쉬울 것입니다.라고 분명히 말할 것입니다.$n에서 발생한 커밋$branch그리고 그 지점에서 수행한 작업을 되돌려야 할 경우에도 삶이 더 편해질 것입니다.

또한 eoinoc의 질문에 답변하고 추가 팁을 제공하려면 다음과 같이 하십시오.

병합을 수행한 후, Gitcli는 메시지를 작성하라는 메시지를 표시할 것이며, 일반적으로 다음과 같은 말을 하는 일반적인 메시지가 나타납니다.

원격 추적 분기 'user/their-branch'를 사용자-branch로 병합

해당 메시지를 편집하고 꺼내기 요청 번호에 대한 참조를 포함해야 합니다.즉, (Pull 요청 번호가 123이라고 가정)

원격 추적 분기 'user/their-branch'를 사용자-branch로 병합

ref #123 무엇이든 해결...

다음 번에 github issue/pull-requests 페이지를 방문하여 특정 pull 요청을 확인하면 병합한 위치를 커밋할 수 있는 링크가 포함된 메시지가 표시됩니다.

여기 제가 의미하는 스크린샷이 있습니다.

enter image description here

그렇게 하려면 저장소의 홈 페이지로 이동하여 분기를 클릭하고 기본 분기를 마스터에서 다른 분기로 변경합니다.

그 후, 누군가 풀 요청을 만들 때마다merge버튼을 누르면 요청이 마스터가 아닌 "dev"로 자동 병합됩니다.

enter image description here

언급URL : https://stackoverflow.com/questions/9135913/merge-pull-request-to-a-different-branch-than-default-in-github

반응형