使用 git-tfs 到 Git 的 TFS 迁移:如何在迁移后完全断开 Git 与 TFS 的连接?

TFS to Git migration with git-tfs: how to completely disconnect Git from TFS after migration?

我成功克隆了一个 TFS 存储库,但是 git log 仍然显示指向 master 和 tfs/default 的 HEAD,如下所示:

(HEAD -> master, tfs/default)

我已经尝试过 filter-branch 命令,并删除了 config 文件中的 [tfs][git-tfs] 部分和 运行 以下命令:

git reflog expire --all
git gc --aggressive --prune
git tfs cleanup
git tfs cleanup-workspace

但它仍然存在。唯一可行的方法是删除 .git 文件夹,然后 运行ning git init 但这当然会丢失所有历史记录。我还检查了 git config --list --show-all 但那里没有远程 TFS 存储库。

问题
是否可以在使用 git-tfs 后完全断开 TFS 与 git 存储库的连接而不丢失历史记录,如果是的,怎么样?


EDIT
已接受的答案有效且具有指导意义,但请参阅 this answer on SuperUser 我理解的是 'safer' 方法.

Is it possible to completely disconnect TFS from the git repo without losing history after using git-tfs

您的 git 存储库未“连接”到 TFS 服务器。它只包含一些允许 git-tfs 能够与 TFVC 源代码控制交互的数据。

您看到的 tfs/default 是一个伪 git 远程分支,用于跟踪检索到的最后一个变更集。

and if yes, how?

因为它存储为git遥控器,所以删除文件更容易:

.git/refs/remotes/tfs/default

注意:如果您找不到这个文件,这是因为ref可能被打包在文件.git/packed-refs中。如果有,删除refs/remotes/tfs/default

对应的行