2012-11-06 99 views
1

我正在分支'my_branch'的我(專用)存儲庫中開發代碼。如何將我的分支推送到主存儲庫?

經過一番開發,我很滿意自己所做的事情,並且希望將'my_branch'保存到主存儲庫(所以在我的磁盤發生故障時它不會丟失)。

但我不想將我的更改合併到master分支。

我用命令:

混帳推

然後:

了克隆

並克隆主存儲庫到不同的目錄。但我注意到,在更改爲my_branch時,該目錄中的文件不包含我的更改。

請幫忙!

(在我看來,每個人通常工作在類似的方式:?不時備份您的分支,而尚未合併其掌握)

我以前在ClearCase的工作,什麼是好它是:只要你在你的私人分支登記你的文件,它永遠不會被刪除,但從另一方面它不在主分支上,你可以繼續開發你的代碼而不會打擾其他開發者。

回答

0

您可以將分支推送到上游回購站(不稱爲「主」,但默認情況下爲「起源」:git push origin myBranch),但是克隆時,默認克隆master分支,而不是myBranch
默認情況下,您的分支未被跟蹤。
即,您的克隆上沒有本地分支myBranch,該分支跟蹤origin/myBranch(分支從遠程回購獲取)。

在你的克隆上,你需要爲所有提取的遠程分支創建一個本地分支。
請參閱「Track all remote git branches as local branches」。


正如我提到的「Sell me Distributed revision control」,分支是正交出版(推/拉):

每次我想「簽到」在我的分支修改 - 是否足夠叫「混帳推起源my_branch」或「混帳推my_branch」

任何提交的是一個當地的一個,而不是ClearCase的(其提交最新的一集中分公司在配置規格)。
有關ClearCase和Git之間的差異,請參閱「What are the basic clearcase concepts every developer should know?」。

所以一個簡單的提交仍然在您的本地回購,所有其他開發人員不可見。
如果您將分支推送到上游回購庫(請參閱「Definition of 「downstream」 and 「upstream」」),該分支將被其他開發人員克隆,但他們將不會看到其內容,除非他們在自己的本地回購中檢出該分支。
默認情況下,他們會看到master分支。

沒有「特殊克隆模式」需要:克隆會克隆所有庫的內容,與所有它的歷史和分支機構。

+0

另請參閱http://stackoverflow.com/questions/2563836/sell-me-distributed-revision-control/2563917#2563917:不要混合上游回購(如'起源')和分支(如'主' )。 ClearCase主要是*集中* VCS,而不是DVCS:請參閱http://stackoverflow.com/questions/645008/what-are-the-basic-clearcase-concepts-every-developer-should-know/645771#645771兩者的區別。 – VonC

+0

謝謝!我只是想了解工作流程。每次我想在我的分支上「簽入」更改時 - 是否足以調用「git push origin my_branch」或「git push my_branch」?但是如果有人想要克隆我的更改,他會使用特殊的克隆模式? –

+0

@AndreyRubliov我編輯了答案來解決你的觀點。如果您需要更新主分支,那麼您需要首先在主分支上重新分配分支,然後推送主分支。請參閱http://stackoverflow.com/questions/804115/git-rebase-vs-git-merge/804178#804178 – VonC

0

運行

git push -u origin my_branch 

那麼將來你可以運行 「混帳推」。

相關問題