Magit - Làm cách nào tôi có thể kiểm tra một chi nhánh từ xa cục bộ mà không cần nhập toàn bộ tên chi nhánh?


12

Tôi có một chi nhánh từ xa remote-branch-long-name. Khi tôi kiểm tra thanh toán với sự hoàn thành của helm, tôi có thể gõ remote-branchorigin/remote-branch-long-namesẽ hiển thị dưới dạng tùy chọn. Vấn đề là để kiểm tra chi nhánh này tại địa phương, tôi thực sự không thể chuyển sang chi nhánh đó, tôi cần chuyển sang remote-branch-long-name (without the origin/ prefix), vì helm không cung cấp tùy chọn hoàn thành, tôi phải tự nhập toàn bộ tên chi nhánh.

Có một chức năng khác tôi nên sử dụng cho trường hợp sử dụng này hay tôi phải hack một chức năng với nhau?

Câu trả lời:


22

Có vẻ như vấn đề bạn đang cố gắng giải quyết không phải là vấn đề bạn đang gặp phải. Git không cho phép bạn làm việc cục bộ với các chi nhánh từ xa ( origin/remote-branch-long-namebạn thấy chỉ là một nhánh theo dõi; bạn không thể làm việc trực tiếp với nó) và Magit đang hướng dẫn bạn hướng tới quy trình làm việc dự định.

Vì bạn muốn làm việc với origin/remote-branch-long-namebạn nên có thể chạy magit-branch-and-checkout( b c). Chọn origin/remote-branch-long-namevà nó sẽ nhắc bạn cho một tên chi nhánh địa phương và sẽ mặc định là "tên nhánh dài từ xa". Điều này cung cấp cho bạn chi nhánh địa phương cần thực hiện các thay đổi của bạn. Khi được thực hiện với các thay đổi của bạn và đẩy tới origin/remote-branch-long-namenó sẽ cập nhật nhánh theo dõi từ xa.

Bạn có thể có các nhánh cục bộ với dấu gạch chéo trong chúng, nhưng sử dụng tên từ xa trong tên nhánh cục bộ có thể khiến mọi thứ trở nên rất khó hiểu. Git nhớ rằng từ xa một chi nhánh địa phương đã được kiểm tra, vì vậy bạn không cần phải tự theo dõi nó.

Để giải thích đầy đủ hơn câu trả lời của tôi ở đây (!) Bạn tìm trang này để có cái nhìn tổng quan tốt về điều khiển từ xa.


6
Tôi nghĩ rằng việc ngắt kết nối ở đây là luồng Magit khác với luồng git. Nếu bạn chạy git checkout foofookhông phải là một nhánh, nhưng origin/foolà, git sẽ tạo một nhánh mới foovà đặt nó để theo dõi origin/foo. Vì vậy, git dạy bạn nghĩ rằng "Tôi chỉ cần kiểm tra foo, và git làm mọi thứ cần thiết". Nhưng điều này không hoạt động với pháp sư; chạy magit-branch-and-checkoutlà con đường để đi
zck

4

Kể từ magit v2.12.0, có một lệnh magit-branch-checkout, được ràng buộc với b l(Thanh toán chi nhánh địa phương), đó chính xác là những gì bạn muốn. Xem tài liệu để biết chi tiết.

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.