2012-10-11 16 views

Trả lời

19

Branch.IsCurrentRepositoryHead nên thực hiện thủ thuật.

Tôi nghĩ Repository.Head cũng sẽ làm điều tương tự nếu bạn không muốn lặp qua các chi nhánh ...

+0

Trong trường hợp nó bắt bất kỳ ai khác, vì tính chính xác của thuộc tính này, nó sẽ trả về false nếu bạn đã kiểm tra 'Branch' nhưng bạn đang ở phía sau hoặc phía trước nhánh đó trên một điều khiển được lấy từ xa. – patridge

+0

Chức năng này không nên quan tâm đến bất kỳ kho lưu trữ từ xa nào. Nó theo nghĩa đen là một chuỗi so sánh với tên chi nhánh. Nếu bạn nghĩ rằng nó thay đổi tùy thuộc vào kho lưu trữ từ xa, vui lòng gửi báo cáo lỗi với trường hợp sao chép. –

0

Tôi nghĩ rằng, thay vì đi qua các chi nhánh và kiểm tra xem mỗi chi nhánh là người đứng đầu hiện nay , cách tiếp cận đơn giản nhất là trực tiếp lấy tên chi nhánh của ông vụ trưởng kho:

using (var repo = new Repository(@"path to .git")) 
{ 
    var currentBranchName = repo.Head.FriendlyName; 
} 

sau đó bạn có thể có được các chi nhánh chính nó thông qua

repo.Branches[currentBranchName] 
+0

Bạn chỉ có thể sử dụng 'Head' để lấy nhánh:' repo.Head.Reference.TargetIdentifier'. –