Apakah ada keuntungan menggunakan DVCS untuk pengembang solo?

19

Saat ini, saya menggunakan visual svn di server saya, dan memiliki ankhsvn / kura-kura di mesin pribadi saya. Ini berfungsi cukup baik, dan saya tidak perlu berubah, tetapi jika saya dapat melihat beberapa manfaat menggunakan DVCS, maka saya mungkin mencobanya.

Namun, jika tidak ada gunanya atau perbedaan menggunakannya tanpa orang lain, maka saya tidak akan repot.

Jadi sekali lagi, saya bertanya, apakah ada manfaat menggunakan DVCS ketika Anda satu-satunya pengembang?

Steven Evers
sumber
1
Lihat posting serupa di stackoverflow: stackoverflow.com/questions/179161/… . Semua yang perlu Anda ketahui diringkas dengan baik di sana.
ysolik
Jadi pertanyaan saya ditutup sebagai duplikat yang persis sama dengan yang ini. Sayangnya pertanyaan ini tidak menjawab pertanyaan saya. Apakah kalian mendorong dan menarik dari master ketika Anda seorang pengembang solo, atau apakah Anda bercabang dan bergabung? Saya hanya mencoba melihat apa cara yang tepat untuk menggunakan DVCS ketika Anda solo
Chase Florell
1
backup pada dasarnya hanyalah klon lain. Itu mungkin sangat penting suatu hari nanti. Juga alat git adalah tahun cahaya di depan svn.
Apakah Anda pernah bekerja pada laptop, jauh dari server Anda?
JBRWilkinson

Jawaban:

19

Iya! Saya pikir manfaat terbesar adalah dukungan percabangan + penggabungan yang lebih baik yang ditawarkan oleh banyak DVCSes. Percabangan dan penggabungan adalah semacam rasa sakit di pantat di SVN; cukup menjengkelkan sehingga tidak ada waktu untuk membuat cabang kecil yang berumur pendek untuk penambahan fitur cepat, perbaikan bug, atau eksperimen, tetapi penggabungan juga cukup menjengkelkan sehingga membuat cabang yang berumur panjang juga menyusahkan. Di sisi lain, percabangan dan penggabungan sangatlah mudah di Git, sangat banyak sehingga saya membuat cabang (lokal) untuk hampir setiap perbaikan bug atau fitur yang saya kerjakan.

Saya pikir alat yang ditawarkan oleh Git untuk memvisualisasikan repo, grepping log, dll, juga jauh lebih baik daripada di SVN (walaupun itu lebih merupakan hal Git daripada spesifik untuk DVCS).

DVCS juga tidak memerlukan server pusat; saat menggunakan SVN sebagai pengembang, Anda harus membuat repo lokal untuk mendorong, yang bukan persyaratan dengan Git, karena setiap repo berisi riwayat lengkap. Sebagai akibat wajar, pengarsipan repo hanya masalah meng-zip proyek Anda - tidak ada "database pusat" untuk membuat cadangan.

Saya mulai menggunakan Git hampir empat tahun lalu, setelah menggunakan SVN untuk sementara waktu, dan saya belum melihat ke belakang.

mipadi
sumber
4
Ada pandangan bahwa DVCS tidak membuat penggabungan menjadi lebih mudah, tetapi pengguna DVCS lebih terlatih dalam melakukan penggabungan. Ini memberikan penampilan subyektif dari penggabungan menjadi lebih mudah. Tentu saja itu adalah pandangan subjektif yang penting.
Richard
3
DVCS tidak secara eksklusif setara dengan git
Murph
6
@ Richard Tapi itu salah, alat terpusat cenderung memiliki sejarah linier yang tidak mendukung penggabungan yang rumit dengan baik.
alternatif
2
@ Murph: Ini benar, tapi saya menggunakan Git, jadi saya menggunakannya dalam contoh saya.
mipadi
7

