GitHub의 명령 행에서 풀 요청을 발행 할 수 있습니까?


298

풀 요청을 시작하려면 github.com과 상호 작용해야합니다. 그래요?


2
풀 요청을 수행하기 위해 API에서 아무것도 보지 못했습니다. develop.github.com
Adam Vandenberg


1
어떤 운영 체제를 사용 하시겠습니까?
IgorGanapolsky

Windows 8 또는 10에서이를 수행하는 방법은 무엇입니까?
Mathivanan KP

누군가 관심이 있다면 이것을 위해 bash 스크립트 를 만들었습니다 .
mvr

답변:


114

업데이트 : 허브 명령은 이제 공식 github 프로젝트이며 풀 요청 생성을 지원 합니다.

원래 :

허브 명령에 추가하는 것이 특히 유용한 것 같습니다 : http://github.com/defunkt/hub 또는 github gem : http://github.com/defunkt/github-gem

요청하는 프로젝트에 문제를 제기하는 것이 좋습니다. github 사람들은 매우 반응이 좋습니다.


8
github-gem에는 연령대에 대한 풀 요청을 생성하는 기능이 포함되었습니다 gh pull-request [user] [branch].
Holger Just

6
Github이 먼저 repo를 포크하지 않고 작동합니까 (즉, 소스 repo의 직접 복제본에서)?
Hari Karam Singh

1
@Holger Just and other : 풀 풀 요청의 텍스트를 생성하고 on-Github 포크의 필요성을 우회하지 않습니다. 아직 그 길을 찾지 못했습니다. 나는 곧 게시 된 'pullr'유틸리티를 시도하려고합니다. 사람들이 github-gem에서 전체 풀 요청 지원을 요청하는 문제에 대해서는 여기 를 참조 하십시오 .
mateor

1
빠른 명령 사용 hub:hub pull-request -m "message pull request" -b master -h your_branch
구자라트 산타나

그것은 그러나 빠른 풀 요청 병합, 위의 문서에서 언급하지 왜 몰라, 체크 아웃 master 브랜치가 할hub merge https://github.com/repo/pull/1
holmberd

53

힘내 이제 하위 명령과 함께 제공 'git request-pull' [-p] <start> <url> [<end>]

여기 에서 문서를 볼 수 있습니다

이 기능이 유용하지만 GitHub의 기능과 정확히 동일하지는 않습니다 .


7
@NathanBasanese 풀 요청을 설명하는 사람이 읽을 수있는 텍스트를 생성합니다. 자식 문서GitHub의에 이 프로젝트 테이너에 공유 REPO에 쓰기 권한을 가진 사람이 (아마도 GitHub의) 전자 메일에 대한 책을 말한다. 관리자는 github의 온라인 풀 요청 프로세스를 사용하지 않고 보낸 풀 요청 텍스트를 검토합니다. 그들은 할 수있는 git pullurl 및 지점의가 로컬 복제에 변경 사항을 병합하여 풀의 요청에 표시된 이들은 github에까지 변경 밀어 넣습니다.
호브

30

으로 허브 명령 줄 랩퍼 당신은 이눔에 연결할 수 있습니다 그리고 당신은 할 수있다 git pull-request

허브 매뉴얼 페이지에서 :

   git pull-request [-f] [TITLE|-i ISSUE|ISSUE-URL] [-b BASE] [-h HEAD]
          Opens a pull request on GitHub for the project that the "origin" remote points to. The default head of the pull request is the current branch. Both base and head of the pull request can be explicitly given in one  of  the  following  formats:  "branch",  "owner:branch",
          "owner/repo:branch". This command will abort operation if it detects that the current topic branch has local commits that are not yet pushed to its upstream branch on the remote. To skip this check, use -f.

          If TITLE is omitted, a text editor will open in which title and body of the pull request can be entered in the same manner as git commit message.

          If instead of normal TITLE an issue number is given with -i, the pull request will be attached to an existing GitHub issue. Alternatively, instead of title you can paste a full URL to an issue on GitHub.

2
허브에 대해 몰랐지만 홈 브루를 통해 사용할 수 있습니다. brew install hub이는 맥 사용자에게는 정답입니다.
wfbarksdale

1
//, Hub에 대한 자세한 정보를 사람들에게 알려줄 수있는 온라인 사이트가 있습니까?
Nathan Basanese

19

같은 사람 검색 ...

man git | grep pull | grep request

준다

git request-pull <start> <url> [<end>]

그러나 이름에도 불구하고 원하는 것이 아닙니다. 문서에 따르면 :

