Git master分支包含垃圾代码

时间:2016-07-27 13:19:18

标签: git merge gitlab

最近,我试图学习一些分支合并,最后搞砸了我的主分支。 我的主分支代码现在包含合并冲突消息,如: “>>>>>> HEAD ==========“到处都是。 当我尝试将它与没有这些消息的实际代码合并时(我在另一个分支中有一个干净的代码),git说一切都是最新的,没有什么可以改变的。 每当我从我的仓库中取出时,代码都包含这些垃圾行。

我该如何解决? 提前谢谢......

2 个答案:

答案 0 :(得分:0)

我假设您在纯粹本地工作,并没有将您的更改推送到某个远程。

找出最后一个干净的提交(在你提交这些行之前的那个提交);我们称之为a876578523。然后,

git checkout a876578523
git branch -f master a876578523
git checkout master

该命令只是让你的master分支(不过只是一个“粘滞便笺”)指向旧的,好的,提交。在这三个命令之后,所有命令都将与您的混合之前一样。

(要查找“正常”提交,最简单的方法是git checkout master ; gitk,只需环顾四周(而且,我很自负,gitk有一个右键菜单,您可以点击“好“提交并选择”将分支重置到此处“或类似的东西。如果失败,git checkout master ; git log如果能记住你的提交消息或时间戳,也应该有效。)

答案 1 :(得分:0)

首先要做的事情......当你有这种“垃圾代码”时,你的分支机构就会发生冲突。这是由您在同一行之前进行的更改引起的...要解决此问题,您必须手动解决所有冲突。这些行说明你的分支“HEAD”中的内容以及主分支中的内容,例如“MASTER”。

>>>>>>HEAD 
Your code
==========
==========
Some change on the same line
<<<<<<Master

如果此代码保留在您的文件中且git status命令未报告任何更改,则您已将此文件与冲突推送到您的分支...

只需删除这些行并提交并再次推送......

也许你需要查看文件历史记录,看看要推送的代码是什么。