繁体   English   中英

git - 修改 SEEM 没有先前提交的提交(交互式变基)?

[英]git - modify commit (interactive rebase) that does not SEEM to have a previous commit?

当我运行git fsck时,我有一些错误的提交需要修复:

$ git fsck
Checking object directories: 100% (256/256), done.
error in commit 60707e738f5b4330147fff34d7ddc734eea4a577: missingSpaceBeforeDate: invalid author/committer line - missing space before date
error in commit c60d233e8296f9c7a1f6e50719e59bac6fdd272f: badDate: invalid author/committer line - bad date
Checking objects: 100% (163912/163912), done.

我试图按照how-do-i-modify-a-specific-commit中的答案进行操作,但是当我运行时:

git rebase --interactive 'c60d233e8296f9c7a1f6e50719e59bac6fdd272f^'

我在要编辑的提交列表中没有看到c60d23 ,所以我没有什么可以“修复”的,因为有问题的提交不在该列表中。

关于如何修复此提交中的错误bad date错误的任何想法? 任何可能有帮助的第三方工具?

谢谢!

=====根据@hlovdal的回答更新=====

我跑了git branch --contains c60d23但它没有返回任何东西。

我也跑了:

git tag fsck-bad-60707e73 60707e73
git tag fsck-bad-c60d233e c60d233e
gitk --all &

这就是我所看到的: 在此处输入图像描述

但是由于分支中不存在该提交,所以我不知道如何对其进行变基:(

我在要编辑的提交列表中没有看到 c60d23,所以我没有什么可以“修复”的,因为有问题的提交不在该列表中。

带有交互式变基的列表中出现的提交取决于运行交互式命令时检出的分支。 提交 c60d23 出现在其他某个分支上并且在您的分支中不可见并不是不可想象的(它也可能是悬空提交)。

因此,首先通过运行找出包含提交的分支

git branch --contains c60d23

另外/或者你可以用 gitk 查看提交

git tag fsck-bad-60707e73 60707e73
git tag fsck-bad-c60d233e c60d233e
gitk --all &

然后按F2找到这两个提交。 从那里您应该能够看到哪些分支包含那些有问题的提交。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM