이전에 생성 된 풀 요청 (GitHub 웹 인터페이스를 통해 생성 됨)을 확인하고 싶습니다. refs / pull 또는 refs / pull / pr이있는 다른 장소를 검색하고 찾았습니다.
그러나 fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
git config 파일에 추가 하고 git fetch를 수행하면
내가 뭘 잘못하고 있니? GitHub가 pull / xyz 항목을 자동으로 생성해야합니까, 아니면 무언가를 구성해야합니까?
답변
로컬 PR에 원격 PR을 가져 오려면
git fetch origin pull/ID/head:BRANCHNAME
여기서 ID
pull 요청 ID BRANCHNAME
는 작성하려는 새 분기의 이름입니다. 지점을 만들면 간단히
git checkout BRANCHNAME
자세한 내용은 공식 GitHub 설명서 를 참조하십시오.
답변
답변
그 요점 은 git fetch를 할 때 일어난 일을 설명합니다.
분명히 github url을 프로젝트의 URL과 일치하도록 변경하십시오. 다음과 같이 보입니다.
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@github.com:joyent/node.git
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
이제 모든 풀 요청을 가져옵니다.
$ git fetch origin
From github.com:joyent/node
* [new ref] refs/pull/1000/head -> origin/pr/1000
* [new ref] refs/pull/1002/head -> origin/pr/1002
* [new ref] refs/pull/1004/head -> origin/pr/1004
* [new ref] refs/pull/1009/head -> origin/pr/1009
...
특정 풀 요청을 확인하려면 다음을 수행하십시오.
$ git checkout pr/999
Branch pr/999 set up to track remote branch pr/999 from origin.
Switched to a new branch 'pr/999'
해당 작업을 자동화하기 위해 문제 259 에 나열된 다양한 스크립트가 있습니다 . 자식 – 엑스트라의 프로젝트는 명령 제안 (구현 PR 262 )git-pr
git-pr
(1)-풀 요청을 로컬로 체크 아웃
개요
git-pr <number> [<remote>]
git-pr clean
기술
GitHub 풀 요청 번호를 기반으로 로컬 브랜치를 생성 한 후 해당 브랜치로 전환합니다.
가져올 원격의 이름입니다. 기본값은
origin
입니다.실시 예
풀 요청
226
을origin
다음 에서 확인합니다 .
$ git pr 226
remote: Counting objects: 12, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 12 (delta 3), reused 9 (delta 3)
Unpacking objects: 100% (12/12), done.
From https://github.com/visionmedia/git-extras
* [new ref] refs/pull/226/head -> pr/226
Switched to branch 'pr/226'
답변
로컬 브랜치를 만들지 않고 페치 및 체크 아웃 하고 HEAD 분리 상태 에 있는 것을 선호합니다 . 불필요한 로컬 브랜치로 로컬 시스템을 오염시키지 않고 풀 요청을 신속하게 확인할 수 있습니다.
git fetch upstream pull/ID/head && git checkout FETCH_HEAD
여기서 ID
pull 요청 ID upstream
는 어디에 있고 원래 pull 요청은 어디에서 만들어 졌는가 ( origin
예 🙂 일 수 있습니다 .
도움이 되길 바랍니다.
답변
Steven Penny의 답변을 참조하면 테스트 브랜치를 만들고 PR을 테스트하는 것이 가장 좋습니다. 여기 당신이 할 일이 있습니다.
- PR을 로컬로 병합 할 테스트 분기를 작성하십시오. 마스터 브랜치에 있다고 가정합니다.
git checkout -b test
- 테스트 브랜치로 PR 변경 사항 가져 오기
git pull origin pull/939/head:test
이제이 로컬 테스트 브랜치 (이 경우 test ) 의 변경 사항을 안전하게 테스트 할 수 있으며 일단 만족하면 GitHub에서 평소대로 병합 할 수 있습니다.
답변
답변
저장소에서 풀 요청을 가져 오기 위해 git config
command를 사용 하여 새 규칙을 작성할 수 있습니다 .git/config
.
$ git config --local --add remote.origin.fetch '+refs/pull/*/head:refs/remotes/origin/pr/*'
그리고 그냥 :
$ git fetch origin
Fetching origin
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 4 (delta 2), reused 4 (delta 2), pack-reused 0
Unpacking objects: 100% (4/4), done.
From https://github.com/container-images/memcached
* [new ref] refs/pull/2/head -> origin/pr/2
* [new ref] refs/pull/3/head -> origin/pr/3