git - 修改了第一次提交添加了更多提交
问题描述
我想从我的第一个初始提交中删除一个文件:
git rebase -i --root
将第一个提交设置为编辑
git rm *filename
git commit --amend
git rebase --continue
现在我有一个包含提交历史的新提交(它成功地从初始提交中删除了我想要的文件),但之前的提交也仍然存在。所以现在有重复的提交。我的问题是如何只想保留我最新的提交。
解决方案
看起来有些东西仍在引用它们。可能是因为你还有其他分支,它们仍然指向一些旧的提交git log --all --graph
。运行看看它是什么。
git checkout <other_branch>
然后,您可以通过执行, then将您的分支重置为新的、重新定位的提交git reset --hard <new_rebased_commit>
。
完成后,您可能希望通过运行删除旧的提交git gc --prune=all
。如果您不这样做,仍然可以找到它们,例如,通过使用git reflog
推荐阅读
- spring - 创建名为“sessionFactory”的 bean 时出错:无法实例化默认 tuplizer (SpringJUnit4ClassRunner)
- bash - Bash:如何替换字符串中的文字 a \r\n?
- c# - 如何在 C# 中声明异步事件 Action 类型?
- ffmpeg - 为什么 DASH 视频片段无法使用 ffmpeg 重现或读取?
- verilog - 出乎意料的波形出来了,设计CPU
- c# - 将 null 转换为类型时会发生什么
- python - 如何在烧瓶中调用另一个函数
- c# - 如何使用用户设置管理数百个配置文件 - AppSettings 与否?
- jquery - 缓存数据和 $.get 方法
- javascript - 如何通知 contenteditable 编辑器的粗体工具栏图标插入符号设置为粗体文本节点?