Nếu các nhà phát triển khác đẩy chi nhánh cục bộ của họ vào một kho lưu trữ từ xa được chia sẻ trước khi cam kết chia sẻ (để chia sẻ, sao lưu hoặc lưu trữ chúng) máy), có cách nào để tôi dễ dàng chỉ lấy các nhánh của riêng mình hoặc xóa một cách có chọn lọc các tham chiếu cục bộ đến các nhánh từ xa của người khác không? Nếu không, có cách nào để chỉ hiển thị một tập hợp con của các nhánh từ xa trong gitk, vì vậy tôi có thể thấy các nhánh của tôi có liên quan đến các nhánh từ xa của tôi không, nhưng không có đồ thị lộn xộn bởi các nhánh xa của mọi người?Chỉ tìm nạp một tập hợp con của các nhánh git từ xa hoặc chỉ hiển thị một tập hợp con trong gitk
Trả lời
Dưới đây là một cách để chỉ lấy chi nhánh cụ thể từ một từ xa:
Các refs (bao gồm cả chi nhánh) được lấy từ một từ xa được kiểm soát với các tùy chọn cấu hình remote.<remote-name>.fetch
. Ví dụ, remote.origin.fetch
của bạn có lẽ là refspec:
+refs/heads/*:refs/remotes/origin/*
... có nghĩa là để làm cho lấy tên của tất cả các refs dưới refs/heads/
trong kho từ xa, và làm cho họ phát hành theo refs/remotes/origin/
trong kho lưu trữ tại địa phương. (+
có nghĩa là thực hiện cập nhật bắt buộc, vì vậy các chi nhánh theo dõi từ xa của bạn có thể được cập nhật ngay cả khi bản cập nhật không chuyển tiếp nhanh.)
Thay vào đó, bạn có thể liệt kê nhiều phân đoạn xác định các nhánh cụ thể để tìm nạp, ví dụ: thay đổi điều này bằng:
git config remote.origin.fetch +refs/heads/master:refs/remotes/origin/master
git config --add remote.origin.fetch +refs/heads/blah:refs/remotes/origin/blah
... và sau đó lần sau chỉ master
và blah
sẽ được tìm nạp.
Tất nhiên, bạn đã có nhiều chi nhánh theo dõi từ xa, và gitk
sẽ vẫn hiển thị các chi nhánh đó. Bạn có thể xóa từng mục mà bạn không quan tâm với:
git branch -r -d origin/uninteresting
Thay vì xóa từng nhánh theo dõi từ xa một cách riêng biệt, bạn sẽ có thể thực hiện 'git remote prune origin', mà tôi nghĩ sẽ lấy fetchspecs vào xem xét – knittl
@knittl: Tài liệu không đề xuất điều đó, và tôi vừa thử nghiệm trong git 1.7.0.4, với 'remote.origin.fetch = + refs/heads/master: refs/remotes/origin/master' và nó dường như không loại bỏ chúng ... –
ok, sai giả định từ phía tôi:) sẽ rất thú vị nếu được coi là hành vi mong đợi – knittl
- 1. Cách lấy một tập hợp con của một liệt kê
- 2. Oracle: Lập chỉ mục một tập hợp con các hàng của một bảng
- 3. Cách tìm Tập hợp - Tập hợp con của hai tệp từ dòng lệnh?
- 4. Làm thế nào để trích xuất một tập hợp con của lịch sử từ Git?
- 5. Có thể chỉ hợp nhất một tập con của các phụ thuộc sử dụng ILMerge không?
- 6. geom_smooth trên một tập hợp con của dữ liệu
- 7. Sử dụng DictWriter để viết một tập hợp con của các phím của một từ điển
- 8. Tạo tập con của Tập hợp trong Java
- 9. Làm thế nào để chuyển một tập hợp con của tập hợp sang phương thức C#?
- 10. Tìm nạp tất cả các nhánh từ xa vào một kho Git trống
- 11. Liệt kê thông qua một tập hợp con của một Bộ sưu tập trong C#?
- 12. tập hợp con của nhóm với data.table
- 13. Serializing một tập hợp con của hình thức
- 14. lập chỉ mục một khung dữ liệu dựa trên một tập hợp con vector
- 15. Hợp nhất các nhánh từ xa trong git
- 16. Tìm tập hợp con với các phần tử xa nhau nhất với nhau
- 17. Mẫu ngẫu nhiên của các hàng từ tập hợp con của một khung dữ liệu R
- 18. Làm thế nào để làm cho gitk chỉ hiển thị các chi nhánh địa phương?
- 19. Không thể thấy sự khác biệt trong nhánh từ xa sau khi git tìm nạp
- 20. R Không có trong tập hợp con
- 21. Chọn một tập hợp con ngẫu nhiên duy nhất từ một tập hợp các giá trị duy nhất
- 22. Làm thế nào để chỉ nhận được một tập hợp con của một lệnh băm trong Ruby 1.9?
- 23. Tìm kiếm GIT từ xa tất cả các chi nhánh cho nội dung tập tin?
- 24. Làm cách nào để trích xuất một tập hợp con của từ điển sang một tập hợp con khác trong C#?
- 25. Đồ thị biểu đồ tập hợp con theo nhãn
- 26. Lấy một tập hợp con của một mảng dựa trên một dãy các phím
- 27. Chỉ kết hợp một changeset từ một chi nhánh khác
- 28. Tính tỷ lệ trong các tập hợp con của một khung dữ liệu
- 29. Cách xóa một tập hợp con các mục khỏi Bộ sưu tập Khung thực thể
- 30. Chuỗi chỉ chứa một tập hợp các ký tự
Tôi hy vọng rằng tôi đã chỉnh sửa một chút cho tiêu đề của bạn vì từ xa "git" là một khái niệm riêng biệt từ một nhánh trong điều khiển từ xa - câu hỏi của bạn là về sau, và tiêu đề là một chút sai lầm. –
Nói về 'thân cây' trong ngữ cảnh Git hơi lạ, phải không? – knittl