确保取消的git filter-branch不会更改repo中的任何文件

tjvv9vkg  于 2023-03-11  发布在  Git
关注(0)|答案(1)|浏览(139)

我最近在一个feature分支中运行了git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch utils.js"命令,目的是从git repo/history中删除一个文件(我在本地完成了这一操作,并计划推送到Github)然而,一旦命令输出X1 M1 N1 X,我就了解到X1 M2 N1 X可能会在我不知情的情况下更改文件,因此我用ctrl+c取消了它。VSCode中没有记录要提交的文件。然后我切换到master分支并运行git fetch --allgit reset --hard origin/master。我最近在本地提交master的操作与在github master上的操作相同,vscode显示没有要提交的文件(我认为这意味着没有文件被更改)。但是,https://git-scm.com/docs/git-filter-branch上的文档指出“git filter-branch有太多的陷阱,可能会对预期的历史重写产生不明显的破坏”-是否有人能够确认我对git fetch --allgit reset --hard origin/master采取的步骤足以确保我的文件正常,或者我是否需要执行其他操作以确保git filter-branch命令不会更改我的repo中的任何其他文件?

q43xntqr

q43xntqr1#

在运行如此危险的命令之前,您应该复制您的工作树文件夹,文档告诉您这样做,但似乎您没有这样做。因此,您的本地repo的状态是有疑问的。最佳操作过程:扔掉你的项目,做一个新的克隆。

相关问题