Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git:重置后分支消失_Git_Branch_Reset - Fatal编程技术网

git:重置后分支消失

git:重置后分支消失,git,branch,reset,Git,Branch,Reset,以下是我所做的: 我将kernel\u common/android-3.0合并到我的主应用程序中 然后我想重新设置到Linux3.0.13,所以我查看了历史记录,发现 问题是,Android提交在重置时显示为未跟踪的更改(也就是说,我丢失了所有提交) 请参见上图,当我重置为黄色提交时,我会“松开”蓝色提交,反之亦然。这样做完全正确 黄色提交不包含蓝色提交,反之亦然 重置只会使您的分支指向新提交,即它只包含该时间点的代码,并且不知道有关稍后合并的任何信息 如果希望有一个新状态将蓝色状态与黄色状

以下是我所做的:

我将
kernel\u common/android-3.0
合并到我的主应用程序中

然后我想重新设置到Linux3.0.13,所以我查看了历史记录,发现

问题是,Android提交在重置时显示为未跟踪的更改(也就是说,我丢失了所有提交)


请参见上图,当我重置为黄色提交时,我会“松开”蓝色提交,反之亦然。这样做完全正确

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

重置只会使您的分支指向新提交,即它只包含该时间点的代码,并且不知道有关稍后合并的任何信息

如果希望有一个新状态将蓝色状态与黄色状态相结合,只需合并这些提交:

git checkout -b mybranch $blue_SHA1
git merge $yellow_SHA1

这样说完全正确

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

重置只会使您的分支指向新提交,即它只包含该时间点的代码,并且不知道有关稍后合并的任何信息

如果希望有一个新状态将蓝色状态与黄色状态相结合,只需合并这些提交:

git checkout -b mybranch $blue_SHA1
git merge $yellow_SHA1

我终于明白了:对Android提交进行了
git重置
,然后合并了Linux提交


谢谢

我终于明白了:对Android提交进行了git重置,然后合并了Linux提交


谢谢

您如何“重置”到另一个分支
git reset
不是正确的命令,请改用
git checkout
。重置时是否使用了
--hard
?如果是,则您将丢失提交。你们当地回购协议中有哪些分支机构?如果您想在本地主线分支上更改
Linux 3.0.13
,请切换到本地主线分支并运行
git-rebase
@Koraktor哪个分支?我只有远程分支和本地分支。@如果在--hard开关上的调用很好,我将尝试git rebase。@user2037879:在您尝试
git rebase
之前,请从这里阅读并理解它:您是如何“重置”到另一个分支的
git reset
不是正确的命令,请改用
git checkout
。重置时是否使用了
--hard
?如果是,则您将丢失提交。你们当地回购协议中有哪些分支机构?如果您想在本地主线分支上更改
Linux 3.0.13
,请切换到本地主线分支并运行
git-rebase
@Koraktor哪个分支?我只有远程分支和本地分支。@yasouer在--hard开关上的调用很好,我将尝试git rebase。@user2037879:在尝试
git rebase
之前,请从这里阅读并理解它:问题是所有Android提交,甚至以前合并的提交都消失了,事实上,所有的安卓比特都消失了……提交包含其整个历史,包括所有合并。是什么让你认为有什么东西消失了?当我重置为Linux补丁(gregkh)提交时,所有android代码都显示为未跟踪文件(提交消失),当我重置为android提交时,情况正好相反……编辑:不,它没有消失,但它显示为未跟踪更改,这就是重置点。Reset告诉git忘记一切,并在给定时间将您重置为代码。那时没有合并的一切都将消失。(但除非您指定
--硬
,否则它将在您的工作副本中保持未提交状态。)请重新思考,您希望实现什么。最可能的情况是,您不想重置内容。(您可能只是想将一些android提交合并到正确的linux提交中,如本解决方案所示。)问题是所有android提交(即使是以前合并的提交)都会消失,所有android位实际上都会消失……提交包含其整个历史,包括所有合并。是什么让你认为有什么东西消失了?当我重置为Linux补丁(gregkh)提交时,所有android代码都显示为未跟踪文件(提交消失),当我重置为android提交时,情况正好相反……编辑:不,它没有消失,但它显示为未跟踪更改,这就是重置点。Reset告诉git忘记一切,并在给定时间将您重置为代码。那时没有合并的一切都将消失。(但除非您指定
--硬
,否则它将在您的工作副本中保持未提交状态。)请重新思考,您希望实现什么。最可能的情况是,您不想重置内容。(您可能只是想将一些android提交合并到正确的linux提交中,如本解决方案所示。)