Saya banyak menggunakan DVCS untuk barang pribadi saya. (Saya salah satu dari mereka yang memiliki $ HOME di git .) Ada beberapa keuntungan:

  • Itu membuat replikasi antara laptop saya dan komputer desktop dan lab sangat mudah. Meskipun ini berlaku untuk SVN juga ...
  • Saya dapat melakukan di laptop bahkan ketika saya tidak memiliki akses internet.
  • Backup sesederhana a git pull.
  • Saya dapat menggunakan git citooluntuk memecah banyak perubahan menjadi komit berukuran logis, bahkan jika saya telah membuat banyak perubahan yang tidak terkait sebelum memutuskan untuk melakukan. Saya tidak mengetahui alat untuk melakukan ini di Subversion.
  • Ketika saya harus menambal proyek open source, lebih mudah untuk menjaga hal-hal terorganisir dengan membuat repositori git baru di direktori proyek daripada membuat salinan kedua dari pohon sumber apa pun yang saya tambal. (Anda tidak dapat melakukan ini dengan mudah dengan Subversion karena Anda memerlukan repositori terpisah di tempat lain di hard disk Anda sepenuhnya.)
  • Saya menggunakan fitur percabangan yang mudah untuk memeriksa revisi yang saya dapatkan dari orang lain. Misalnya, ketika saya mengedit makalah konferensi dengan penasihat saya, meskipun ia tidak memiliki akses ke repositori, saya dapat mengiriminya salinan makalah, dan memeriksa revisinya di cabang berdasarkan versi yang saya kirim dia, dan kemudian gunakan git mergeuntuk menggabungkan revisinya dengan apa yang telah saya lakukan pada saat itu.

Git membuat saya terbiasa memikirkan semua perubahan dalam potongan logis, jauh lebih banyak daripada yang pernah dilakukan Subversion.

Ken Bloom
sumber
(atau git ambil cermin)
5

Ibu saya mematikan modem ketika sudah terlambat tidur. DVCS memungkinkan saya untuk terus bekerja dengan VCS setelah modem mati.

linquize
sumber
1
Saya akan menyebutnya sebagai "bisa bekerja dari pesawat" atau "bisa bekerja ketika bitbucket.com turun" tetapi +1 untuk menutupi kasing offline.
Wyatt Barnett
Juga tempat luar tanpa jaringan 3G.
linquize
3

Ya, jawaban standarnya adalah, "Jika (apa pun yang Anda gunakan sekarang) bekerja untuk Anda, mengapa Anda berubah?".

Tapi, ya, bahkan jika tidak ada alasan untuk perubahan, saya merasa menggunakan DVCS agak lebih mudah daripada "model lama". Berikut ini berlaku untuk Mercurial , yang paling saya gunakan, jadi jarak tempuh Anda mungkin berbeda-beda, tergantung pada sistem mana yang akan Anda gunakan.

  • sangat mudah digunakan - saya menemukan semua perintah yang saya butuhkan dalam satu jam atau lebih
  • semuanya lokal (Anda tidak perlu server jauh untuk online)
  • percabangan / penggabungan yang sangat mudah - Anda bahkan tidak memikirkan hal-hal itu lagi
  • kloning mudah (juga, jenis percabangan) - dan umumnya, antarmuka yang lebih ramah pengguna (saya menemukan itu lebih menyenangkan daripada git di windows; juga beberapa konsep lebih sederhana; yaitu tidak perlu berpikir di sisi saya, karena itu mengarah ke kurang mengutak-atik VS dan lebih banyak pekerjaan yang dilakukan)
  • bekerja bagus dengan svn

Melompat gerbang ke intro ke Mercurial dan blog (warna cantik ;-) dengan tips yang bermanfaat .

Benteng
sumber
Hmm, CVS dulu bekerja untuk kami, tapi tidak ada yang dekat maupun subversi ketika kami pindah ke sana. Mainan baru memberi Anda kemampuan baru - jadi untuk alasan inilah saya mencari tahu apakah Mercurial sekarang menjadi pilihan yang lebih baik (terutama karena saya menggunakan FogBugz) dan juga potensi kejujuran ...
Murph
3
Beralih dari SVN ke Mercurial adalah wahyu bagi saya. Itu terinspirasi oleh hginit.com Joel yang luar biasa, dan saya tidak pernah melihat ke belakang.
Adam Crossland