Menggunakan semacam kontrol versi saat bekerja sendiri dan dengan proyek kecil?

30

Sangat sering saya mengerjakan proyek kecil hanya untuk diri saya sendiri. Saya sedang mengerjakan satu mesin, tetapi baru-baru ini saya berpikir untuk menggunakan semacam kontrol versi. Ini akan memiliki beberapa manfaat sebagai contoh:

  • Saya tidak perlu peduli lagi untuk cadangan lokal
  • Kesalahan bisa dengan mudah dibatalkan
  • Sejarah bisa dipertahankan

Tetapi di sisi lain ia juga memiliki beberapa kekurangan seperti misalnya:

  • Sumber daya tambahan diperlukan
  • Waktu untuk mengatur, membiasakan diri, dll.

Dari pengalaman Anda, apakah bagus untuk menggunakan kontrol revisi ketika Anda bekerja sendirian?

RoflcoptrException
sumber
Dua sen saya: Saya menggunakan Mercurial dan NetBeans dan bagian paling berharga dari VCS yang saya gunakan (Mercurial) adalah mampu membuat perubahan, melihat perubahan dan menghapusnya (komit) (file pada suatu waktu atau seluruh proyek) di waktu luang saya. (NetBeans memiliki diff grafis yang bekerja dengan Mercurial) Ini membantu saya tetap menangani apa yang baru saja saya lakukan. Perusahaan kami memiliki riwayat dan sistem cadangan yang berbeda sehingga saya biasanya tidak menggunakannya untuk tujuan itu.
Lapangan Bryan

Jawaban:

46

Iya nih.

Yang diperlukan hanyalah satu kesalahan dan Anda akan menendang diri Anda untuk itu. Anda juga berada dalam posisi untuk memilih sistem kontrol versi (VCS) mana yang digunakan. Jika ada kemungkinan bahwa Anda akan bekerja di tim pengembangan di masa depan, ini adalah saat yang tepat untuk memberi diri Anda pengalaman langsung dengan VCS. SVN dan Git (atau Mercurial) akan menjadi titik awal yang bagus dan hanya perlu beberapa jam untuk memahami perintah dasar di setiap VCS.

Sekarang untuk menghilangkan prasangka apa poin negatif ...

1) Sumber daya tambahan diperlukan

Satu- satunya sumber daya yang diperlukan adalah ruang disk. Karena ini adalah persentase kecil (lebih kecil dalam Git daripada X ) dari total kode Anda, saya tidak berpikir ini akan menjadi masalah. Tidak ada biaya uang juga.

2) Waktu untuk pengaturan, terbiasa, dll.

Akan ada waktu yang diperlukan untuk mempelajarinya, tetapi hanya beberapa jam untuk masing-masing (seperti yang disebutkan di atas). Dalam jangka panjang, ini berpotensi menghemat waktu yang tak terbatas (dan lebih banyak lagi). Setelah Anda menguasai dasar-dasar VCS, itu akan jauh lebih rumit daripada melakukan cadangan lokal yang ada dalam pikiran Anda.

Jonathan Khoo
sumber
5
+1: Poin yang sangat bagus. Namun, saya tidak akan merekomendasikan svn: ini tidak memungkinkan seseorang untuk melakukan perubahan ketika tidak terhubung ke internet, yang kadang-kadang bisa menjadi kendala yang kuat. Saya akan merekomendasikan Git (untuk pengguna listrik) atau Mercurial (untuk sistem yang lebih sederhana).
Eric O Lebigot
7
Suara lain untuk Mercurial.
Chris Holmes
4
@ EOL, Subversi adalah layak dalam hal ini. Jika repositori adalah lokal maka koneksi internet tidak diperlukan untuk membuat komitmen. (Meskipun saya akan menyarankan repositori harus setidaknya pada drive terpisah dari drive pengembangan.)
Ken Henderson
1
@ EOL: Ah ya, saya lupa menyertakan Mercurial karena saya belum pernah menggunakannya; akan diedit sekarang. Sementara (setelah menggunakan Git) saya tidak akan menyentuh SVN jika saya harus, SVN masih banyak digunakan.
Jonathan Khoo
1
@ken svn dengan repo lokal di dropbox sangat ideal untuk satu pengguna
Martin Beckett
13

Iya nih. Gunakan itu untuk semuanya. Gunakan untuk setiap dokumen yang Anda tulis di Word. Gunakan untuk semua kode yang Anda tulis. Gunakan untuk setiap gambar yang Anda buat.

Juga, setelah Anda belajar bagaimana menggunakannya, Anda akan lebih baik ketika Anda bekerja di lingkungan tim.

davidhaskins
sumber
4
Satu-satunya masalah dengan Word adalah bahwa itu dalam format biner, jadi Anda tidak bisa melakukan diff; alasan lain untuk menggunakan LaTeX.
gablin
Apa gunanya menggunakannya dengan gambar?
Benteng
misal, WinMerge dapat membedakan dokumen Word dan Excel
Simon
2
@Rook: titik menggunakannya dengan gambar adalah bahwa jika Anda mengedit gambar, Anda selalu dapat kembali ke versi lama jika perlu.
Alex D
9

