2010-12-08 14 views
11

Yerel git repo'm silinen uzak şubeleri unutmamı sağlamanın kullanışlı bir yolu var mı? git svn fetch, "umduğum gibi" her şeyi yeniden senkronize etmiyor ". Benim yerel repo, standart svn repo düzeni (git svn -s …) bir ithalat kullanılarak kuruldu. İlgiliGit-svn'yi artık olmayan uzak dallardan nasıl kurtarabilirim?

: İlk düşününce Why does git remote not list anything on my git-svn repo?

+0

İlk düşüncem, yalnızca .git/refs/remotes' içindeki küçük metin dosyaları olan bu dalları temsil eden dosyaları silmektir. Ama muhtemelen bundan daha doğru bir yol var, ve eminim ki, ne yaptığını bilmeden '.git' klasöründe dolaşmaya giderseniz, şeyleri karıştırmak mümkün olacaktır. – MatrixFrog

+0

Ayrıca '.git/config' dosyanıza bakmak ve bunlardan herhangi birisini silmek isteyebilirsiniz. – MatrixFrog

cevap

0

, ben git remote prune denemenizi öneririz. documentation alıntı:

altındaki tüm bayat uzaktan izleme şubesi siler

erik. Bu eski dalları zaten tarafından başvurulan uzak depodan kaldırılmıştır, ancak hala yerel olarak "remotes /" içinde kullanılabilir.

--dry-run seçeneğiyle, dallarının budanması gerekenleri rapor edin, ancak aslında onları budama. Bunun da uzak bir svn denilen çalışmak gerektiğini düşünüyorum

...

Aşağıdaki komutlarla uzaktan dalları yetim kaldırabilirsiniz
+1

nope… git-svn, standart yolla remot'ları saklamıyor, ya da kullanışlı bir soyutlama içinde değil… uzaktan kumanda yok, uzaktan kumandası yok. –

15

:

git branch -d -r my_branch 
rm -rf .git/svn/refs/remotes/my_branch 

kerede tüm yetim dalları kaldırmak için Her seferinde bir yerine, here cevabına bakın.

+0

Ayrıca şubenin gösterilmemesi için rm .git/refs/remotes/origin/my_branch' yapmak zorunda kaldım. Ayrıca, rm -rf .git/svn/refs/remotes/origin/my_branch/'yerine rm -rf .git/svn/refs/remotes/my_branch /' ('origin' notu). Bir fikrin neden? –

+0

Farkı kendim hakkında yanıtlamak için, klonlama sırasında muhtemelen '--prefix' ifadesini kullandım. –

İlgili konular