2011-09-01 7 views
25

나는 Gitorious의 방화벽 설치를 사용하고 있습니다.명령 줄에서 pure Git으로 병합 요청을 만들 수 있습니까?

웹 응용 프로그램으로 이동하여 복제본으로부터 끌어 오기 요청을 생성하고 복제 된 마스터 저장소를 대상으로 지정할 수 있습니다.

명령 줄에서이 작업을 수행하고 싶습니다. 더 구체적으로 말하자면, 한 지점에서 다른 지점으로 명령 줄에서 병합 요청을 열 수 있기를 원합니다 (복제본에서 종단 저장소까지).

Github을 사용하지 않아서 Github specific tools or libraries을 사용할 수 없습니다. 이것이 가능한가?

답변

4

git 자체에는 "병합 요청"과 같은 것이 없습니다. 따라서 이것이 가능하다면 Gitorious 관련 도구가 필요할 것입니다. 순수한 자식에서는 불가능합니다.

52

answer given by svick이 올바르지 않습니다. 입니다.

Git 제품군의 일부인 git request-pull이 있습니다. 해당 명령 줄 도구를 사용하여 전자 메일 당 보낼 수있는 끌어 오기 요청을 만들 수 있습니다.

예 :
origin에는 지점 master이 있습니다. 지금 당신은, 로컬 버그 수정 지점 fix을 만드는 버그 수정 사항을 적용 fix 지점 origin에 있음을 밀어 :

git push origin fix:fix 

그런 다음, 당신이 원하는 사람이 masterfix 지점에서 변경 사항을 병합 할 수 있습니다. 다음과 같은 형식의 텍스트를 작성합니다

git request-pull master origin 

이 함께 풀 요청을 만듭니다


병합 요청이 변경 사항을 밀어 어디 REPO에 액세스 할 수없는 사람으로 이동해야하는 경우

The following changes since commit <SHA of master>: 

    <commit message of SHA of mster> 

are available in the git repository at: 
    <repo location> fix 

<User Name> (<Number of Commits>): 
     <messages of the commits> 
     ... 

<changed files> 
... 
<file statistics> 
, 항상 git format-patch으로해볼 수있는 기회가 있습니다.

각을 저지하기위한 fix 지점에있는 것은이 패치 파일을 만듭니다

git format-patch master.. 

을 사용하여 패치를 만드는 동안, (당신도 그렇게 할 필요가 없습니다) originfix 분기를 누른 후 에서 분기 이후 master에서 발생했습니다. 당신은

tar czf fix.tgz *.patch 

으로 생성 된 .patch 파일을 번들하고, 예를 들어 다른 사람에게 보낼 수 있습니다 E-Mail을 통해 검토하고 적용하십시오.

완전성을 위해 : 패치 적용은 git am으로 할 수 있습니다.

+3

당신은 실제 질문을 놓친 듯 제목 만 대답 ... 그것은 명확하게 가지고있는, 풀 요청이 Gitorious에 갈 필요 주장 * own * pull 요청 메커니즘. –

+6

이것은 git 자체에서 "병합 요청"이라는 개념이 없다는 사실을 변경하지 않습니다. – svick

+7

@Idan : OP는 병합 요청을 열기 위해 ** 명령 행 ** 방법을 요청합니다. 그리고 그것은 제가 정확히 설명하고있는 것입니다. – eckes

관련 문제