在Git Bash Windows中合并分支

以下是我在本地Git Bash for Windows中执行的内容

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

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

    git checkout -b hotfix-1.12

  3. 在hotfix-1.12文件上做了更改

  4. 我做了提交git commit -m“提交消息”

  5. 现在回去开发合并变化的git checkout开发

  6. 现在我合并了它

    git merge –no-ff hotfix-1.12

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

  1. 回到master git checkout master

8.Merge下面不工作混帐合并 – no-ff hotfix-1.12

它说Alredy是最新的。 但不是。 我做的更改没有反映,当我检查。 再次即时通讯在Git窗口中的所有这一切。

你有什么不对吗? 我怎样才能成功地将hotfix-1.12合并到master?

你可以尝试几件事情来弄清楚(或者试图修复)出错的地方。

  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 git checkout master; git reset --hard origin/master; git merge --no-ff hotfix-1.12 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你修补程序提交(s)。

在任何情况下,都不要将合并的分支推向上游,直到找到并正确完成合并。