Saya menemukan bahwa Git, bekerja pada seluruh pohon seperti halnya, mendapat manfaat lebih sedikit dari integrasi IDE daripada alat kontrol sumber yang berbasis file atau mengikuti pola checkout-edit-commit. Tentu saja ada contoh di mana bisa menyenangkan untuk mengklik tombol untuk melakukan pemeriksaan sejarah, tapi saya tidak terlalu merindukan itu.
Yang harus dilakukan adalah mendapatkan file .gitignore Anda penuh dengan hal-hal yang seharusnya tidak ada dalam repositori bersama. Milik saya umumnya berisi (di antara hal-hal lain) berikut ini:
*.vcproj.*.user
*.ncb
*.aps
*.suo
tapi ini sangat C ++ bias dengan sedikit atau tanpa menggunakan fungsi gaya kelas penyihir.
Pola penggunaan saya adalah seperti berikut ini.
Kode, kode, kode dalam Visual Studio.
Ketika senang (titik perantara yang masuk akal untuk mengkomit kode, beralih ke Git, tahapan ubah dan ulasan berbeda. Jika ada yang salah, kembali ke Visual Studio dan perbaiki, jika tidak, komit.
Penggabungan, cabang, rebase, atau hal-hal SCM mewah lainnya mudah dilakukan di Git dari command prompt. Visual Studio biasanya cukup senang dengan hal-hal yang berubah di bawahnya, walaupun terkadang perlu memuat ulang beberapa proyek jika Anda telah mengubah file proyek secara signifikan.
Saya menemukan bahwa kegunaan Git lebih besar daripada ketidaknyamanan kecil karena tidak memiliki integrasi penuh IDE tetapi, sampai batas tertentu, masalah selera.