2013-08-03 1 views
1

Repo 분기에서 작업 할 경우, devel, 다음 명령의 차이점은 무엇입니까? 이 경우, 이미 추가 한 upstream 원격 :패치 인수, 병합 및 푸시에 분기 인수 지정

$ git fetch upstream devel 
From github.com:meteor/meteor 
* branch   devel  -> FETCH_HEAD 

$ git fetch upstream 
remote: Counting objects: 500, done. 
remote: Compressing objects: 100% (230/230), done. 
remote: Total 326 (delta 227), reused 187 (delta 90) 
Receiving objects: 100% (326/326), 46.61 KiB, done. 
Resolving deltas: 100% (227/227), completed with 87 local objects. 
From github.com:meteor/meteor 
* [new branch]  appconfig -> upstream/appconfig 
* [new branch]  check-path -> upstream/check-path 
    248ff08..4d44a4d ctl-migrate -> upstream/ctl-migrate 
    2c356d2..bfb8fd3 devel  -> upstream/devel 
* [new branch]  release-0.6.5 -> upstream/release-0.6.5 
    64b95a4..c0014df shark  -> upstream/shark 
From github.com:meteor/meteor 
* [new tag]   release/0.6.5-rc11 -> release/0.6.5-rc11 
* [new tag]   release/0.6.5-rc12 -> release/0.6.5-rc12 

어떻게 어떤 지점이 지정되지 않은 경우 얻을 알고 가져 오기는 무엇입니까? 내 포크로 변경을 추진하려는 경우

또한, 왜, 나는 슬래시가 왜

$ git push origin devel 

을 말할 필요가 병합 명령이

$ git merge upstream/devel 

입니다 그것을 것을 되나 하나의 사건은 있지만 다른 사건은 아닌가? 은 "In git, how do I check out a remote repository's remote branches?"에 설명 된대로 FETCH_HEAD를 업데이트 가져 오기 때문에,

git fetch upstream refs/heads/devel 

당신은 당신의 refspec에서 대상을 제공하지 않습니다

답변

2

git fetch upstream devel보다 동일합니다.
이것은 단명 참조이며, 가져 오기 (가져 오기 + 병합)를 수행 할 때 사용됩니다.

git fetch upstream은 모든 것을 가져 오므로 업데이트 할 참조가 하나도 없습니다.


git merge은 원격 지사 devel
git merge devel 로컬 브랜치를 병합 것 (업스트림 이후 upstream/devel이 인출 한 후 업데이트 업데이트 된 원격의 이름입니다) 귀하의 경우, 병합의 소스를 지정해야합니다 현재 분기에 devel ... 그리고 이미 devel에 있으면 no-op가됩니다.

그러나 git push 또한 소스, 여기에 지역 지점 devel, 원격 대상 origin (이하 "upstream repo")를 지정하고 대상은 push policy에 따라 달라집니다.
devel이 원격 지점을 추적하고 현재 devel에있는 경우 git push이면 충분합니다. 자세한 내용은 "Why do I need to explicitly push a new branch?"을 참조하십시오.

+0

'git fetch upstream devel'은'get fetch upstream refs/heads/devel'와 비슷합니다 (* heads *에주의하십시오)? 원격 참조는 원격 이름 아래에 있어야하므로 올바른 참조라면'refs/remote/upstream/devel'이됩니다. – jszakmeister

+0

@jszakmeister 사실. 답변을 업데이트했습니다. – VonC

+0

+1 포괄적 인 설명과 조언을 보내 주셔서 감사합니다. 나는 다른 사람들에게도 가치가있을 것이라고 확신합니다. 왜냐하면 지금까지는 무작위로 분기 인수를 입력하고 그것이 올바른 일을하고 있다고기도하기 때문입니다 :) –