2015-02-01 16 views
66

Tôi có chi nhánh chính và chi nhánh nhà phát triển trong kho lưu trữ của mình. Tôi muốn loại bỏ các chi nhánh chủ từ máy tính của tôi để tôi không vô tình cam kết với nó (nó đã xảy ra ..).Làm cách nào để xóa chi nhánh tại địa phương?

Có một số câu hỏi ở đây về cách xóa các chi nhánh cục bộ từ xa, nhưng tôi không thể tìm ra cách chỉ xóa chi nhánh cục bộ.

Một câu trả lời cho biết sử dụng này:

git branch -d local_branch_name 

Nhưng tôi cố gắng đó và các chi nhánh vẫn hiển thị trong ứng dụng GitHub.

+0

Đầu ra từ lệnh đó là gì? Bạn đang ở chi nhánh nào? Làm thế nào nó xuất hiện trong giao diện điều khiển? – SLaks

+0

@SLaks Tôi đã có một loại trong câu hỏi của mình.Trong giao diện điều khiển, nó thực sự không nói nhánh đã bị xóa, nhưng trong ứng dụng GitHub (ngay cả sau khi khởi động lại nó) nhánh và commit vẫn hiển thị. Đầu ra là 'Deleted branch master (là e8a8e29). ' – Nate

+0

GitHub cho Windows hiển thị các nhánh từ xa quá – SLaks

Trả lời

53

Tôi nghĩ rằng (dựa trên ý kiến ​​của bạn) mà tôi hiểu những gì bạn muốn làm: bạn muốn copy cục bộ của kho có cả chi nhánh bình thường địa phương master, cũng không điều khiển từ xa theo dõi chi nhánh origin/master, mặc dù kho lưu trữ mà bạn đã sao chép - một github - có một chi nhánh địa phương master mà bạn không muốn xóa khỏi phiên bản github.

Bạn có thể thực hiện việc này bằng cách xóa chi nhánh theo dõi từ xa một cách cục bộ, nhưng nó sẽ trở lại mỗi khi bạn yêu cầu git đồng bộ hóa kho lưu trữ cục bộ với kho lưu trữ từ xa. có "và nó nói" Tôi có master "để git của bạn (tái) tạo ra origin/master cho bạn, để kho lưu trữ của bạn có những gì họ có.

Để xóa chi nhánh từ xa theo dõi của bạn tại địa phương bằng cách sử dụng giao diện dòng lệnh:

git branch -d -r origin/master 

nhưng một lần nữa, nó sẽ chỉ trở lại vào tái đồng bộ. Nó có thể đánh bại điều này (sử dụng thao tác remote.origin.fetch), nhưng bạn có lẽ tốt hơn là chỉ bị xử lý kỷ luật đủ để không tạo hoặc sửa đổi master cục bộ.

+0

Liên quan: [Làm thế nào để sao chép một nhánh duy nhất trong git?] (Https://stackoverflow.com/q/1778088/321973) –

9

Ứng dụng Github cho Windows hiển thị tất cả các nhánh từ xa của một kho lưu trữ. Nếu bạn đã xóa chi nhánh tại địa phương với $ git branch -d [branch_name], chi nhánh từ xa vẫn tồn tại trong kho lưu trữ Github của bạn và sẽ xuất hiện bất kể trong ứng dụng Windows Github.

Nếu bạn muốn xóa toàn bộ chi nhánh (từ xa), hãy sử dụng lệnh ở trên kết hợp với $ git push origin :[name_of_your_new_branch]. Cảnh báo: lệnh này sẽ xóa tất cả các nhánh hiện có và có thể làm mất mã. Hãy cẩn thận, tôi không nghĩ rằng đây là những gì bạn đang cố gắng làm.

Tuy nhiên, mỗi lần bạn xóa thay đổi nhánh địa phương, nhánh từ xa sẽ vẫn xuất hiện trong ứng dụng. Nếu bạn không muốn tiếp tục thực hiện thay đổi, chỉ cần bỏ qua nó và không nhấp vào, nếu không bạn có thể sao chép kho lưu trữ. Nếu bạn có thêm bất kỳ câu hỏi nào, vui lòng cho tôi biết.

12

Force Xóa chi nhánh địa phương:

$ git branch -D 'branch_name' 

Lưu ý:"-D" là lực xóa tùy chọn.

+0

Nếu tôi xóa một chi nhánh địa phương có tập hợp ngược dòng và sau đó thực hiện một cú đẩy bình thường, nó sẽ thắng ' t xóa chi nhánh từ xa phải không? –

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