Disclaimer: Tôi bắt đầu các git-tf
dự án và mặc dù dự án hiện đang trong tay rất có khả năng mà không có tôi là một cộng tác viên thường xuyên, bạn hoàn toàn nên xem xét ý kiến của tôi về vấn đề này để được mạnh mẽ thiên vị. (Và, giả sử bạn đang sử dụng Windows, có lẽ không mong đợi.)
Có hai điểm khác biệt cơ bản giữa hai công cụ:
git-tfs
được xây dựng cho người dùng Windows và được viết trên .NET TFS SDK. TFS SDK sẽ không chạy trong Mono, vì vậy điều này git-tfs
không phù hợp để sử dụng trên nhiều nền tảng.
git-tf
được xây dựng cho người dùng đa nền tảng và được viết trên Java TFS SDK. Do đó, nó sẽ chạy ở bất kỳ đâu được hỗ trợ bởi Java TFS SDK (Windows, Mac, Linux, AIX, HP-UX, Solaris, v.v.) git-tf
được tạo rõ ràng để cho phép người dùng Xcode truy cập TFS.
Tất nhiên, trên Windows, bạn có thể sử dụng một trong hai. Tôi sẽ không nhất thiết phải nói cái này tốt hơn cái kia. Nhưng tôi sẽ nói:
Khiếu nại lớn nhất của tôigit-tfs
là nó sẽ không hoạt động trên Mac OS. Nếu có một cách để tạo ra git-tfs
đa nền tảng, thì git-tf
gần như chắc chắn sẽ không tồn tại.
git-tfs
là nhanh hơn trong một số trường hợp hơn git-tf
. Hiệu suất không phải là ưu tiên của chúng tôi trong một vài lần sửa đổi đầu tiên, mà là tính đúng đắn.
Bởi vì git-tf
có một ma trận hỗ trợ nền tảng rộng, điều này có nghĩa là chức năng của nó nhất thiết bị hạn chế. Ví dụ: không có giao diện người dùng. git-tfs
, mặt khác, có một checkintool
lệnh sẽ mở hộp thoại Kiểm tra TFS bình thường. Điều này có thể đặc biệt hữu ích trong việc hình dung các thay đổi của bạn. (Nếu tôi nhớ lại, bạn có thể mở ra một hình ảnh khác biệt phù hợp từ đó, v.v.)
git-tf
hoạt động bằng cách đưa trực tiếp kho lưu trữ git, tải các đối tượng TFS trực tiếp vào cơ sở dữ liệu đối tượng git. git-tfs
hoạt động bằng cách tạo ánh xạ thư mục làm việc TFS trong một thư mục ẩn, sau đó điền kho lưu trữ git từ đó. Có một hình phạt đĩa ở đây, vì vậy nếu bạn có kho lưu trữ khổng lồ, bạn có thể cảm thấy điều này.
git-tfs
có thể cố gắng ánh xạ các nhánh TFS của bạn với các nhánh git của bạn. Rất nhiều người sẽ thấy điều này là tích cực git-tfs
, mặc dù tôi thì không: mô hình phân nhánh của git (ở cấp kho lưu trữ) và mô hình phân nhánh của TFS (được biểu thị dưới dạng các thư mục trong kho lưu trữ) hoàn toàn khác nhau đến mức có thể gây ra sự cố trong bất kỳ điều gì ngoại trừ quy trình làm việc đơn giản nhất. Nhưng số dặm của bạn có thể khác nhau.
git-tfs
được phát triển tích cực bởi một cộng đồng. git-tf
chưa có sự chấp nhận của cộng đồng.
Tôi không muốn làm cho nó nghe như tôi đang nói git-tf
là xấu. Nó không thể. Tôi nghĩ nó thực sự khá tốt. Nhưng nó có thể không phải là sự lựa chọn tốt nhất của bạn.
Cập nhật: git-tf
đã hết tuổi thọ . Nó không còn được duy trì hoặc hỗ trợ bởi Microsoft. Chúng tôi đề xuất git-tfs
nếu bạn muốn có giải pháp TFS <-> git hai chiều.