web-dev-qa-db-ja.com

ワークツリーを削除してワークツリープルーンを実行した後でもブランチをチェックアウトできない

次のコマンドを使用して、ブランチのワークツリーを作成します。

Git add worktree <path> <branch-name>

これは私のために新しいワークツリーを作成し、パスでブランチをチェックアウトしました

今、私はワークツリーを削除/削除することを考えました。次のコマンドを実行しました。

rm -rf <path>
git worktree Prune

これにより、理想的にはワークツリーが削除され、そのパスの参照も削除されます。これで、ブランチをチェックアウトできるようになります。しかし、そのブランチにチェックアウトするために次のコマンドを実行すると:

git checkout <branch-name>

私はこのエラーを受け取ります:

fatal: '<branch-name>' is already checked out at ''

誰かが何が起こっているのか私を助けてくれませんか?.

45
Randeep Singh

リポジトリディレクトリから.git/worktrees/<branch-name>を消去することで、これを回避しました。

47
msteed

私は正しいコマンドだと思います:

git worktree Prune
9
Temawito

Gitは時々不機嫌になるのが好きですが、私にとってうまくいったのは、最初にgit bashでこのコマンドを使用して、まだアクティブなワークツリーを確認することでした

git worktree list

次に、すべてのワークツリーと問題の子も表示されます。表示後、ディレクトリの完全なアドレスが含まれているため、保存されたブランチ名を確認してください。ブランチ名全体をコピーしてそのまま貼り付けるか、その人が入力した場合は入力します

git worktree remove <FullBranchName>  (e.g C:/temp/foldername)
0