2013-10-10 67 views
0

我有一個遠程git倉庫與A和B分支。 A是B的父母。目前他們都是空的。Git添加到父分支

我需要將相同的代碼放入A & B,而不合並它們。在沒有意識到我在哪個分支的情況下,我在分支B中做了一次git提交。當我檢出分支A並嘗試在那裏執行添加/提交時,我得到「沒有提交(工作目錄乾淨)」消息。我怎樣才能得到在這個分支提交的文件?

是的,我意識到這是一種奇怪的做事方式。我沒有在庫的組織方式上尋找評論。

回答

2

git中的分支只是指向提交的指針,因此當您簽出A時,分支B的提交將不在此處。你可以做git cherry-pick B挑選最後的B承諾A.

我猜你的回購的樣子,

A--> C0 <-- B 

開頭,那麼你檢出B和承諾,這使得它看起來像,

A--> C0 
     | 
     C1 <-- B 

讓我知道這是不是這種情況

+0

謝謝,我是一個總的混帳​​的n00b並在此很困惑。當我結賬A時,我在B中提交的文件仍然存在。如果我在A中刪除它們,則A上的git狀態顯示刪除。我是否正確地認爲既然這些分支都是空的,那麼我在B中放置的內容將在A中顯示(直到它們在編輯/更改中發生分歧)? – Maxthecat

+0

分歧並不重要,A和B只是你提交的兩個指針。 –

+0

@Maxthecat:哇,你一定很困惑:-)分支不是「空的」,也不是「完整的」,它們只是標籤,每個分支名稱指向一個提交。你應該按照自己的方式工作(至少有一些)[Pro Git book](http://git-scm.com/book),它是免費的。 – torek