Sebagai pengguna Visual SourceSafe lama (dan pembenci) saya sedang mendiskusikan beralih ke SVN dengan seorang rekan; dia menyarankan menggunakan Git sebagai gantinya. Karena, tampaknya, ini dapat digunakan sebagai peer-to-peer tanpa server pusat (kami adalah tim 3-pengembang).
Saya belum dapat menemukan apa pun tentang alat yang mengintegrasikan Git dengan Visual Studio, - apakah hal semacam itu ada?
Teknologi apa yang tersedia untuk menggunakan Git dengan Visual Studio? Dan apa yang perlu saya ketahui tentang perbedaannya sebelum saya mulai?
visual-studio
git
Ramuan Caudill
sumber
sumber
Jawaban:
Pada Jan 2013, Microsoft mengumumkan bahwa mereka menambahkan dukungan penuh Git ke semua produk ALM mereka. Mereka telah menerbitkan plugin untuk Visual Studio 2012 yang menambahkan integrasi kontrol sumber Git.
Atau, ada proyek yang disebut Git Extensions yang mencakup tambahan untuk Visual Studio 2005, 2008, 2010 dan 2012, serta integrasi Windows Explorer. Secara teratur diperbarui dan setelah menggunakannya pada beberapa proyek, saya merasa sangat berguna.
Opsi lain adalah Penyedia Kontrol Sumber Git .
sumber
Saya menggunakan Git dengan Visual Studio untuk port Protokol Buffer ke C #. Saya tidak menggunakan GUI - Saya hanya membuka baris perintah dan juga Visual Studio.
Sebagian besar tidak masalah - satu-satunya masalah adalah ketika Anda ingin mengganti nama file. Baik Git dan Visual Studio lebih suka bahwa mereka yang menamainya kembali. Saya pikir mengganti nama itu di Visual Studio adalah cara untuk pergi - hanya hati-hati apa yang Anda lakukan di sisi Git sesudahnya. Walaupun ini agak menyusahkan di masa lalu, saya pernah mendengar bahwa itu sebenarnya harus mulus di sisi Git, karena dapat melihat bahwa isinya sebagian besar akan sama. (Tidak sepenuhnya sama, biasanya - Anda cenderung mengganti nama file saat Anda mengganti nama kelas, IME.)
Tetapi pada dasarnya - ya, itu berfungsi dengan baik. Saya seorang pemula Git, tetapi saya bisa membuatnya melakukan semua yang saya butuhkan. Pastikan Anda memiliki file abaikan git untuk bin dan obj, dan * .user.
sumber
Penyedia Kontrol Sumber Git adalah plug-in baru yang mengintegrasikan Git dengan Visual Studio.
sumber
Saya telah melihat sedikit ini di tempat kerja (baik dengan Subversion dan Git). Visual Studio sebenarnya memiliki API integrasi kontrol sumber untuk memungkinkan Anda mengintegrasikan solusi kontrol sumber pihak ketiga ke dalam Visual Studio. Namun, kebanyakan orang tidak peduli dengan itu karena beberapa alasan.
Yang pertama adalah bahwa API mengasumsikan Anda menggunakan alur kerja checkout yang terkunci. Ada banyak kait di dalamnya yang mahal untuk diimplementasikan, atau hanya tidak masuk akal ketika Anda menggunakan alur kerja edit-gabung yang lebih modern.
Yang kedua (yang terkait) adalah bahwa ketika Anda menggunakan alur kerja edit-gabungan yang didorong oleh Subversion dan Git, Anda tidak benar - benar membutuhkan integrasi Visual Studio. Hal pembunuh utama tentang integrasi SourceSafe dengan Visual Studio adalah bahwa Anda (dan editor) dapat mengetahui secara sekilas file mana yang Anda miliki, yang harus diperiksa sebelum Anda dapat mengedit, dan mana yang tidak dapat Anda periksa meskipun Anda mau. Maka itu dapat membantu Anda melakukan revisi-kontrol voodoo apa pun yang perlu Anda lakukan ketika Anda ingin mengedit file. Tidak ada yang bahkan merupakan bagian dari alur kerja Git yang khas.
Ketika Anda menggunakan Git (atau biasanya SVN), interaksi kontrol revisi Anda semua terjadi baik sebelum sesi pengembangan Anda, atau setelah itu (setelah Anda memiliki semuanya berfungsi dan diuji). Pada titik itu sebenarnya tidak terlalu merepotkan untuk menggunakan alat yang berbeda. Anda tidak selalu harus bolak-balik.
sumber
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:
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.
sumber
git rm <file>
danecho <file> >>.gitignore; git add .gitignore
pada ujung cabang aktif Anda. Setelah Anda melakukan perubahan, Anda selalu dapat memilih cherry-fix ke cabang lain.Microsoft mengumumkan Git untuk Visual studio 2012 (pembaruan 2) baru-baru ini. Saya belum bermain-main dengannya, tapi video ini terlihat menjanjikan.
Berikut ini adalah tutorial singkat tentang cara menggunakan Git dari Visual Studio 2012.
sumber
Juga jangan lewatkan TortoiseGit ... https://tortoisegit.org/
sumber
Ada Alat Visual Studio untuk Git oleh Microsoft. Ini hanya mendukung Visual Studio 2012 (pembaruan 2).
sumber
Visual Studio 2013 secara native mendukung Git.
Lihat pengumuman resmi .
sumber
Dukungan Git yang dilakukan oleh Microsoft dalam Visual Studio cukup baik untuk pekerjaan dasar (komit / ambil / gabungkan dan dorong). Saran saya hanya untuk menghindarinya ...
Saya sangat suka GitExtensions (atau dalam proporsi SourceTree kurang ). Karena melihat DAG bagi saya sangat penting untuk memahami cara kerja Git. Dan Anda jauh lebih menyadari apa yang telah dilakukan kontributor lain untuk proyek Anda!
Di Visual Studio, Anda tidak dapat dengan cepat melihat perbedaan antara file atau melakukan, atau (menambah indeks) dan hanya melakukan sebagian modifikasi. Menelusuri riwayat Anda juga tidak baik ... Semua itu berakhir dengan pengalaman yang menyakitkan!
Dan, misalnya, GitExtensions dibundel dengan plugin yang menarik: pengambilan latar belakang, GitFlow, ... dan sekarang, integrasi berkelanjutan !
Untuk pengguna Visual Studio 2015 , Git mulai terbentuk jika Anda menginstal ekstensi GitHub. Tetapi alat eksternal masih lebih baik ;-)
sumber
TortoiseGit telah matang dan saya merekomendasikannya terutama jika Anda telah menggunakan TortoiseSVN.
sumber
Rilis terbaru dari Git Extensions mendukung Visual Studio 2010 sekarang (bersama dengan Visual Studio 2008 dan Visual Studio 2005 ).
Saya merasa cukup mudah digunakan dengan Visual Studio 2008 dan antarmuka tampaknya sama di Visual Studio 2010.
sumber
Solusi paling sederhana yang benar-benar berfungsi dengan baik adalah dengan menambahkan perintah TortoiseGit sebagai alat eksternal.
Solusi untuk menambahkan bilah alat Git (TortoiseGit) ke Visual Studio
sumber
Seperti yang disebutkan oleh Jon Rimmer, Anda dapat menggunakan GitExtensions. GitExtensions berfungsi di Visual Studio 2005 dan Visual Studio 2008, juga berfungsi di Visual Studio 2010 jika Anda menyalin dan mengonfigurasi file .Addin secara manual.
sumber
Saat ini ada 2 opsi untuk Kontrol Sumber Git di Visual Studio (2010 dan 12):
Saya telah mencoba keduanya dan menemukan yang pertama lebih matang, dan memiliki lebih banyak fitur. Misalnya ia bermain dengan baik dengan ekstensi tortoise git dan git, dan bahkan mengekspos fitur mereka.
Catatan : Apa pun ekstensi yang Anda gunakan, pastikan Anda mengaktifkannya agar ekstensi
Tools -> Options -> Source control -> Plugin Selection
itu berfungsi.sumber
Pada 2013-02-11, plugin Microsoft Git untuk Visual Studio 2012 juga dapat digunakan dengan versi Express .
sumber