2017-03-13 1 views
1

마스터/개발 분기를 git의 기능/작업 분기로 다시 병합하는 것에 대한 질문이 있습니다. 다른 사람이 다음 명령에 무엇이 있는지 설명해주십시오. 내 지사는 개발 단계에서 분기되었으며, 최신 개발 변경 사항으로 업데이트하려고합니다. git-merge manual에서Git 병합 및 슬래시 사용 안 함

git merge origin development 
git merge origin/development 
+1

[이] (http://stackoverflow.com/questions/14243569/is-there-any-difference-between-git-merge-origin-master-and-git-merge-origin)는 당신을 도와줍니다 이해하기 –

답변

1

:

git merge [-n] [--stat] [--no-commit] [--squash] [--[no-]edit] 
    [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]] 
    [--[no-]allow-unrelated-histories] 
    [--[no-]rerere-autoupdate] [-m <msg>] [<commit>…​] 

...

<commit>…
커밋, 일반적으로 다른 지점 헤드는, 우리의 지점에 병합.

두 개 이상의 커밋을 지정하면 두 개 이상의 부모와 병합이 생성됩니다 (Octopus 병합이라고도 함).


git merge origin development 

origindevelopment에 의해 지정된 이 커밋을 병합 할 현재의 지점에 (이 경우이 지점 1의 이름이 될 것입니다).

o--o  origin 
    \ 
o--o \ development 
    \ | 
    \| 
o--o--o your-branch 

당신이 (당신도 지점이 origin라는이없는 가정) 원하는 아마 아니다.

(1) 당신이하지 않는 원격 호출 origin (가능성이있는), 다음 origin는 원격 참조 origin/HEAD로 해석됩니다.


git merge origin/development 

이 싱글 현재 지점에 (A remote reference입니다) origin/development에 의해 지정된을 커밋 병합 것입니다.

o--o  origin/development 
    \ 
    \ 
o--o--o your-branch 
+0

문서가 말하는 내용을 정확하게 반영하는 것처럼 보이지만 관찰 된 동작은 다릅니다. 'origin' 브랜치 (그러나'origin' 리모트)를 가지지 않으면'git merge origin'을 할 수 있습니다. 그리고 위의 설명이 끝난다면 오류가 없습니다. 나는 아직 이것에 대한 설명이 없으며 단지 관찰 된 행동 만한다. git에는 원격 이름을 참조로 해석하는 정의 된 방법이 있다고 가정합니다. –

+0

그리고 대답은 질문의 주석에 나타납니다. 'origin'은 참조로 'origin/head'를 의미합니다. –