2012-02-01 29 views
13

Để xóa một chi nhánh địa phương trong git, tôi sử dụng git branch -d, nhưng làm cách nào để xóa một nhánh từ xa một cách an toàn?Làm thế nào để xóa an toàn một nhánh git từ xa?

Tôi chỉ muốn xóa nó chỉ khi chi nhánh từ xa được hợp nhất với chi nhánh hiện tại của tôi.

+0

Tại sao không chỉ cần chắc chắn và hợp nhất các chi nhánh thượng nguồn của bạn với chi nhánh địa phương của bạn trước khi xóa nó? – Abizern

Trả lời

16

Câu trả lời một phần đề cập ở đây: How can I know in git if a branch has been already merged into master?

Trong khi bài mà đối phó với các ngành, địa phương, bạn có thể tìm thấy các chi nhánh từ xa mà được sáp nhập hoặc không sử dụng

  • git branch -r --merged để phát hiện tất cả các chi nhánh từ xa mà đã sáp nhập vào dòng
  • git branch -r --unmerged để làm ngược lại

  • git branch -r --no-merged là chính xác cho phiên bản mới Git và tôi không chắc liệu git branch -r --unmerged có thể áp dụng cho số git cũ hay không.

Khi bạn phát hiện ra rằng một chi nhánh từ xa cụ thể đã được sáp nhập (tức là nó xuất hiện khi gõ git branch -r --merged), bạn có thể xóa nó như Michael Krelinanswers sử dụng

git push <remote> :<remotebranchname> 

Xem thêm tài liệu của git branch cho --merged--unmerged cờ.

+0

cảm ơn vì đã đề xuất xóa bỏ phiếu giảm giá, tôi không nghĩ rằng 2 điểm đáng giá. Như một phần thưởng bạn nhận được một upvote;) –

+0

Có ai đó một cách để tự động hóa quá trình này (danh sách các chi nhánh sáp nhập từ xa và xóa chúng)? – eloyesp

+2

Trong git 1.8 (dunno về các phiên bản trước) nó là '--no-merged' thay vì' --unmerged'. –

5

Chỉ cần chỉ ra rằng đối với các chi nhánh chưa hợp nhất có vẻ như tùy chọn hiện đang --no-sáp nhập như đã giải thích trên http://git-scm.com/docs/git-branch

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