在 Git Bash 窗口中合并分支



以下是我在当地的 Git Bash for Windows 中按顺序执行的内容

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

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

    git 结帐 -b 修补程序-1.12

  3. 对修补程序-1.12 文件进行了我想要的更改

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

  5. 现在回去开发以合并更改git 结帐开发

  6. 现在我合并了它

    git merge --no-ff hotfix-1.12

它更新了开发没有任何问题,但它没有按预期工作。以下是相应的命令

  1. 返回母版Git 结帐大师

8.下面的合并不起作用git merge --no-ff hotfix-1.12

它说Alredy是最新的。但事实并非如此。我所做的更改在我检查时不会反映出来。我再次在 Git 的 Bash 中为窗口做所有这些事情。

你看出有什么不对吗?如何成功地将修补程序-1.12 合并到主服务器中?

您可以尝试几种方法来找出(或尝试修复(出错的地方。

  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(警告:这将清除您的工作目录更改,以及您尚未推送的本地提交!

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

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

最新更新