繁体   English   中英

在Git Bash Windows中合并分支

[英]Merging branches in Git Bash Windows

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

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

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

    git checkout -b修补程序1.12

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

  4. 我做了commit git commit -m“ commit message”

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

  6. 现在我合并了

    git merge --no-ff修补程序1.12

它更新了开发,没有任何问题,但无法正常使用。 以下是各自的命令

  1. 回到主git checkout master

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

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

你有什么不对吗? 如何将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警告:这将清除您的工作目录更改,并且您本地提交给尚未推送的master!

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

无论如何,在您确定并正确,完全执行合并之前,请勿将合并分支推向上游。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM