Menggunakan Kontrol Versi untuk Pengembangan Rumah?

138

Sampai sekarang saya telah mengembangkan proyek pribadi dan sekolah saya di rumah tanpa menggunakan segala bentuk perangkat lunak kontrol revisi untuk menangani perubahan saya dan yang lainnya.

Pertanyaan saya adalah, seberapa layak menggunakan aplikasi Kontrol Versi (seperti TortoiseSVN ) untuk proyek pribadi yang saya lakukan untuk diri saya sendiri (dan bahkan proyek sekolah)?

Apakah layak dengan kerumitan check-in, melakukan perubahan dan semua rutinitas itu, hanya untuk 'proyek rumah' alih-alih hanya membuat backup manual?

Tautan :

Peter Mortensen
sumber
2
Jauh lebih mudah menggunakan kontrol sumber daripada membuat cadangan manual! Mungkin lebih mudah untuk mempelajari cara membuat cadangan manual daripada mempelajari cara menggunakan kontrol sumber.
yfeldblum
1
Saya dapat merekomendasikan VisualSVN, sangat mudah digunakan. Dan server subversi mereka gratis :) ( visualsvn.com )
Svish
Gunakan server yang dihosting sebagai gantinya, Anda mendapatkan nol perawatan + cadangan. Saya menggunakan Unfuddle: stackoverflow.com/questions/430742/...
ripper234

Jawaban:

191

Sama sekali.

Penghargaan juga untuk http://blogs.embarcadero.com/nickhodges/2010/04/23/39416 :

  • Terkadang kita melakukan kesalahan bodoh. Memiliki jaring pengaman kendali sumber adalah suatu keharusan.
  • Tandai tonggak penting. Bahkan dalam pengembangan rumah Anda mungkin ingin menandai satu set file dan revisi sebagai versi perangkat lunak tertentu.
  • Anda berlatih untuk kehidupan profesional Anda. Menempatkan di kepala Anda metodologi kerja yang terkait dengan menggunakan kontrol sumber mempersiapkan Anda secara profesional.
  • Efisiensi penyimpanan. Sistem kendali sumber saat ini menyimpan revisi sebagai perbedaan delta dengan revisi sebelumnya. Ini berarti bahwa disk lebih efisien karena seluruh file tidak disimpan tetapi hanya perbedaannya.
  • Anda memiliki riwayat untuk semua pohon sumber Anda. Anda dapat dengan cepat melihat apa yang diubah dan kapan diubah. Bandingkan file dari berbagai revisi dan gabungkan dengan mudah.
  • Anda dapat bercabang untuk bereksperimen. Jika Anda memiliki beberapa percobaan, Anda dapat membuat cabang (jalur pengembangan mandiri baru) dan mengujinya. Pada akhirnya, jika Anda puas dengan hasilnya, gabungkan di HEAD (jalur pengembangan utama). Anda mendapatkan semua ini secara gratis tanpa harus membuat salinan dan menerima manfaat yang sama dari menggunakan kontrol sumber bahkan saat bereksperimen.
smink
sumber
13
Hanya satu hal untuk ditambahkan: asalkan sistem kontrol versi ada pada mesin jarak jauh, ia menyediakan cadangan online sederhana untuk pekerjaan Anda.
NotMe
Aku sangat setuju. Kapan pun Anda harus memanfaatkan satu saja dari fitur-fitur ini, Anda telah memperoleh kembali biaya minor menggunakan kontrol sumber.
Chris Farmer
Poin 4 tidak berlaku untuk git. git dioptimalkan untuk kinerja gabungan, dan menyimpan diff tidak menguntungkan untuk tujuan ini. hari ini sebagian besar diasumsikan bahwa Anda memiliki cukup ruang disk untuk kode sumber Anda. Namun semua poin lainnya adalah alasan untuk menggunakan kontrol sumber dan git tentu saja memuaskan semuanya.
SingleNegationElimination
Sekali lagi saya merekomendasikan git, terutama untuk poin 2. 5. dan 6. git memiliki antarmuka yang sangat bagus untuk penandaan, percabangan, penggabungan dll. Dan beberapa alat grafis seperti qgit atau gitk membuatnya sangat mudah untuk melihat bagaimana semua Anda cabang cocok bersama .. itu juga sepotong kue untuk mengubah direktori kerja Anda saat ini (tidak berversi) menjadi direktori git dengan 3 perintah: git init, git add., git commit
David Claridge
Jika proyek pribadi Anda cukup besar untuk menjadikan poin 4 (efisiensi penyimpanan) penting, Anda pasti perlu kontrol sumber!
Tikhon Jelvis
31

