如何解决如何让本地提交的更改作为分支的合并提交重新应用?
我正在处理一个本地 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 举报,一经查实,本站将立刻删除。