programing

꺼내기 요청에서 GitHub 클론?

muds 2023. 7. 20. 22:12
반응형

꺼내기 요청에서 GitHub 클론?

GitHub에서 저장소를 복제하고 싶습니다.문제는 제가 메인 브랜치를 원하지 않는다는 것입니다. 저는 승인되지 않은 풀 요청의 버전을 원합니다.

메인 저장소 대신 pull 요청 버전을 복제할 수 있습니까?

가장 쉬운 방법은 다음과 같습니다.

git fetch origin pull/2/head
git checkout -b pullrequest FETCH_HEAD

이제 꺼내기 요청 상태의 새 분기에 있게 됩니다.

를 실행하여 별칭을 설정할 수 있습니다.

git config --global alias.pr '!f() { git fetch -fu ${2:-origin} refs/pull/$1/head:pr/$1 && git checkout pr/$1; }; f'

이제 실행하여 모든 PR을 확인할 수 있습니다.git pr <pr_number>또는git pr <pr_number> <remote>Github 리모컨의 이름이 지정되지 않은 경우origin.

당신은 다을사원분복수있제습다니기할을 할 수 .-b옵션 및 꺼내기 요청의 경우:

git clone https://github.com/user_name/repo_name.git -b feature/pull_request_name dir_name

요청의 입니다.feature/mongoose-support):

git clone https://github.com/berstend/frappe.git -b feature/mongoose-support ./mongoose-support
git fetch origin refs/pull/PR_NUMBER/head:NEW_LOCAL_BRANCH

예:

git fetch origin pull/611/head:pull_611
git checkout pull_611

GitHub의 포크에서 변경, 커밋, 푸시 및 새 PR 열기

git clone git://github.com/dweldon/frappe
cd frappe
git pull origin pull/2/head

소유하지 않은 분기에 대해 병합되지 않은 풀 요청을 가져오려면 어떻게 해야 합니까?

이 안내서의 지시에 따라 저장소 및 분기를 확인하지 않고도 원격에서 직접 체크아웃할 수 있습니다.

사용 예

중 .py )에 다음과 같은 .github3.py/.git/config

[remote "github"]
    fetch = +refs/heads/*:refs/remotes/github/*
    fetch = +refs/pull/*/head:refs/remotes/github/pr/*
    url = git@github.com:sigmavirus24/github3.py

번째 은 모든 으로 사용되는 입니다. 단, " "는 입니다.github원격의 이름으로 대체됩니다., 헤드는 ""된 " 원격" 에 "매핑"됩니다.github/그래서 내가 그랬다면,git fetch githubGitHub에 있는 브랜치가 제 컴퓨터에서 로컬로 인식되지 않았습니다. 브랜치를 다운로드하면 다음과 같이 전환할 수 있습니다.git checkout -t github/branch_name.

두 번째 줄은 동일한 작업을 수행하지만 표준 깃 분기 대신 풀 요청에 대해 수행합니다.그게 네가 보는 이유야.refs/pull/*/head각풀 GitHub 각풀요헤가매서핑다합니져에 .github/pr/#따라서 누군가 꺼내기 요청을 보내고 번호가 62(예: 62)인 경우 다음 작업을 수행합니다.

git fetch github
git checkout -t github/pr/62

은 그고당신지있것을입다니점지에역은리▁called▁branch라는 지역 지점에 있을 입니다.pr/62(이미 존재하지 않는 경우).이는 다른 사람의 원격 또는 지점을 추적할 필요가 없다는 것을 의미합니다.

사용자가 꺼내기 요청을 제출할 때 일부 변경사항을 포크 복제본의 분기에서 다른 사용자의 리포지토리로 다시 병합하도록 요청합니다.

원하는 변경 사항은 꺼내기 요청의 원본에서 가져올 수 있습니다.이렇게 하려면 사용자의 리포지토리를 복제합니다.git://github.com/berstend/frappe.git), 그런 다음 (에서 끌어오기 요청을 작성한 분기를 확인합니다.feature/mongoose-support).

PR을 현재 분기로 끌어오려면 다음을 사용합니다.

git pull origin pull/418/head

여기서pull/{no. of PR}/head

enter image description here

Github의 공식적인 새로운 명령줄 인터페이스:

gh repo clone org/repo
cd repo
gh pr checkout 44

어디에44PR 번호이지만 지점 이름일 수도 있습니다.


자세한 내용과 옵션설치 지침을 참조하십시오.

나에게, 그것은 매우 단순했습니다.

git fetch origin pull/4/head

어디에4다음 항목이 발견되었습니다.

enter image description here

git-extras 설치 후

(cd /tmp && git clone --depth 1 https://github.com/tj/git-extras.git && cd git-extras && sudo make install)

간단히 사용할 수 있습니다.

$ git pr 62 [remote]

PR을 나열하고 가져오기 위한 비트 버킷 규칙:

git ls-remote origin 'refs/pull-requests/*'
git fetch origin refs/pull-requests/998/from:local-branch-name

전문 기사: https://www.atlassian.com/git/articles/pull-request-proficiency-fetching-abilities-unlocked

해당 끌어오기 요청은 해당 사용자의 포크에서 커밋을 표시하여 사용자가 변경 내용을 다음에서 푸시하고 있음을 알 수 있습니다.feature/mongoose-support분점.

당신은 그의 저장소를 복제하고 그 지점을 체크아웃할 수 있습니다.

"-b" 옵션이 있는 수락된 답변은 저에게 효과가 없었습니다. 그래서 저는 이렇게 되었습니다.Github에서 pull 요청이 생성되면 아래와 같은 내용을 볼 수 있는 페이지로 이동합니다. 여기서 'ogryb'는 내 사용자 이름이고 'patch-1'은 자동으로 생성된 이름입니다.

enter image description here

이제 오른쪽에서 강조 표시된 이름을 클릭하기만 하면 다음 링크가 있는 페이지로 이동합니다.

enter image description here

녹색 "코드" 단추의 오른쪽을 클릭하여 복제 또는 기존 꺼내기 요청에 추가 변경사항을 추가하는 데 사용할 수 있는 개인화된 Git 링크를 확인합니다.

언급URL : https://stackoverflow.com/questions/14947789/github-clone-from-pull-request

반응형