2016-11-13 71 views
2

這種情況是,我沒有在遠程服務器上的倉庫,只有一個帳戶。然後,我在本地運行以下命令,其中x是用戶名,是僅存在於本地系統上的項目名稱。如何在沒有--set-upstream的情況下推送遠程服務器上不存在的新分支?

git init 
git remote add buckety https://[email protected]/x/y.git 
git add . 
git commit --message "Here we go..." 
git push buckety 

現在我得到錯誤,敦促我設置遠程上游。我可以做到這一點(--set-upstream-u),但根據我的谷歌搜索,它已被棄用。 (實際上奇怪的是,在控制檯的建議提到它仍。)

我想這樣做的正確方法,我已經goolearched都--track--set-upstream-to。然而,就我所看到的以及我測試的操作失敗而導致錯誤的Git,我的特殊場景沒有任何例子。

我應該如何創建遠程分支而不收回使用棄用選項?我可能要在其中創建遠程跟蹤分支,因此:

  1. 當地分公司A對應於遠程分支A,也
  2. 當地分公司A對應於遠程分支B.

最好,我想配置它之前到推,但我不知道如何。我無法使用結帳,因爲該分支尚不存在。出於同樣的原因,我不能使用set-upstream-to-

回答

4

正確命令是:

git push -u origin master 

那麼接下來的git推將是一個簡單的:git push

請參閱 「Why do I need to explicitly push a new branch?

Since Git 1.8--set-upstream被稱爲--set-upstream-to

You can setup a remote tracking branch in advance有:

git branch -u origin/master master 

(然後你的第一個混帳推本來是一個簡單的git push

+0

所以* -u * ** **是短暫的* - 集上游*之前和現在它的簡稱* - SET-上游到*?或者我應該理解,棄用對於最初的推送(並且適合使用它)並不有效,但是對於後續的工作是有效的(並且以後不應該使用它)?在初始推送時,* - set-upstream *和* - set-upstream-to *之間的區別究竟是什麼?沒有,對吧? –

+0

@KonradViltersten -u仍然有效,現在確實是'--set-upstream-to'的縮寫。 '--set-upstream'已棄用。 – VonC

+0

太棒了。但我是一個詳細的人,所以我碰巧使用* - set-upstream *和後綴。修改服務器上的東西,我看不出什麼區別。請注意什麼(如果我對這些細微差別不是很瞭解)? –

1

那是我如何推動gerrit實例沒有添加遠程

git push http://localhost:8080/scm *:* 
fatal: remote error: Git repository not found 

但項目必須已經存在

+0

哦,我開始看到這個問題。我**必須**通過* git init *創建回購,但在服務器**上執行**。然後,我可以完成剩下的工作。當然,BitBucket不會讓我訪問命令行,但我可以從GUI創建回購。我更喜歡從TUI中做東西。它總是感覺像GUI會讓我變得懶惰和笨(呃)...另外,使用文本界面讓你看起來很酷,就像80年代電影* War Games *中的小孩一樣。 –

+0

@KonradViltersten你不能在服務器端做一個git init,因爲服務器是BitBucket(bitbucket.org)。您必須首先在那裏創建一個空的回購(使用BitBucket Web GUI)。 – VonC

+0

我建議你按照這個教程: –

相關問題