Ini benar-benar bermanfaat.

Perhatikan bahwa Anda tidak harus menyiapkan server SVN sepenuhnya. Anda bisa membuat repositori di sistem file lokal, dan terhubung dengan file: // sintaks URL. Ini berarti Anda tidak harus melalui kerumitan menyiapkan daemon SVN (yang mungkin berlebihan untuk proyek pengguna tunggal)

Anda juga bisa melihat opsi yang lebih ringan seperti git yang menyimpan semua file yang bekerja secara lokal tanpa harus membuat repositori terpisah. Git memberi Anda beberapa opsi lagi untuk mengatur kontrol sumber Anda juga.

madlep
sumber
1
Saya baru-baru ini mencoba git karena proyek yang saya ikuti menggunakannya. Saya segera beralih ke git untuk proyek pribadi dan pekerjaan saya segera setelah saya melihat betapa sederhana dan cepatnya itu. Sangat dianjurkan.
Dave Sherohman
8

Menggunakan kontrol sumber juga baik untuk tujuan pencadangan. Jika Anda selalu memeriksa semuanya, maka Anda dapat membuat cadangan semua proyek kode sumber Anda dengan membuat cadangan semua repositori Anda. Jika Anda memiliki beberapa mesin, maka Anda tidak perlu khawatir di mana versi terbaru kode Anda sebenarnya - itu ada di server repositori.

Greg Hewgill
sumber
6

Saya telah menyimpan seluruh tesis master saya di bawah kendali sumber - baik kode dan tesis itu sendiri - jadi saya seorang pendukung kuat untuk melakukan ini, dan bukan hanya untuk kode.

Untuk masing-masing proyek, keuntungan utama adalah kebebasan untuk mengubah berbagai hal dan bereksperimen, mengetahui bahwa Anda selalu dapat kembali ke versi sebelumnya jika tidak berhasil. Dan itu memberi Anda backup implisit dari pekerjaan Anda (pastikan repo svn Anda setidaknya pada hard drive yang berbeda dari pekerjaan utama Anda)

Kena
sumber
5

Tentu saja, ini layak dilakukan. Ini memberi Anda kemampuan untuk mencoba refactoring liar dan gila, dan kemudian mundur dengan mudah jika mereka tidak berhasil. Ini juga menetapkan kebiasaan yang baik jika / ketika Anda bekerja lebih kolaboratif dengan suatu kelompok.

Dengan Subversion (setidaknya) Anda bahkan tidak perlu memiliki "server" - direktori sederhana dapat berfungsi sebagai repositori jika Anda mengaksesnya dengan url jenis "file: //". Bahkan ada buku gratis yang berisi hampir semua yang perlu Anda ketahui untuk memulai:

http://svnbook.red-bean.com/nightly/en/index.html

Sistem Limbik
sumber
4

Saya menemukan bahwa sangat membantu untuk memiliki pengaturan server SVN karena saya menemukan diri saya akan kembali melalui revisi dan proyek 'membuang' karena saya ingat beberapa fungsi atau cara melakukan sesuatu yang dapat saya gunakan sekarang. Memiliki server SVN, saya tahu bahwa kode tersebut disimpan di rumah dan saya dapat menariknya nanti.

Bryan Rehbein
sumber
4

Kontrol revisi sangat bagus karena memungkinkan Anda untuk lebih eksperimental, mengetahui bahwa jika eksperimen Anda gagal, Anda harus mengembalikan sesuatu.

dreamlax
sumber