10

を使用してリポジトリをSVNからGitに移行しましたがsvn2git、1つを除いてすべてに満足しています。remotes/svn/trunkに表示されているブランチを削除するにはどうすればよいですかgit branch -a

$ git branch -a
* master
  remotes/origin/master
  remotes/svn/trunk

svn2gitその後、次のようにしてクリーンアップしました。

git config --remove-section svn-remote.svn
git config --remove-section svn
rm -rf .git/svn

しかし、私はまだremotes/svn/trunkそこに座っています!.git次のディレクトリをgrepすると、これが表示されsvnます。

$ grep -R svn .git
.git/info/refs:e6dd7a08d86d9b0944891755602b25ce12d30bb0 refs/remotes/svn/trunk
Binary file .git/objects/pack/pack-10cdd522d8f0fcc9b30efeddbdad3d0281c1e6da.pack matches
.git/packed-refs:e6dd7a08d86d9b0944891755602b25ce12d30bb0 refs/remotes/svn/trunk

それらのファイルにアクセスして参照を削除しても安全ですか、それとも古いゴミを取り除くためのよりクリーンな方法がありますか?

4

1 に答える 1

11

リモートトラッキングブランチを削除することから始めるとよいでしょう。

git branch -d -r svn/trunk

その他のアドバイスは、「gitでリモートブランチの追跡を停止するにはどうすればよいですか?」で入手できます。ただし、実際にクリーンアップするには、「 gitリポジトリから参照されていないBLOBを削除する方法」で説明されているように、他の操作(たとえば、に
基づく)を実行する必要がある場合があります。git gc

于 2012-07-15T11:50:54.653 に答える