簡體   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