這混合了git branch
和git push
。
的git branch
命令有兩種--set-upstream
和--set-upstream-to
,前者有利於後者在Nick's answer已經給出的理由的棄用。
git push
命令只有-u
又名--set-upstream
,它沒有參數。這意味着如果推送成功,你的本地Git應該設置一個作爲源的分支引用的上游,與目標分支相對應的遠程跟蹤分支,你可以設置另一個Git,在很多情況下,你的自己的Git剛剛在中創建了你的存儲庫,因爲他們的Git也剛剛創建了他們的分支。 (唷!)
也就是說,假設你已經創建了一個分支newbranch
:
$ git checkout -b newbranch
... work, commit, etc
,並希望其上游設置爲origin/newbranch
。但是,如果你嘗試,它失敗:
$ git branch --set-upstream-to=origin/newbranch
error: the requested upstream branch 'origin/newbranch' does not exist
因爲origin/newbranch
還不存在,因爲origin
其他Git並不有一個名爲newbranch
分支。
很快,但是,你git push
當地newbranch
自己的Git,讓自己的Git創建newbranch
在他們庫。現在他們做有一個newbranch
,你的 Git創建你的origin/newbranch
記住他們的newbranch
。而現在你可以使用git branch --set-upstream-to
,但它可能很好,如果git push
可以自動做到這一點 - 這就是git push --set-upstream
,又名-u
,選項。
這是有關git branch --set-upstream-to
,但不一樣。
啊,這清除了我的困惑。非常感謝您的幫助! – Thor
我也是!謝謝。 – Nick