github의 기존 이슈에 새로운 풀 요청을 어떻게 첨부합니까?
확실하지는 않지만 제목이 "Issue 4"또는 기타 항목으로 github pull 요청을 작성하는 모호한 기억이 있으며 제출 한 프로젝트의 Issue 4에 자동으로 첨부됩니다. 최근에 다시 시도했지만 작동하지 않았습니다. 대신 새로운 문제가 발생했습니다. 새 풀 요청 페이지에 "발행 첨부"와 같은 옵션이없고 이슈 페이지에 "이 이슈에 대한 새 풀 요청을여십시오"와 같은 옵션이 표시되지 않습니다. 프로젝트 소유자가 이슈 페이지를 깨끗하게 유지하고 중복을 피할 수 있도록하는 방법이 있습니까?
편집 : 분명히하기 위해 풀 요청을 만들면 항상 새로운 문제가 발생 한다는 것을 알고 있습니다. 대신 기존 요청에 풀 요청을 첨부하고 싶습니다 .
"hub"프로젝트는 다음을 수행 할 수 있습니다.
https://github.com/defunkt/hub
풀 요청을 보내려는 저장소 및 분기에서 다음을 수행하십시오.
$ hub pull-request -i 4
이것은 GitHub API를 사용하고 현재 브랜치에 대한 풀 요청을 기존 이슈 번호 4에 첨부합니다.
편집 : @atomicules의 의견 : @MichaelMior의 답변을 확장하려면 전체 예를 들면 다음과 같습니다.
$ hub pull-request -i 4 -b USERNAME_OF_UPSTREAM_OWNER:UPSTREAM_BRANCH -h YOUR_USERNAME:YOUR_BRANCH URL_TO_ISSUE
일반적인 github 방법을 사용한다고 가정하면 기존 업스트림 문제에 풀 요청을 추가하는 것은 쉽습니다 .
지원되는 키워드를 사용하여 커밋 메시지에서 문제를 참조하십시오 .
- 닫기
- 마감
- 닫은
- 고치다
- 수정
- 결정된
- 결의
- 해결하다
- 해결
예 : "이 커밋 수정 # 116"
문제를 언급하는 텍스트가 커밋의 제목 줄에 나타날 필요는 없습니다.
커밋을 github 저장소에 푸시하면 풀 요청이 자동으로 문제에 추가됩니다.
참고 : 필요하지는 않지만 해당 분기에 대한 향후 커밋이 풀 요청에 자동으로 추가되므로 (github에서 자동으로 풀 요청에 추가 할 항목을 해당 문제와 관련된 별도의 분기에 커밋하는 것이 좋습니다. ). 따라서 별도의 브랜치를 만들지 않고 마스터에 남겨두고 개발을 계속하면 마스터에 대한 모든 관련되지 않은 커밋이 풀 요청에 추가됩니다.
풀 요청 API를 사용하여 기존 이슈에서 풀 요청을 생성 할 수 있습니다 .
$ curl --user "smparkes" \
--request POST \
--data '{"issue": 15, "head": "smparkes:synchrony", "base": "master"}' \
https://api.github.com/repos/technoweenie/faraday/pulls
풀 요청을 만듭니다.
- 질문
technoweenie
프로젝트에faraday
(https://api.github.com/repos/ technoweenie / 패러데이 / 당긴) - 로부터 풀에
synchrony
있는 지점smparkes
( "머리" "포크 ' smparkes : 동시성 ") - 받는 사람
master
의 지점technoweenie
의 포크 ( ""기본 " 마스터 ") - 풀 요청을 발행하여 이슈 15를 발행하십시오 ( "issue": 15 )
- 풀 요청 작성자
smparkes
(--user " smparkes ") - GitHub 비밀번호를 묻는 메시지가 표시됩니다
또 다른 가능한 도구는 Issue2Pr 웹 사이트 로, 문제를 풀 요청으로 전환합니다.
매우 간단하고 효과적입니다!
자원:
이 다른 답변 은 cURL ( curl
)을 사용하여 GitHub API를 통해 이슈에서 풀 요청을 생성하는 방법을 설명합니다 . 다음은 읽기 쉽고 편집하기 쉬운 명령을 생성하는 HTTPie ( http
)를 사용하여 수행하는 방법입니다 .
$ http --auth "<your-GitHub-username>" \
POST \
https://api.github.com/repos/<issue-repo-owner>/<issue-repo-name>/pulls \
issue=<issue-number> head=<your-GitHub-username>:<your-fork-branch-name> base=<issue-repo-branch-name>
그런 다음 메시지가 표시되면 GitHub 비밀번호를 입력하십시오.
설명 된 예
사용자 이름 smparkes 및 비밀번호 hunter2 로 GitHub에 로그인했습니다 . 당신은 보았다 technoweenie 의 REPO 패러데이 , 변경해야 뭔가 생각하고, 그것을 위해 그의 repo에 이슈를 만들어 문제 # 15 . 나중에 다른 사람이 제안한 변경을 한 적이 없으며 직접 변경할 시간도 있습니다. 당신은 포크 패러데이 자신의 계정에 다음 변경 사항을 작성하고 지점의 이름 아래에 포크로 밀어 동시성 . 당신은 technoweenie 가 그 변화를 마스터 에게 가져와야 한다고 생각 합니다.그의 레포 지점. 이 상황에서 이전 호를 풀 요청으로 변환하기 위해 작성하는 명령입니다.
$ http --auth "smparkes" \
POST \
https://api.github.com/repos/technoweenie/faraday/pulls \
issue=15 head=smparkes:synchrony base=master
http: password for smparkes@api.github.com: hunter2
이제 이슈 15 는 풀 요청입니다.
github에 2-factor-auth를 사용하는 경우 요청에서 authtoken을 헤더로 제공해야합니다.
curl -u "<your_username>:<your_pw>" \
--header 'X-GitHub-OTP: <your_authtoken>' \
--request POST \
--data '{"issue":"<issue_nr>", "head":"<your_username>:<your_forks_branchname>", "base":"<upstream_branch>"}' \
https://api.github.com/repos/<upstream_user>/<upstream_repo>/pulls
Gub 를 사용 하여 문제에 대한 풀 요청을 제출할 수도 있습니다 .
또한 적절한 포크 / 풀 요청 스타일을 사용하는 데 도움이됩니다.
편집 : 2013 년 10 월 5 일
Gub가 이슈 # 123에 대한 풀 요청을 제출하게하려면 다음을 실행해야합니다.
$ gub start 123
이렇게하면 새로운 분기 문제 -123이 만들어집니다. 문제에 대한 작업이 끝나면 다음을 실행하십시오.
$ gub finish
짜잔!
참고 : 저는 Gub gem의 저자입니다.
git-hub 도구를 사용하면 다음과 같이 할 수 있습니다.
$> git hub pull attach 123
이렇게하면 문제 # 123이 풀 요청 # 123으로 변환되므로 문제에 대한 모든 토론이 단일 위치에 유지됩니다.
2FA를 사용하도록 설정 한 경우 HTTPie와 함께 토큰 전달을 사용할 수 있습니다.
http POST \
https://api.github.com/repos/<repo-owner>/<repo-name>/pulls \
issue=2 head=issue_2 base=master
"Authorization:token PUTAUTHTOKENHERE"
분기 issue_2
2를 사용하여 문제 # 2를 풀 요청으로 변환합니다.
'Programming' 카테고리의 다른 글
더 큰 div 안에 이미지 센터를 (세로 및 가로로) 만드는 방법 (0) | 2020.02.22 |
---|---|
JavaScript 문자열 개행 문자? (0) | 2020.02.21 |
Java에서 배열을 초기화하는 방법은 무엇입니까? (0) | 2020.02.21 |
git을 사용하여 특정 파일의 변경 사항을 확인하십시오 (0) | 2020.02.21 |
“throw”와“throw ex”에는 차이가 있습니까? (0) | 2020.02.21 |