Saya mengembangkan proyek pribadi pada dua mesin tanpa menggunakan server bersama atau koneksi jaringan di antara keduanya.
Apakah ada sistem kontrol versi umum yang secara andal mendukung penggunaan penyimpanan portabel (seperti perangkat flash USB) sebagai repositori bersama?
version-control
billpg
sumber
sumber
Jawaban:
Gunakan DVCS seperti Git atau Mercurial .
Sistem kontrol versi terdistribusi tidak memiliki server pusat bersama.
Dengan DVCS, setiap salinan repositori menyimpan sejarah lengkap - semuanya. Ini berarti, bahwa ketika digunakan pada kunci USB setiap perubahan yang Anda lakukan adalah membuat ke repositori pada kunci USB dan ketika dipindahkan di antara komputer akan menyimpan sejarah ini.
sumber
Terlepas dari GIT, Mercurial dll yang disarankan di atas, juga melihat pada Fosil - Ini memiliki keuntungan bahwa biner waktu menjalankan kecil (1Meg atau lebih untuk Windows dan Linux), portabel dan instalasi nol diperlukan. Oleh karena itu tidak seperti yang lain (sejauh yang saya ketahui) itu dapat dimasukkan ke perangkat penyimpanan dan dijalankan pada mesin apa pun yang terhubung ke penyimpanan, tanpa terlebih dahulu harus menginstal aplikasi pada mesin. Ini termasuk Wiki dan sistem pelacakan perubahan / cacat dengan repo. Ini juga memiliki gui bawaan.
Saya belum menggunakannya dengan serius (saya kebanyakan menggunakan GIT), tetapi terkesan dengan pendekatannya yang ringan dan dimasukkannya Wiki dan pelacak cacat menjadikannya ideal untuk proyek kecil. Satu-satunya kekhawatiran saya adalah bahwa beberapa fitur yang lebih kuat dari GIT mungkin tidak mungkin, dan tidak seperti GIT, komunitas pengguna tidak begitu besar sehingga mudah untuk menemukan jawaban atas pertanyaan.
sumber
Menggunakan DCVS mungkin ide yang bagus, tetapi itu bukan satu-satunya pilihan.
Saya memiliki repositori CVS kecil di USB thumb drive. Ketika saya ingin mengaksesnya, saya hanya perlu menggunakan
cvs -d <path>
atau mengatur$CVSROOT
path dari repositori (yang tentu saja memerlukan thumb drive untuk dipasang pada sistem).Jika Anda sudah terbiasa menggunakan CVS, ini seharusnya bisa diterapkan. Hal yang sama harus berlaku untuk SVN. Itu artinya repositori pusat Anda ada di thumb drive, dan tidak selalu terlihat.
Ada argumen untuk menggunakan DCVS daripada CVS secara umum. Saya tidak berpikir argumen-argumen itu secara khusus dipengaruhi oleh apakah repositori pusat ada di thumb drive atau di tempat lain. Misalnya, Anda bisa dengan mudah membuat repositori git pada thumb drive.
sumber
Sebagai tambahan untuk jawaban lain:
Walaupun DVCS sangat cocok dengan masalah ini, Anda secara teknis bisa juga menggunakan Subversion, jika Anda merasa lebih nyaman dengannya. Subversi dapat menggunakan direktori lokal alih-alih server pusat. Anda bisa memasukkannya ke dalam thumb drive, dan menggunakannya.
Kerugiannya, dibandingkan dengan DVCS, adalah bahwa Anda hanya dapat bekerja dengan Subversion (yaitu komit, lihat log, dll.) Ketika thumb drive dicolokkan. Juga, itu harus selalu berupa thumb drive yang sama (atau setidaknya sebuah up salinan-to-date), karena dengan Subversion Anda tidak boleh menggunakan lebih dari satu repositori (itu adalah bagian yang tidak didistribusikan). Jadi jika Anda pernah lupa thumb drive Anda, Anda tidak dapat menggunakannya, tidak seperti dengan Git atau Mercurial.
catatan:
Seperti dijelaskan di atas, dan dalam komentar, DVCS benar-benar lebih cocok untuk masalah Anda. Saya hanya menyebutkan Subversion demi kelengkapan, dan jika Anda memiliki alasan khusus untuk menggunakan Subversion.
sumber
svn
(atau bahkan Cvs) dapat mempertimbangkan penggunaan solusi itu, tetapi untuk kepentingan pengungkapan penuh, kelemahan dari pendekatan itu juga harus disebutkan. Jangan ragu untuk mengedit poin dari komentar saya ke dalam jawaban Anda. Jika ya, saya akan dengan senang hati membersihkan (menghapus) komentar saya. * 8 ')