微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何让本地提交的更改作为分支的合并提交重新应用?

如何解决如何让本地提交的更改作为分支的合并提交重新应用?

我正在处理一个本地 git 存储库,该存储库尚未配置远程存储库。我不小心在本地 master 分支上开始了我的所有工作。

到目前为止有 22 次提交,除了前两次提交,我希望所有 >=3rd 的提交被“移动”到一个新分支,然后合并回 master 以便日志显示“合并提交"代替。

我试过了,但似乎没有用:

在母版上:

$ git branch new_branch    
$ git reset HEAD~20 
$ git add . && git stash
$ git merge --squash new_branch
$ git commit
   

这确实让我得到了一个压缩的合并提交,我现在在我的主人上只看到 3 个提交。但是,如果我执行 git log --merges,它不会输出任何内容

如何为 new_branch 中的代码创建一个“真正的合并提交”,它可以被 git log --merges 检测到,并且如果我要运行:git rev-list <merge-commit-id>^..<merge-commit-id> 会列出所有提交?>

解决方法

假设您回到问题开始的地方,您可以这样做:

git checkout id-of-second-revision
git merge --no-ff master -m "use a proper comment"
git branch -f master # place master on this revision
git checkout master

大功告成。

,

git merge --no-ff new_branch 而不是 git merge --squash new_branch

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。