如果我在回購的分支上工作,說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 merge upstream/devel
,但如果我想將更改發送到我的叉子,我需要說
$ git push origin devel
爲什麼會出現在斜槓一個案例,但不是其他?
不是'git fetch upstream devel'更像'get fetch upstream refs/heads/devel'(注意*頭*)?遠程引用也應該在遠程名稱下,所以如果它是正確的引用,它將是'refs/remote/upstream/devel'。 – jszakmeister
@jszakmeister true。我已經更新了答案。 – VonC
+1感謝您的全面解釋和指引。我相信這對其他人也是有價值的,因爲到目前爲止,我只是隨機地輸入分支參數,並祈禱它正在做正確的事情:) –