업스트림 프로젝트에 변경 사항을 트리로 가져 오도록 요청하는 요청을 생성하십시오. 표준 출력으로 인쇄 된 요청은 브랜치 설명으로 시작하여 변경 사항을 요약하고 가져올 수있는 위치를 나타냅니다.

@HolgerJust 는 원하는 것을하는 github gem을 언급했습니다.

sudo gem install gh 
gh pull-request [user] [branch]

다른 사람들은 hubgithub 의 공식 패키지를 언급했습니다 .

sudo apt-get install hub

또는

brew install hub 

그때

hub pull-request [-focp] [-b <BASE>] [-h <HEAD>]

3
이것은 보류중인 변경 사항에 대한 요약을 생성하며, Github를 통해 발행되는 풀 요청과 관련이 없습니다
Flov

1
@Flov "This"는 여러분이 그 git request-pull줄 을 의미한다고 가정합니다 . 그렇습니다.하지만 git은 github처럼 풀 요청을 전자 메일로 보내라는 명령이 없습니다. 결국 git config user.email은 사용할 수 있습니다. 특히라는 명령이 pull-request있습니다.
호브

2
Ubuntu의 경우 github-cliPrecise 후에 더 이상 사용할 수없는 것 같습니다 ... 나는 대안을 요청 하는 질문열었습니다 .
IsaacS

7

나는 내 자신을 만들었고 , 나는 그것이 주위에있는 다른 솔루션보다 더 잘 작동한다는 것을 알았 습니다 .

https://npmjs.org/package/pullr


6
복제 된 저장소 내에서 pullr -n을 시도했습니다. Windows 7에서 ... / clonedRepo / undefined / .pullr-token-cache를 여는 동안 오류가 발생했습니다. 사용법 예와 같은 추가 문서가 필요하십니까?
BT

5

최근에 원하는 것을 정확하게 수행하는 도구를 만들었습니다.

https://github.com/jd/git-pull-request

그것은 하나의 명령으로 모든 것을 자동화하고, repo를 포크하고, PR 등을 밀어냅니다. 또한 편집 / 수정이 필요한 경우 PR 업데이트를 지원합니다!


5

풀 별칭을 사용하여 풀 요청을 만들고 있습니다.

alias pr='open -n -a "Google Chrome" --args "https://github.com/user/repo/compare/pre-master...nawarkhede:$(git_current_branch)\?expand\=1"'

2

의 또한 github/hub, 망할 놈에 대한 프록시 역할을 , 지금 (2020 년 2 월)이 cli/cli:

" 명령 줄 경험 강화 : GitHub CLI가 베타 버전입니다 "

풀 요청 생성

지점을 만들고 문제에 설명 된 버그를 해결하기 위해 몇 가지 커밋을 한 다음 gh를 사용하여 기여를 공유하기위한 풀 요청을 만듭니다.

cli / cli pr 생성-https://i1.wp.com/user-images.githubusercontent.com/10404068/74261506-35df4080-4cb0-11ea-9285-c41583009e6c.png?ssl=1

GitHub CLI를 사용하여 끌어 오기 요청을 작성하면 포크가없는 경우 자동으로 포크를 작성하고 분기를 푸시하고 변경 사항을 병합하기 위해 끌어 오기 요청을 작성합니다.


그리고 2020 년 4 월 : " GitHub CLI는 이제 자동 완성 풀 요청 및 사용자 정의 구성을 지원합니다. "

GitHub CLI 0.7에는 베타 사용자가 제공 한 피드백에서 가장 많이 요청 된 기능이 향상되었습니다.
마지막 부 릴리스 0.6 이후로 세 가지 주요 기능이 있습니다.

  • 에서 gh원하는 편집기를 사용하도록 구성 하십시오 gh config set editor [editor].
  • gh로 SSH를 기본값으로 구성하십시오 gh config set git_protocol ssh.
    기본 Git 프로토콜은 HTTPS입니다.
  • 로 커밋에서 풀 요청의 제목과 본문을 자동 완성하십시오 gh pr create --fill.

그래서:

gh pr create --fill

1

전에이 도구를 사용한 적이 있습니다. 먼저 열려있는 문제가있는 것처럼 보이지만 github 문제 추적을 사용하는 경우 매우 유용하며 실제로 워크 플로를 간소화합니다. git open-pull을 누른 다음 현재 분기 또는 선택한 지점에서 풀 요청을 제출합니다. https://github.com/jehiah/git-open-pull

편집 : 즉시 문제를 만들 수있는 것처럼 보이 므로이 도구는 좋은 솔루션입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.