Saya suka menggunakan Git saat bekerja sendiri. Sebagai contoh, ketika bekerja di PHP, saya hanya membuat repositori Git pada direktori lokal saya yang dilayani Apache. Saya dapat dengan mudah mulai mengerjakan fitur baru (di cabang) dan mengujinya di mesin lokal saya. Kemudian, jika sesuatu muncul dan saya perlu melakukan "perbaikan darurat", itu sederhana seperti:

git checkout master

Voila! Direktori kerja saya kembali ke keadaan sebelum cabang saya. Saya bisa melakukan perbaikan cepat. Setelah selesai, saya bisa kembali ke cabang dan terus berkembang.

Kurva pembelajaran tidak terlalu curam, dan ada banyak info online untuk membantu Anda memulai. Gali ke dalamnya. Itu sangat berharga.

TaylorOtwell
sumber
Git bersama dengan GitHub atau Gist sepadan dengan usaha untuk proyek solo. Mereka melindungi Anda dari diri sendiri dan membuatnya sangat mudah untuk mendapatkan bantuan saat Anda siap untuk orang lain terlibat.
Rob Allen
5

Changelog memberi Anda tempat yang baik untuk mendokumentasikan perubahan Anda, tanpa mengacaukan sumbernya.

Joris Geer
sumber
2

Cari sesuatu yang diinangi seperti SourceRepo. Tidak terlalu mahal, tetapi menggunakan kontrol sumber membuat kesalahan dan mengembalikan kode jauh lebih mudah.

Dan Anda dapat mengaksesnya di mana saja jika perlu.

James Love
sumber
4
Anda mungkin ingin berhati-hati mengunggah properti perusahaan ke server eksternal. mungkin baik-baik saja dengan beberapa perusahaan, tetapi yang lain tidak menyukai itu.
davidhaskins
1
Poin yang baik untuk diperhatikan. Submitter mengatakan proyek untuk dirinya sendiri, jadi saya berasumsi itu untuk penggunaan pribadi, tetapi pasti memastikan manajer lini mengetahui sistem yang Anda pilih (terutama jika mereka Cloud-phobic).
James Love
2

Saya selalu menggunakan git untuk perkembangan saya, sampai saya sadar saya bisa menggunakannya untuk hal-hal lain juga. Jadi coba git, itu memberi Anda repositori nyata, tanpa perlu server dan koneksi konstan (itu nilai tambah besar bagi saya); itu tidak menyebarkan subdirektori proyek Anda dengan file dan folder tersembunyi, melainkan hanya ada satu folder di bagian atas proyek; Anda dapat membuang semuanya dan mengkloning apa pun yang Anda inginkan dan menggabungkannya lagi, itu hanya berfungsi.

Coyote21
sumber
2

Jika Anda mencari gratis dan dukungan untuk sumber tertutup, saya akan melihat Visual Studio Online dengan baik. Gratis hingga 5 devs, dan sendirian saja ... ya ... ya. Ini adalah postingan 4 tahun kemudian sehingga situasinya cenderung berubah, tetapi untuk pengembang individu lain yang mencari kontrol sumber yang mudah VSO adalah salah satu pilihan favorit saya jika saya tidak ingin mengekspos kode sumber saya. IIRC Github gratis untuk barang-barang open source saja, tetapi harganya sangat murah. Baik VSO dan Github terintegrasi dengan sangat baik dengan Visual Studio, jika itu pilihan IDE Anda.

Bill Sambrone
sumber
Dan VSO mendukung Git sekarang! Selamat tinggal TFVC tua yang kikuk!
RubberDuck
1

Saya selalu mengatur kontrol sumber untuk proyek saya sendiri, dengan lingkungan integrasi berkelanjutan juga untuk membangun / menjalankan pengujian unit / menjalankan pemeriksaan integrasi setiap kali saya check in. Ditambah jika itu adalah aplikasi web, atau layanan windows saya memilikinya menyebarkan target demikian juga. Saya telah menyelamatkan diri sendiri berjam-jam debugging dan penyebaran menggunakan metode ini dan tidak seberapa dibandingkan dengan pengaturan awalnya.

lubang aceinthe
sumber
1

Fitur lain yang sangat keren tentang repo adalah Anda dapat melakukan eksperimen / fitur yang sangat berisiko di cabang lain. Jika berhasil maka Anda dapat bergabung sebagai bagian dari kode utama Anda. Jika tidak atau Anda kehabisan waktu, maka Anda dapat meninggalkannya (disimpan) dan kembali ke kode utama Anda dengan opsi untuk kembali lagi nanti tanpa mengacaukan basis kode utama Anda.

chaostheory
sumber