将旧更改移出主分支 [重复]
Posted
技术标签:
【中文标题】将旧更改移出主分支 [重复]【英文标题】:Move Old Changes Off Master Branch [duplicate] 【发布时间】:2014-12-14 17:58:20 【问题描述】:我对我的主 git 分支进行了一些提交,并添加了一些错误代码,我想摆脱这些代码。
Commit 1
Commit 2
Commit 3
我想保留提交 2,并摆脱提交 1 和 3 中所做的更改。提交 2 和提交 1,3 没有交集。此外值得指出的是,提交 1 和 3 的所有更改都仅限于特定目录中的几个文件,而提交 2 也没有涉及这些文件。
我如何用 git 做到这一点?
【问题讨论】:
提交已被推送到远程 查找git revert
【参考方案1】:
你应该使用交互式 git rebase:
git rebase -i HEAD~3
您将看到 3 个提交的列表。 删除不需要提交的行并保存并退出编辑器。 Git 将执行 rebase 操作并删除提交
如果您已将您的通道推送到上游远程,您将需要执行强制推送,即强制覆盖历史记录。 请记住,Git 中只有一条规则——不要覆盖已发布的历史记录。 当您在某个项目上与许多人合作时,这一点尤为重要。在这种情况下,如果您推送了一个错误的提交,我建议您使用
git revert commitID
或者只是修复错误并在提交3之上提交修复
【讨论】:
以上是关于将旧更改移出主分支 [重复]的主要内容,如果未能解决你的问题,请参考以下文章