2013-02-03 48 views
1

这里就是我所做的:混帐:分支后消失重置

我将合并成kernel_common/android-3.0我的主要local branch

然后我想重置到Linux 3.0.13,所以我看着历史,发现this

问题是,Android的承诺复位时(也就是我失去所有的提交)显示为未跟踪的变化。

见图像上方,当我重置为黄色提交I“松散”蓝色的,并且反之亦然。

+0

你做了什么“重设”到另一个分支? 'git reset'不是正确的命令,而是使用'git checkout'。 – Koraktor

+0

您重置时是否使用过“--hard”?如果是,那么你将失去提交。您当地的回购中有哪些分支机构?如果你想在你的本地mainline分支上运行'Linux 3.0.13',那么切换到你的本地mainline分支,并运行'git rebase <分支名称 - 分支 - 那个Linux 3.0.13>' – yasouser

+0

@ Koraktor其他哪个分支?我只有远程和我的本地分支。 – blameless75

回答

2

这是完全正确的方式。

黄色提交不包含蓝色的,反之亦然。

复位只是让你分支指向新的提交,即它将在该时间点只包含的代码,不知道以后的合并任何东西。

如果你想有一个新的状态组合蓝色状态有黄色的,只是合并了这些提交:

git checkout -b mybranch $blue_SHA1 
git merge $yellow_SHA1 
+0

的问题是所有的Android承诺即使以前淹没的消失,所有的安卓位实际上消失... – blameless75

+0

提交包含其全部历史,包括所有合并。是什么让你觉得那里消失了? – michas

+0

所有的Android代码显示为未跟踪文件(提交消失),当我恢复到了Linux补丁(gregkh)提交,相反发生在我恢复到Android的承诺... – blameless75

-1

我终于明白了:没有一个git reset到Android提交,然后合并Linux的承诺。

谢谢!