2012-12-22 32 views
198

Tôi có hai chi nhánh: masterbranch1. Tôi vừa mới sáp nhập branch1 trở lại vào master và tôi đã hoàn tất với chi nhánh đó. Tôi có nên xóa nó hoặc chỉ để cho nó ngồi xung quanh? Việc xóa nó có làm mất dữ liệu không?Phải làm gì với chi nhánh sau khi hợp nhất

+0

Xem thêm: [Cách sử dụng git merge --squash?] (Http://stackoverflow.com/q/5308816/562769) –

Trả lời

253

Sau khi hợp nhất, nó an toàn để xóa các chi nhánh:

git branch -d branch1 

Bên cạnh đó, git sẽ cảnh báo bạn (và từ chối để xóa các chi nhánh) nếu nó nghĩ rằng bạn không hoàn toàn hợp nhất nó được nêu ra. Nếu bạn buộc xóa một chi nhánh (với git branch -D) chưa được hợp nhất hoàn toàn, bạn phải thực hiện một số thủ thuật để lấy lại các cam kết chưa được gắn kết (xem bên dưới).

Có một số lý do để giữ một nhánh xung quanh. Ví dụ, nếu đó là một chi nhánh tính năng, bạn có thể muốn có thể thực hiện các sửa lỗi trên đối tượng địa lý đó bên trong nhánh đó.

Nếu bạn cũng muốn xóa các chi nhánh trên một máy chủ từ xa, bạn có thể làm:

git push origin :branch1 

này một cách mạnh mẽ sẽ xóa các chi nhánh trên remote (điều này sẽ không ảnh hưởng đến kho lưu trữ đã check-out dù và won 't ngăn chặn bất kỳ ai có quyền truy cập đẩy để đẩy lại/tạo nó).


git reflog hiển thị các bản xem lại gần đây đã được kiểm tra. Bất kỳ chi nhánh nào bạn đã kiểm tra trong lịch sử kho lưu trữ gần đây cũng sẽ hiển thị ở đó. Bên cạnh đó, git fsck sẽ là công cụ được lựa chọn ở bất kỳ trường hợp nào mất cam kết trong git.

+0

Nếu bạn muốn lưu chi nhánh, bạn có thể tạo thẻ trước khi xóa nó . Nếu bạn muốn quay trở lại điểm đó, bạn có thể kiểm tra thẻ đó. – Joqus

+3

@Joqus Tôi muốn đề nghị giữ nó như một nhánh trong trường hợp đó. Chỉ cần không xuất bản nó. –

18

Tất cả các nhánh của tôi được đặt tên theo dạng Fix/fix- hoặc Ftr/ftr- vv Sử dụng Tower làm giao diện người dùng git, gọn gàng tổ chức tất cả các Ftr /, Fix /, Test/etc. thành các thư mục. Một khi tôi đã làm xong với một chi nhánh, tôi đổi tên họ thành Xong /...- Bằng cách đó vẫn còn đó (có thể thuận tiện để cung cấp lịch sử) và tôi luôn có thể quay trở lại biết nó là gì (tính năng, sửa chữa, kiểm tra vv .)

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