1

以下是我在本地 Git Bash for Windows 中按顺序执行的操作

  1. 我从远程存储库创建了一个新克隆

  2. 我从 master 创建了一个新的本地修补程序分支

    git checkout -b hotfix-1.12

  3. 对 hotfix-1.12 文件进行了我想要的更改吗

  4. 我做了提交 git commit -m "commit message"

  5. 现在回到开发合并更改 git checkout develop

  6. 现在我合并了它

    git merge --no-ff hotfix-1.12

它更新开发没有任何问题,但它不能像预期的那样工作。下面是相应的命令

  1. 回到大师 git checkout master

8.Merge 下面不起作用 git merge --no-ff hotfix-1.12

它说 Alredy 是最新的。但它不是。我所做的更改不会在我检查时反映出来。我再次在 Windows 的 Git 中的 Bash 中执行所有这些操作。

你看有什么不对吗?如何成功地将 hotfix-1.12 合并到 master 中?

4

1 回答 1

1

您可以尝试几件事来找出(或尝试修复)您出错的地方。

  1. 运行git log --graph --all '--pretty=tformat:%h %Cred%d %Creset%s'以查看 Git 记录了您的提交,以及它们在哪个分支上。输出是相当不言自明的,您将看到提交历史记录,以及所有分支当前所在的位置(红色)。这将清楚地显示您合并到哪个分支,它们分歧的位置等。

  2. 您可以盲目(并且破坏性地)尝试再次合并:(git checkout master; git reset --hard origin/master; git merge --no-ff hotfix-1.12警告:这将清除您的工作目录更改,以及您尚未推送的本地提交到 master!

  3. 如果一切都失败了,您可以重置主分支(git reset --hard重置为最后一次本地提交,或git reset --hard origin/master重置为最后一次获取的远程提交),然后重置git cherry-pick您的修补程序提交。

在任何情况下,在您弄清楚并正确且完全地执行合并之前,不要将合并的分支推送到上游。

于 2013-09-23T20:59:58.133 回答