2012-07-15 30 views
9

Tôi đã di chuyển một repo từ SVN sang Git bằng cách sử dụng svn2git và hài lòng với mọi thứ ngoài một điều. Làm thế nào tôi có thể loại bỏ các chi nhánh remotes/svn/trunk cho thấy trong git branch -a:Làm cách nào để dọn dẹp hoàn toàn sau khi di chuyển SVN -> Git?

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

tôi dọn dẹp sau khi svn2git bằng cách làm như sau:

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

Nhưng tôi vẫn có remotes/svn/trunk ngồi đó! Tôi có được điều này nếu tôi grep thư mục .git cho 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 

Am I an toàn để đi vào các tập tin và loại bỏ các tài liệu tham khảo hoặc là có một cách sạch hơn để thoát khỏi rằng cruft cũ?

Trả lời

10

Xóa chi nhánh theo dõi từ xa sẽ là một khởi đầu tốt đẹp:

git branch -d -r svn/trunk 

lời khuyên khác có sẵn tại "How do you stop tracking a remote branch in git?".
Nhưng để thực sự làm sạch, bạn có thể phải thực hiện các thao tác khác (dựa trên ví dụ git gc) như được đề cập trong "How to remove unreferenced blobs from my git repo".

+0

Ugh, yeh đó là một. Nên biết rằng thực sự! Tôi nhận được một chút bối rối vẫn còn với những gì một chi nhánh theo dõi từ xa. Vẫn còn rất mới để git! – mattjgalloway

+0

@mattjgalloway: vâng, nó có thể gây nhầm lẫn;) http://stackoverflow.com/questions/1070496/having-a-hard-time-understanding-git-fetch có thể giúp làm cho doanh nghiệp "theo dõi từ xa" này trở nên rõ ràng hơn một chút. – VonC

+0

Sau khi thử 'git branch -d -r svn/trunk', tôi nhận được" error: remote branch 'svn/trunk' không tìm thấy. ", Nhưng nó vẫn hiển thị trong SourceTree dưới Remotes ... Ý tưởng? – Saran

Các vấn đề liên quan