2016-10-05 153 views
7

我正在使用GIT,並且在本地(在存儲庫上不存在的分支)上創建了一個新分支(名爲foo)。現在,我對原始項目(主文件)進行了一些更改,並在此新分支中提交了所有這些更改。我現在想要做的就是將這個新分支推送到遠程存儲庫。我怎樣才能做到這一點?如果我在分支foo上運行git push,是否會將整個分支推送到回購站。我不希望我的變化被推到掌握。我只是想把這個新的分支推到主存儲庫。在GIT中推新分支

+2

我在您的10個問題中沒有看到任何可接受的答案:請閱讀http://stackoverflow.com/help/accepted-answer和http:///stackoverflow.com/help/why-vote – VonC

+0

[如何將新本地分支推送到遠程Git存儲庫並進行跟蹤?](https://stackoverflow.com/questions/2765421/how-do -i-push-a-new-local-branch-to-a-remote-git-repository-and-track-it-too) –

回答

8

是的。它會提示你設置upstream

git branch --set-upstream origin yourbranch 

這是同爲除分支名稱的一切。 按照屏幕上的指導。

+1

'--set-upstream'已被棄用(並且很快會被刪除)青睞'--track'或'--set-upstream-to' –

1

git push origin foo應該這樣做。除非您在git config中更改推送行爲,否則最新的git版本只會推送單個分支(所以git push只會在簽出foo時生效)。

參考可以發現here

1

如果上游被定義OK,運行以下命令:

git push origin foo:foo 
1

使用git remote -v顯示您的遠程回購名稱和URL:

origin ssh://**/*.git (fetch) 
origin ssh://**/*.git (push) 

起源是您在本地的遠程回購商標名稱: 您可以使用此命令將您的新分支推送到遠程回購商店:

git push origin [your-branch-name] 

像這樣:

git push origin foo 
6

要推一個分支到遠程倉庫,你應該使用這個語法

git push (remote) (branch) 

通常第一個遠程(而且往往是唯一的)被命名爲「原產地「,因此在你的情況下,你會運行

git push origin foo 

它通常是最好運行一個稍微複雜的命令

git branch --set-upstream-to origin/foo 

,因爲「--set上游到」(簡稱「-u」)設置一個跟蹤該分支,並允許你推其他變化簡單地運行

git push origin 

「跟蹤分支是與遠程分支有直接關係的本地分支。如果你在追蹤分支並鍵入git pull,Git會自動知道要從哪個服務器獲取並分支到合併。「(cit。git documentation)

2

結帳到您的本地分支並使用:git push -u origin <branch>。 這將在遠程創建新分支並推送所有更改