以下是我在当地的 Git Bash for Windows 中按顺序执行的内容
-
我从远程存储库创建了一个新克隆
-
我从主节点创建了一个新的本地修补程序分支
git 结帐 -b 修补程序-1.12
-
对修补程序-1.12 文件进行了我想要的更改
-
我做了提交git commit -m "commit message">
-
现在回去开发以合并更改git 结帐开发
-
现在我合并了它
git merge --no-ff hotfix-1.12
它更新了开发没有任何问题,但它没有按预期工作。以下是相应的命令
- 返回母版Git 结帐大师
8.下面的合并不起作用git merge --no-ff hotfix-1.12
它说Alredy是最新的。但事实并非如此。我所做的更改在我检查时不会反映出来。我再次在 Git 的 Bash 中为窗口做所有这些事情。
你看出有什么不对吗?如何成功地将修补程序-1.12 合并到主服务器中?
您可以尝试几种方法来找出(或尝试修复(出错的地方。
-
运行
git log --graph --all '--pretty=tformat:%h %Cred%d %Creset%s'
以查看 Git 记录了哪些提交,以及它们位于哪个分支上。输出是不言自明的,您将看到提交历史记录,以及当前所有分支的位置(红色(。这将清楚地显示您合并到哪个分支的内容、它们发散的位置等。 -
您可以盲目地(破坏性地(尝试再次合并:
git checkout master; git reset --hard origin/master; git merge --no-ff hotfix-1.12
(警告:这将清除您的工作目录更改,以及您尚未推送的本地提交! -
如果所有其他方法都失败了,您可以重置主分支(
git reset --hard
重置为上次本地提交,或git reset --hard origin/master
重置为上次获取的远程提交(,然后git cherry-pick
修补程序提交。
在任何情况下,在弄清楚并正确、完全地执行合并之前,不要将合并的分支推向上游。