2012-07-15 21 views
9

Ho migrato un repository da SVN a Git utilizzando svn2git e sono contento di tutto tranne una cosa. Come posso rimuovere il ramo remotes/svn/trunk che mostra in git branch -a:Come ripulire completamente dopo SVN -> Git migration?

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

Ho ripulito dopo svn2git effettuando le seguenti operazioni:

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

Ma ho ancora la remotes/svn/trunk seduto lì! Ottengo questo se Grep la directory .git per 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 

Sono al sicuro ad andare in quei file e rimuovere i riferimenti o c'è un modo più pulito per sbarazzarsi di quella vecchia cruff?

risposta

10

Eliminazione del ramo di monitoraggio a distanza sarebbe un buon punto di partenza:

git branch -d -r svn/trunk 

Altri consigli sono disponibili presso "How do you stop tracking a remote branch in git?".
Ma per pulire veramente, potrebbe essere necessario fare altre operazioni (basate su git gc per esempio) come menzionato in "How to remove unreferenced blobs from my git repo".

+0

Ugh, è quello. Dovevo saperlo davvero! Mi sento un po 'confuso con ciò che è un ramo di monitoraggio remoto. Ancora molto nuovo da git! – mattjgalloway

+0

@mattjgalloway: sì, può essere fonte di confusione;) http://stackoverflow.com/questions/1070496/having-a-hard-time-understanding-git-fetch può aiutare a rendere questa attività di "monitoraggio remoto" un po 'più chiara. – VonC

+0

Dopo aver provato 'git branch -d -r svn/trunk', ottengo" errore: ramo remoto 'svn/trunk' non trovato. ", Eppure viene ancora visualizzato in SourceTree in Remotes ... Ideas? – Saran