SVN - Siklus Hidup

Siklus hidup Sistem Kontrol Versi dibahas dalam bab ini. Di bab selanjutnya, kita akan melihat perintah Subversion untuk setiap operasi.

Buat Repositori:

Repositori adalah tempat sentral tempat pengembang menyimpan semua pekerjaan mereka. Repositori tidak hanya menyimpan file, tetapi juga sejarah tentang perubahan. Artinya, ia menyimpan riwayat perubahan yang dibuat dalam file.

Operasi 'buat' digunakan untuk membuat repositori baru. Seringkali operasi ini dilakukan hanya sekali. Saat Anda membuat repositori baru, VCS Anda akan mengharapkan Anda mengatakan sesuatu untuk mengidentifikasinya, seperti di mana Anda ingin membuatnya, atau nama apa yang harus diberikan ke repositori tersebut.

Periksa

Operasi 'Checkout' digunakan untuk membuat copy pekerjaan dari repositori. Copy pekerjaan adalah tempat kerja pribadi tempat pengembang melakukan perubahan mereka, dan kemudian, mengirimkan perubahan ini ke repositori.

Memperbarui

Seperti namanya, operasi 'perbarui' digunakan untuk memperbarui copy pekerjaan. Operasi ini menyinkronkan copy pekerjaan dengan repositori. Karena repositori dibagikan oleh semua tim, pengembang lain dapat mengkomit perubahan mereka dan copy pekerjaan Anda menjadi lebih lama.

Mari kita anggap Tom and Jerry adalah dua pengembang yang mengerjakan sebuah proyek. Keduanya memeriksa versi terbaru dari repositori dan mulai bekerja. Pada titik ini, copy pekerjaan mereka tersinkronisasi sepenuhnya dengan repositori. Jerry menyelesaikan pekerjaannya dengan sangat efisien dan melakukan perubahannya pada repositori.

Sekarang copy pekerjaan Tom sudah kedaluwarsa. Operasi pembaruan akan menarik perubahan terbaru Jerry dari repositori dan akan memperbarui copy pekerjaan Tom .

Lakukan Perubahan

Setelah checkout, seseorang dapat melakukan berbagai operasi untuk melakukan perubahan. Edit adalah operasi yang paling umum. Seseorang dapat mengedit file yang ada untuk menambah / menghapus konten dari file.

Seseorang dapat menambahkan file / direktori. Tetapi segera file / direktori ini tidak menjadi bagian dari repositori, melainkan ditambahkan ke daftar perubahan yang tertunda dan menjadi bagian dari repositori setelah operasi komit.

Demikian pula seseorang dapat menghapus file / direktori. Operasi penghapusan segera menghapus file dari copy pekerjaan, tetapi penghapusan file yang sebenarnya ditambahkan ke daftar perubahan yang tertunda dan perubahan dibuat ke repositori setelah operasi komit.

Operasi 'Rename' mengubah nama file / direktori. Operasi 'Pindah' ​​digunakan untuk memindahkan file / direktori dari satu tempat ke tempat lain dalam pohon repositori.

Tinjau Perubahan

Ketika Anda memeriksa copy pekerjaan atau memperbarui copy pekerjaan, maka copy pekerjaan Anda sepenuhnya tersinkronisasi dengan repositori. Tapi saat Anda melakukan perubahan pada copy pekerjaan Anda, itu menjadi lebih baru dari repositori. Dan merupakan praktik yang baik untuk meninjau perubahan Anda sebelum operasi 'komit'.

Operasi 'Status' mendaftar modifikasi yang telah dibuat pada copy pekerjaan. Seperti yang telah kami sebutkan sebelumnya, setiap kali Anda melakukan perubahan pada copy pekerjaan, semua perubahan ini menjadi bagian dari daftar perubahan yang tertunda. Dan operasi 'status' digunakan untuk melihat daftar perubahan yang tertunda.

Operasi 'Status' hanya memberikan daftar perubahan tetapi tidak detailnya. Seseorang dapat menggunakan operasi diff untuk melihat detil dari modifikasi yang telah dibuat pada copy pekerjaan.

Perbaiki Kesalahan

Mari kita anggap seseorang telah membuat perubahan pada copy pekerjaannya, tapi sekarang, dia ingin membuang perubahan ini. Dalam situasi ini, operasi 'kembalikan' akan membantu.

Operasi pengembalian mengembalikan modifikasi yang telah dibuat ke copy pekerjaan. Dimungkinkan untuk mengembalikan satu atau lebih file / direktori. Juga dimungkinkan untuk mengembalikan seluruh copy pekerjaan. Dalam kasus ini, operasi 'kembalikan' akan menghancurkan daftar perubahan yang tertunda dan akan mengembalikan copy pekerjaan ke keadaan semula.

Selesaikan Konflik:

Konflik dapat terjadi pada saat penggabungan. Operasi 'Gabung' secara otomatis menangani semua hal yang dapat dilakukan dengan aman. Segala sesuatu yang lain dianggap sebagai konflik. Misalnya, file "hello.c" diubah di cabang dan dihapus di cabang lain. Situasi seperti itu menuntut seseorang untuk mengambil keputusan. Operasi 'menyelesaikan' digunakan untuk membantu pengguna mengetahui berbagai hal dan menginformasikan VCS tentang cara-cara menangani konflik.

Lakukan Perubahan

Operasi 'Komit' digunakan untuk menerapkan perubahan dari copy pekerjaan ke repositori. Operasi ini mengubah repositori dan pengembang lain dapat melihat perubahan ini dengan memperbarui copy pekerjaan mereka.

Sebelum komit, seseorang harus menambahkan file / direktori ke daftar perubahan yang tertunda. Ini adalah tempat di mana perubahan menunggu untuk dilakukan. Dengan komit, kami biasanya memberikan pesan log untuk menjelaskan mengapa seseorang melakukan perubahan. Pesan log ini menjadi bagian dari sejarah repositori. Komit adalah operasi atomik, yang berarti seluruh komit berhasil atau dibatalkan. Pengguna tidak pernah melihat komit setengah jadi.