2012-07-15 26 views
9

我已經使用svn2git將回購從SVN遷移到Git,除了一件事之外,我對所有事情都感到滿意。我如何刪除remotes/svn/trunk分支顯示git branch -a如何在SVN - > Git遷移後完全清理?

$ 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坐在那裏!我得到這個,如果我用grep的.git目錄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 

我是否可以安全進入這些文件並刪除引用或有擺脫舊的克魯夫特的更清潔的方式?

回答

10

刪除遠程跟蹤分支將是一個良好的開端:

git branch -d -r svn/trunk 

其他建議可在「How do you stop tracking a remote branch in git?」。
但要真正清潔,您可能必須執行其他操作(例如,基於git gc),如「How to remove unreferenced blobs from my git repo」中所述。

+0

呃,那就是那個。應該真的知道!我仍然對遠程跟蹤分支有些困惑。 git還是很新的! – mattjgalloway 2012-07-15 12:03:14

+0

@mattjgalloway:是的,它可能會令人困惑;)http://stackoverflow.com/questions/1070496/having-a-hard-time-understanding-git-fetch可以幫助使這個「遠程跟蹤」業務更清晰一點。 – VonC 2012-07-15 12:33:13

+0

嘗試'git branch -d -r svn/trunk'後,我得到「錯誤:找不到遠程分支'svn/trunk'」,但它仍然顯示在SourceTree下的Remotes ... Ideas? – Saran 2013-11-05 09:17:30