Sebagai seorang yang sudah lama Visual SourceSafe pengguna (dan pembenci) saya membahas tentang beralih ke SVN dengan seorang rekan, ia menyarankan menggunakan Git sebaliknya. Karena, rupanya, hal ini dapat digunakan sebagai peer-to-peer tanpa server pusat (kami adalah 3-tim pengembang).
Saya belum bisa menemukan apa-apa tentang alat-alat yang mengintegrasikan Git dengan Visual Studio, meskipun - yang melakukan hal seperti itu ada?
Apa teknologi yang tersedia untuk menggunakan Git dengan Visual Studio? Dan apa yang saya perlu tahu tentang bagaimana mereka berbeda sebelum saya mulai?
Di Januari 2013, Microsoft diumumkan bahwa mereka menambahkan Git dukungan ke semua ALM produk. Mereka telah menerbitkan sebuah plugin]4 untuk Visual Studio 2012 yang menambahkan Git sumber integrasi kontrol.
Selain itu, ada sebuah proyek yang disebut Git Extensions yang mencakup add-in untuk Visual Studio 2005, 2008, 2010 dan 2012, serta integrasi Windows Explorer. It's secara teratur diperbarui dan telah digunakan pada beberapa proyek, saya've menemukan itu sangat berguna.
Pilihan lain adalah Git Sumber Kendali Penyedia.
Saya menggunakan Git dengan Visual Studio untuk port Protokol Buffer untuk C#. Saya don't menggunakan GUI - aku hanya terus baris perintah terbuka serta Visual Studio.
Untuk sebagian besar itu's baik - baik saja-satunya masalah adalah ketika anda ingin mengubah nama file. Kedua Git dan Visual Studio akan lebih suka bahwa mereka ** adalah salah satu untuk mengubah nama itu. Saya berpikir bahwa nama itu di Visual Studio adalah cara untuk pergi meskipun hanya berhati - hatilah apa yang anda lakukan di Git samping setelahnya. Meskipun hal ini telah sedikit rasa sakit di masa lalu, saya'telah mendengar bahwa itu benar-benar harus cukup mulus pada Git samping, karena dapat melihat bahwa isi akan sebagian besar sama. (Tidak sepenuhnya sama, biasanya anda cenderung untuk mengganti nama file ketika anda're mengganti nama kelas, IME.)
Tapi pada dasarnya - ya, itu bekerja dengan baik. I'm Git newbie, tapi saya bisa mendapatkannya untuk melakukan segala sesuatu yang saya butuhkan. Pastikan anda memiliki git mengabaikan file bin dan obj, dan *.pengguna.
I've melihat ke dalam ini sedikit di pekerjaan (baik dengan Subversi dan Git). Visual Studio benar-benar memiliki kontrol sumber integrasi API untuk memungkinkan anda untuk mengintegrasikan sumber pihak ketiga solusi kontrol dalam Visual Studio. Namun, sebagian besar orang-orang yang don't repot-repot dengan itu untuk beberapa alasan.
Yang pertama adalah bahwa API cukup banyak mengasumsikan anda menggunakan sebuah terkunci-checkout alur kerja. Ada banyak kait di dalamnya yang baik cara mahal untuk diterapkan, atau hanya datar keluar tidak masuk akal ketika anda menggunakan lebih modern edit-menggabungkan alur kerja.
Yang kedua (yang terkait) adalah bahwa ketika anda menggunakan edit-menggabungkan alur kerja yang baik Subversi dan Git mendorong, anda don't benar-benar perlu Visual Studio integrasi. Utama pembunuh hal tentang SourceSafe's integrasi dengan Visual Studio adalah bahwa anda (dan editor) dapat memberitahu sekilas yang file anda sendiri, yang harus memeriksa sebelum anda dapat mengedit, dan yang tidak dapat anda check out, bahkan jika anda ingin. Maka hal ini dapat membantu anda melakukan apapun revisi-kontrol voodoo yang perlu anda lakukan ketika anda ingin mengedit file. Tidak ada yang bahkan adalah bagian dari khas kendari.
Ketika anda menggunakan Git (atau SVN biasanya), anda revisi-kontrol interaksi semua berlangsung baik sebelum sesi pengembangan anda, atau setelah itu (setelah anda memiliki semua yang bekerja dan diuji). Pada saat itu benar-benar isn't terlalu banyak rasa sakit untuk menggunakan alat yang berbeda. Anda tidak't terus-menerus harus beralih kembali dan sebagainya.
Saya menemukan bahwa Git, bekerja pada seluruh pohon-pohon seperti itu, manfaat kurang dari IDE integrasi dari sumber alat-alat kontrol yang baik file berdasarkan atau mengikuti checkout-edit-melakukan pola. Tentu saja ada contoh ketika hal ini dapat menyenangkan untuk klik pada tombol untuk melakukan beberapa riwayat pemeriksaan, tapi aku don't lewatkan yang sangat banyak.
Sebenarnya yang harus dilakukan adalah untuk mendapatkan anda .gitignore file yang penuh dari hal-hal yang seharusnya't berada dalam ruang penyimpanan. Tambang umumnya mengandung (di antara hal-hal lain) berikut ini:
*.vcproj.*.user
*.ncb
*.aps
*.suo
tapi ini berat C++ bias dengan sedikit atau tidak ada penggunaan setiap kelas wizard gaya fungsionalitas.
Saya penggunaan pola adalah sesuatu seperti berikut.
Kode, kode, kode dalam Visual Studio.
Saat bahagia (masuk akal intermediate point untuk melakukan code, beralih ke Git, tahap perubahan dan review diffs. Jika apa-apa's jelas salah beralih kembali ke Visual Studio dan memperbaiki, jika tidak melakukan.
Setiap gabung, cabang, rebase atau mewah lainnya SCM hal yang mudah untuk dilakukan di Git dari command prompt. Visual Studio adalah biasanya cukup senang dengan hal-hal yang berubah di bawah ini, meskipun hal ini dapat kadang-kadang perlu untuk isi ulang beberapa proyek jika anda've mengubah file proyek secara signifikan.
Saya menemukan bahwa kegunaan dari Git melebihi ketidaknyamanan kecil tidak memiliki penuh IDE integrasi tetapi, sampai batas tertentu, masalah selera.
Microsoft mengumumkan Git untuk Visual studio 2012 (update 2) baru-baru ini. Aku tidak bermain-main dengan hal itu, namun video tampak menjanjikan.
Berikut adalah cepat tutorial pada cara menggunakan Git dari Visual Studio 2012.
Ada's Visual Studio Tools for Git oleh Microsoft. Ini hanya mendukung Visual Studio tahun 2012 (update 2) sekalipun.
Git dukungan yang dilakukan oleh Microsoft Visual Studio hanya cukup baik untuk pekerjaan dasar (melakukan/mengambil/merge dan mendorong). Saran saya adalah hanya untuk menghindari itu...
Saya sangat sukai GitExtensions (atau kurang proporsi SourceTree). Karena melihat DAG ini bagi saya benar-benar penting untuk memahami bagaimana Git bekerja. Dan anda akan lebih banyak mengetahui apa yang lain kontributor untuk proyek anda telah selesai!
Di Visual Studio, anda bisa't dengan cepat melihat perbedaan antara file atau melakukan, atau (menambah index) dan melakukan hanya bagian dari modifikasi. Menelusuri sejarah tidak baik baik... Semua itu berakhir di suatu pengalaman yang menyakitkan!
Dan, misalnya, GitExtensions dibundel dengan plugin menarik: latar belakang fetch, GitFlow,... dan sekarang, integrasi berkesinambungan!
Untuk para pengguna Visual Studio 2015, Git adalah mengambil bentuk jika anda menginstal ekstensi GitHub. Tapi alat eksternal masih lebih baik ;-)
Rilis terbaru dari Git Extensions mendukung Visual Studio 2010 sekarang (bersama dengan Visual Studio 2008 dan Visual Studio 2005).
Saya menemukan itu menjadi cukup mudah untuk digunakan dengan Visual Studio 2008 dan antarmuka tampaknya sama di Visual Studio 2010.
Solusi yang paling sederhana yang benar-benar bekerja cukup baik untuk menambah TortoiseGit perintah sebagai alat eksternal.
Saat ini ada 2 pilihan untuk Git Source Control pada Visual Studio (2010 dan 12):
Saya telah mencoba kedua dan telah menemukan 1st seseorang menjadi lebih dewasa, dan memiliki lebih banyak fitur. Misalnya bermain baik dengan kedua kura-kura git dan git extensions, dan bahkan terkena fitur mereka.
Catatan: Mana ekstensi yang anda gunakan, pastikan bahwa anda mengaktifkannya dari alat-Alat - > Pilihan -> kontrol Sumber -> Plugin Pilihan
untuk itu untuk bekerja.
Sebagai mantioned oleh Jon Rimmer, anda dapat menggunakan GitExtensions. GitExtensions tidak bekerja pada Visual Studio 2005 dan Visual Studio 2008, itu juga tidak bekerja di Visual Studio 2010 jika anda secara manual copy dan konfigurasi .Addin file.