2010-03-15 67 views
6

Lệnh để loại bỏ một chi nhánh từ xa trong git là saugiải thích lệnh cho git xóa chi nhánh từ xa

git push origin :/heads/[feature-name] 
     [feature-name] being the name of the branch 

này không được công việc một cách hoàn hảo, đúng đó.
Tuy nhiên bằng cách nhập, tôi không thể kết hợp những gì tôi nhập thực sự đang xóa chi nhánh.

Bạn có thể mô tả lý do tại sao điều này thực sự hoạt động không? (câu hỏi của tôi không liên quan gì đến cách nó được triển khai)

Hiểu điều này, hy vọng sẽ giúp tôi hiểu rõ hơn về cách thức hoạt động của git.

+0

câu hỏi hay .. Tôi đã tự hỏi như vậy. – hasen

Trả lời

8

Định dạng của git push (cho phần của chúng tôi) là:

git push <repository> <src>:<dst> 

Vì vậy, sử dụng git push xuất xứ:/con/[feature-name] nói với git để đẩy một chi nhánh có sản phẩm nào để tính năng tên chi nhánh xuất xứ. Vì vậy, bạn làm sạch nó.

+0

aha, cuối cùng cũng hợp lý với tôi! – hasen

0

Tên chi nhánh là nhãn trỏ đến SHA cam kết. Bạn đang xóa nhãn hiệu quả đó. Vì không có nhãn trong việc duy trì nhánh đó, nó được chuyển vào thùng rác và bị mất.

Đó sang một bên, "xóa" lệnh được xác định để có cú pháp đó, như mô tả trong man page của git push:

git push xuất xứ: thực nghiệm Tìm một ref phù hợp với thực nghiệm trong kho nguồn gốc (ví dụ: refs/heads/experiment) và xóa nó.

Hoặc có thể sử dụng tùy chọn --delete.

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