[英]Merging branches in Git Bash Windows
以下是我在Windows本地Git Bash中按顺序执行的操作
我从远程存储库创建了一个新克隆
我从master创建了一个新的本地修补程序分支
git checkout -b修补程序1.12
我对hotfix-1.12文件进行了更改吗
我做了commit git commit -m“ commit message”
现在回去开发合并变更git checkout开发
现在我合并了
git merge --no-ff修补程序1.12
它更新了开发,没有任何问题,但无法正常使用。 以下是各自的命令
8,下面的合并不起作用git merge --no-ff hotfix-1.12
它说Alredy是最新的。 但事实并非如此。 我所做的更改不会在我检查时反映出来。 我再次在Windows的Git中的Bash中执行所有操作。
你有什么不对吗? 如何将hotfix-1.12成功合并到master中?
您可以尝试几种方法来找出(或尝试解决)哪里出了问题。
运行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 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! )
如果所有其他方法均失败,则可以重置master分支( git reset --hard
重置为最后的本地提交,或者git reset --hard origin/master
重置为最后获取的远程提交),然后git cherry-pick
修补程序提交。
无论如何,在您确定并正确,完全执行合并之前,请勿将合并分支推向上游。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.