Git修复现有提交历史记录
我有一个批处理exe,它为所有数据库对象编写脚本,然后自动提交到git存储库中 出于某种原因,我已经修复了,实际上我有这样的历史:Git修复现有提交历史记录,git,gitlab,Git,Gitlab,我有一个批处理exe,它为所有数据库对象编写脚本,然后自动提交到git存储库中 出于某种原因,我已经修复了,实际上我有这样的历史: 提交1:文件sampleStoredProcedure.sql…已添加 提交2:文件sampleStoredProcedure.sql…已修改 提交3:文件sampleStoredProcedure.sql…已删除 提交4:添加了文件sampleStoredProcedure.sql 提交5:文件sampleStoredProcedure.sql…已删除 提交6:
- 提交1:文件sampleStoredProcedure.sql…已添加
- 提交2:文件sampleStoredProcedure.sql…已修改
- 提交3:文件sampleStoredProcedure.sql…已删除
- 提交4:添加了文件sampleStoredProcedure.sql
- 提交5:文件sampleStoredProcedure.sql…已删除
- 提交6:添加了文件sampleStoredProcedure.sql
- 提交7:文件sampleStoredProcedure.sql…已修改
- 提交1:文件sampleStoredProcedure.sql…已添加
- 提交2:文件sampleStoredProcedure.sql…已修改
- 提交3:文件sampleStoredProcedure.sql…已删除--删除此文件
- 提交4:文件sampleStoredProcedure.sql…已添加--设置为提交2的更改
- 提交5:文件sampleStoredProcedure.sql…已删除-删除此文件
- 提交6:文件sampleStoredProcedure.sql…已添加--设置为提交4的更改
- 提交7:文件sampleStoredProcedure.sql…已修改
pick
更改为fixup
,即使用提交消息“…added”GIT\u EDITOR=Vim GIT-rebase--interactive
启动交互式rebaseqw/添加^dwifixup jq:%normal@w
:wq
保存并退出尝试比较提交4和3,结果如何?@Hoshani比较4和3 sampleStoredProcedure.sql是一个新文件,提交1/2/3不是文件历史记录的一部分我的repo在最大的数据库中有2800多个对象,我有许多数据库repo存在相同的问题。根据你的知识,我可以尝试一些更自动的方法。如果我能够根据文件名查看以前提交的历史记录就足够了。我不确定查看文件历史记录是什么意思。你的意思是用git责备你还是用什么命令?酷。我想不出其他方法来做你想做的事。我唯一的其他建议是使用
fixup
而不是squash
,这样您就不必手动编辑提交消息,也不必编写脚本或宏来自动在交互式重新基址中查找“添加的”提交。将在答案中添加一个示例Vim宏。
pick f79c595 File sampleStoredProcedure.sql ...added
pick 141asd1 File sampleStoredProcedure.sql ...modified
pick 6d2b123 File sampleStoredProcedure.sql ...deleted
pick asd123a File sampleStoredProcedure.sql ...added