【问题标题】:git emergency - cannot merge of leave branch [closed]git紧急情况-无法合并离开分支[关闭]
【发布时间】:2014-01-07 10:37:32
【问题描述】:

这是我认为我在哪里的图表

link to image

1) 我在 master 上并拉取并拿走了所有东西:git pull origin master。 我可能做了一些 git add 。和 git commit 的 git status 看起来不错。 但我总是对这些有点不安。

2) 我做了一些工作,走了很多方向,但离我想要的地方太远了。 我相当肯定我 git add 。并在这里定期 git commit。

3) 我回到了 master,git checkout master,但我不认为我是从原点拉出来的。 我刚刚从 master 创建了一个新分支:git checkout -b branch2。

4) 这是我工作的地方,并没有投入太多,但最后肯定是。 混帐添加。和 git commit -m "准备合并"。

5) 所以我 git checkout master, git pull origin master, git status (这里的事情对我来说很奇怪) 我想我只添加了我确定我更改的文件,但所有这些其他文件都存在。 我尝试 git merge branch2 但收到错误。 我有点惊慌,所以我试着不回到 branch2 来查看我的代码,但是不能。 那是我意识到我需要帮助的时候。

帮我stackoverflow,你是我唯一的希望

【问题讨论】:

  • 使用@franck post,我做了一个干净的尝试并试图合并,但我没有我熟悉的 gui 合并工具。所以我仍然在我的主分支上试图与 branch2 合并,它告诉我用工作树修复它或得到 commit -a。显然,这个真正的多开发人员环境让我头疼

标签: git version-control merge


【解决方案1】:

部分解决方案:

你应该尝试 git clean -fd 从其他分支中删除文件,并清楚地看到你需要什么。

那你的错误是什么?

【讨论】:

  • 我有点担心会丢失 #4 中的内容,因为那是我需要合并的更改。当我尝试 git merge branch2 时,我得到:“合并”是不可能的,因为未合并的文件,提示:在工作树中修复它们然后 git add/rm 或 git commit -a。重点是我不想失去 git branch2
  • 如果您已经完成了 git commit,它会保存在您的本地存储库中。您还可以查看合并或未合并的内容,然后您可以打开您最喜欢的合并工具(就我而言,我使用的是 Source Tree 或 vim)并修复/更正,然后 git 添加您想要的文件。
【解决方案2】:

使用 git log 找出 (1) 和 git checkout [the SHA] 的 SHA

然后阅读更多关于 git 的内容并重新开始。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-16
    • 2018-08-20
    • 1970-01-01
    • 2013-10-31
    • 2010-10-03
    • 1970-01-01
    • 2023-03-06
    • 2016-01-01
    相关资源
    最近更新 更多