以前我的代码被一个可怕的恶意攻击感染了。经过长时间的斗争后,我决定只对$git checkout
进行bug修改。
现在$git branch
返回一个标有“(无分支)”分支的列表。如何合并(是正确的?)将其合并到master
分支?
奖金问题:甚至“(没有分支)”是什么意思?它真的不是分支吗?
答案 0 :(得分:3)
是的,它真的可以是“没有分支”。您正在以"detached head"状态运行。如果你不小心,你将失去你的改变。在处于分离头状态时,git不会更新任何引用。因此,如果您结帐其他某个分支机构,您可能会忘记自己所处的位置......以及随之而来的变化。
首先,给你的分支一个名字:
$ git checkout -b new-branch-name
接下来,如果你想让你的主分支看起来像新分支,你有一些选择......一些可能会失去master的历史,一些会保留它。我假设你想要后者。
最简单的方法是在新分支上运行:
$ git merge -s ours master
这将引入主人,但由于-s ours
选项(这会选择ours
merge strategy),因此不会应用任何更改。然后结帐主人,然后运行:
$ git checkout master
$ git merge new-branch-name
此时,master应该看起来像new-branch-name。
答案 1 :(得分:0)
即使我真的不知道发生了什么,我设法解决了这个问题。我做了$git checkout master
才能进入master
分支。
然后我创建了一个分支,$git branch name_of_my_new_branch 12the39id9843of8old38branch
和poof,这个bug无处可见。为什么git以这种方式工作仍然是一个谜,但如果有人第一次遇到神秘的(no branch)
分支,这至少可以帮助他们安全地到达家庭master
分支。