2013-10-10 62 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