Tôi thấy rằng Git, hoạt động trên toàn bộ cây như hiện tại, được hưởng lợi ít hơn từ tích hợp IDE so với các công cụ kiểm soát nguồn dựa trên tệp hoặc theo mô hình kiểm tra-chỉnh sửa-cam kết. Tất nhiên có những trường hợp có thể tốt khi nhấp vào nút để thực hiện kiểm tra lịch sử, nhưng tôi không bỏ lỡ điều đó rất nhiều.
Việc cần làm thực sự là làm cho tệp .gitignore của bạn có đầy đủ những thứ không nên có trong kho lưu trữ được chia sẻ. Của tôi thường chứa (trong số những thứ khác) như sau:
*.vcproj.*.user
*.ncb
*.aps
*.suo
nhưng điều này rất thiên về C ++ với rất ít hoặc không sử dụng bất kỳ chức năng kiểu trình hướng dẫn lớp nào.
Mô hình sử dụng của tôi là một cái gì đó như sau.
Mã, mã, mã trong Visual Studio.
Khi hạnh phúc (điểm trung gian hợp lý để xác nhận mã, hãy chuyển sang Git, thay đổi giai đoạn và xem xét khác. Nếu bất cứ điều gì rõ ràng là sai hãy quay lại Visual Studio và sửa, nếu không thì cam kết.
Bất kỳ hợp nhất, nhánh, rebase hoặc các công cụ SCM ưa thích khác đều dễ dàng thực hiện trong Git từ dấu nhắc lệnh. Visual Studio thường khá hài lòng với những thứ thay đổi theo nó, mặc dù đôi khi nó có thể cần tải lại một số dự án nếu bạn đã thay đổi đáng kể các tệp dự án.
Tôi thấy rằng tính hữu dụng của Git lớn hơn bất kỳ sự bất tiện nhỏ nào khi không tích hợp IDE đầy đủ nhưng ở một chừng mực nào đó, đó là vấn đề của hương vị.