Làm gì với nhánh sau khi hợp nhất


Câu trả lời:


410

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

git branch -d branch1

Ngoài ra, git sẽ cảnh báo bạn (và từ chối xóa chi nhánh) nếu nó nghĩ rằng bạn chưa hợp nhất hoàn toàn. Nếu bạn mạnh mẽ xóa một 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 trộn lại (xem bên dưới).

Có một số lý do để giữ một chi nhánh xung quanh mặc dù. Ví dụ: nếu đó là một nhánh tính năng, bạn có thể muốn có thể sửa lỗi trên tính năng đó vẫn bên trong nhánh đó.

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

git push origin :branch1

Điều này sẽ mạnh mẽ xóa chi nhánh trên điều khiển từ xa (điều này sẽ không ảnh hưởng đến các repositiories đã được kiểm tra và sẽ không ngăn chặn bất kỳ ai có quyền truy cập đẩy để đẩy lại / tạo nó).


git reflogcho thấy các phiên bản kiểm tra gần đây. 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 fscksẽ là công cụ được lựa chọn trong mọi trường hợp mất cam kết trong git.


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 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ỉ không xuất bản nó.
Jonas Schäfer

Chỉ trong trường hợp - nếu bạn muốn "hợp nhất hoàn toàn" chi nhánh trước khi xóa nó, chỉ cần đẩy chi nhánh đó sau khi hợp nhất, nhưng trước khi xóa. Một cái gì đó giống nhưgit checkout master && git merge branch1 && git push origin branch1 && git branch -d branch1
avtomaton

25

Tôi thích RENAME hơn là XÓA

Tất cả các chi nhánh của tôi được đặt tên theo hình thức

  • Fix/fix-<somedescription> hoặc là
  • Ftr/ftr-<somedescription> hoặc là
  • Vân vân.

Sử dụng tháp như kết thúc trước git của tôi, nó gọn gàng tổ chức tất cả các Ftr/, Fix/, Test/vv vào thư mục.
Khi tôi đã hoàn thành với một chi nhánh, tôi đổi tên chúng thành Done/...-<description>.

Bằng cách đó, chúng vẫn ở đó (có thể hữu ích để cung cấp lịch sử) và tôi luôn có thể quay lại để biết nó là gì (tính năng, sửa chữa, kiểm tra, v.v.)


4
Bạn cũng đổi tên các chi nhánh từ xa?
VitalyB

21
Có vẻ dư thừa để giữ các chi nhánh này, và điên rồ để đổi tên chúng. Am i thiếu cái gì ở đây? Bạn luôn có thể tạo lại chi nhánh. stackoverflow.com/questions/3640764/ trên
ksav

không có ý nghĩa gì để giữ các chi nhánh sau khi chúng được sáp nhập
rastaman

2
+1 cho Ý tưởng đổi tên thành Sửa chữa, Thử nghiệm và Hoàn thành ... Giữ chi nhánh là cách các nhà thầu được trả tiền cho công ty của tôi.
jpfreire

1

Nếu bạn sẽ đi trước và XÓA chi nhánh sau khi hợp nhất nó.
Chỉ cần chăm sóc
tất cả các tham chiếu URL siêu liên kết của các chi nhánh BỊ XÓA của bạn, sẽ là MÔI GIỚI .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.