Penjejakan Versi Dengan Subversion (SVN) Untuk Pemula

Isi kandungan:

Video: Penjejakan Versi Dengan Subversion (SVN) Untuk Pemula

Video: Penjejakan Versi Dengan Subversion (SVN) Untuk Pemula
Video: Ubuntu: How do you disable the global menu in digikam? (2 Solutions!!) 2023, Oktober
Penjejakan Versi Dengan Subversion (SVN) Untuk Pemula
Penjejakan Versi Dengan Subversion (SVN) Untuk Pemula
Anonim
Pernahkah anda mahu bekerja pada projek dengan keupayaan untuk mengesan perubahan anda dan mengembalikannya? How-To Geek menjelaskan Bagaimana-Untuk menggunakan sistem pengesanan versi popular, Subversion (a.k.a SVN).
Pernahkah anda mahu bekerja pada projek dengan keupayaan untuk mengesan perubahan anda dan mengembalikannya? How-To Geek menjelaskan Bagaimana-Untuk menggunakan sistem pengesanan versi popular, Subversion (a.k.a SVN).

Imej dengan jelas jelas

Prelog

Panduan ini bertujuan untuk memberi anda keupayaan untuk menggunakan pelanggan subversi pada umumnya, dan, jika anda mempunyai satu, pada router * DD-WRT anda. Panduan ini tidak semestinya merupakan panduan muktamad untuk Subversion dan banyak maklumat boleh didapati di Buku Red Subversion. Panduan ini hanya bertujuan untuk memberi anda jawapan singkat kepada soalan-soalan yang paling asas.

Gambaran keseluruhan

Terdapat banyak alasan mengapa anda ingin "melancarkan" kod terkini untuk projek perisian yang menggunakan sistem pengubah versi. Melakukannya membolehkan anda mendapat manfaat daripada perubahan terkini yang masih belum dirilis, membantu dengan ujian dan bahkan pembangunan. Dalam panduan ini, kami akan meninjau beberapa istilah SVN asas, menunjukkan cara memasang klien SVN di Linux, Windows dan jika anda mempunyai satu router OPKG anda yang membolehkan router DD-WRT. Kami juga telah memasukkan contoh projek yang anda boleh checkout dan gunakan untuk penghala tersebut.

Apakah Subversion?

Subversion bukanlah satu-satunya sistem kawalan versi yang wujud dan alternatif termasuk Git (yang dibuat oleh Linus Torvalds pengasas kernel Linux), Mercurial dan PerForce untuk menamakan beberapa. Dengan itu, ia adalah salah satu yang percuma, ia matang dan digunakan secara meluas di seluruh dunia.

Daripada "Buku Merah" Subversion:

Subversion is a free/open source version control system (VCS). That is, Subversion manages files and directories, and the changes made to them, over time. This allows you to recover older versions of your data or examine the history of how your data changed. In this regard, many people think of a version control system as a sort of “time machine.”

Nota: Buku ini adalah pengumpulan pengetahuan utama tentang subversi dan anda dinasihatkan merujuknya pada semua topik berkaitan Subversion.

Apa Adakah Versi?

Versioning adalah proses di mana keadaan sesuatu projek pada satu-satu masa disimpan. Prosedur semacam ini sering digunakan untuk menguruskan pembangunan perisian, supaya kerja dapat terus memperbaiki projek atau menambahkan ciri, sambil dapat mengesan apa yang telah berubah dari titik "save" keseluruhan yang terakhir. Untuk menguraikan, prosedur seperti ini boleh berguna untuk satu orang tetapi lebih-lebih lagi untuk sekumpulan orang, semuanya bekerja pada projek yang sama. Ini kerana, selalunya, apabila mengerjakan projek sebagai satu kumpulan, terdapat pengagihan tanggungjawab dan orang lain mengubah aspek-aspek yang berlainan projek. Tanpa mekanisme pembubaran, ia akan menjadi sangat sukar untuk memastikan semua orang menyelaraskan perubahan terkini dari orang lain.

Terminologi

Repositori Repositori adalah lokasi di mana semua data dari semua pelbagai tempat disimpan. Dalam dunia subversi, dari sudut pandangan pelanggan, ia adalah pelayan yang memegang pangkalan data projek. Pangkalan data ini mengandungi semua fail yang merupakan sebahagian daripada projek dengan semua versi terdahulu mereka.

Ulang kaji

Apabila repository dibuat, ia akan diberi nombor semakan sifar (0). Nombor ini bertambah dengan satu (1) setiap kali komitmen dilakukan. Nombor semakan adalah global untuk repositori. Iaitu, tidak ada nombor semakan individu untuk fail individu dalam repositori, walaupun tiada apa yang berubah dalam fail itu untuk komit tertentu.

Salinan Kerja

Salinan kerja adalah salinan tempatan (atau "daftar keluar") versi tertentu. Biasanya versi ini apabila diperiksa adalah "terkini" (juga dikenali sebagai "kepala"), tetapi yang terdahulu boleh diminta. Pengguna boleh lakukan dengan menyalin apa sahaja yang dia inginkan, dengan pengetahuan yang, paling tidak, mereka hanya boleh melengkapkan kod itu lagi. Selain itu, salinan ini "peribadi". Ini adalah kerana sehingga anda mengemas kini atau membuat salinan anda, anda tidak akan melihat perubahan orang lain, dan tidak akan melihat anda.

Mengemas kini & menyelesaikan Konflik

Salinan kerja Tempatan boleh dikemas kini. Iaitu, Jika anda "menyemak" versi tertentu, dan semasa anda bekerja, versi di repositori telah dikemas kini, anda boleh mengemas kini salinan kerja anda kepada yang terbaru. Sebenarnya, pelayan akan menghalang anda daripada melakukan perubahan anda sebelum anda mengemas kini kepada versi terkini untuk dipadankan dengan repositori. Ini dilakukan untuk memaksa anda menyelesaikan konflik di dalam negara, sebelum anda memikirkan melakukan perubahan pada repositori.

Penggabungan

Penggabungan merujuk kepada proses yang mana, mengubah kod dicampur menjadi satu versi. Ia juga mungkin melibatkan konflik menyelesaikan.

Berjaya

Melakukan adalah proses di mana perubahan yang telah anda buat ke salinan setempat anda akan digabungkan kembali ke repositori. Ini adalah bahagian yang paling berbahaya bagi proses ini, kerana di sini perubahan yang dibuat, mungkin memberi kesan kepada orang lain menggunakan repositori yang sama. Itulah sebabnya ini biasanya dilakukan selepas pertimbangan, dengan persetujuan pasukan dan selepas anda menyelesaikan sebarang konflik menggabungkan.

Aliran Kerja

Aliran kerja yang paling asas dari perspektif pengguna apabila menggunakan subversi ialah:

1. Semak kod yang ada (biasanya "kepala"). 2. Buat perubahan, tambahkan fail dan umumkan kod. 3. Kemaskini kepada versi terkini, untuk memastikan salinan setempat anda selaras dengan kemas kini pada repositori. 4. Menggabungkan tempatan dan menyelesaikan konflik jika perlu. 5. Lakukan perubahan yang disatukan ke repositori. 6. GoTo langkah 2.

Membolehkan retak

Pasang Pelanggan

Untuk dapat menggunakan subversi, anda perlu memasang klien pada mesin anda.

Di Linux

Anda hanya perlu memasang pakej tersebut. Di Ubuntu / Mint, ini akan dilakukan dengan:

sudo aptitude install subversion

Pada DD-WRT

Jika anda telah mengikuti "Bagaimana Untuk Memasang Perisian Tambahan Di Penghala Rumah Anda (DD-WRT)", anda boleh memasang klien svn dengan hanya mengeluarkan:

opkg update; opkg install subversion-client

Pada Windows

Walaupun pengguna dalam geek mendalam dapat melupakan bahawa GUI ada pada masa-masa, bukan semua orang. Jika anda ingin menggunakan klien tingkap untuk bersambung ke repositori SVN, setakat yang paling popular ialah "Kura-kura". Untuk menggunakannya, hanya muat turun program dan pasangkan dalam fesyen "seterusnya, seterusnya, selesai" biasa.

Buat "repositori"

Walaupun kami tidak akan terperinci mengenai cara untuk menyediakan pelayan subversi pada panduan ini, alternatif Google bukanlah permulaan yang tidak baik untuk pengguna pemula. Untuk membuat repositori Google:

  • Teruskan ke laman web hosting Google Code dan "buat" projek baru.

    Image
    Image
  • Di halaman seterusnya, isi medan yang diperlukan dan pilih jenis "sistem kawalan versi" untuk menjadi subversi.

    Image
    Image

    Nota: Anda mungkin ingin melihat apa perbezaan antara tawaran lesen Google, sebelum anda memilih satu untuk projek tersebut.

  • Klik "Buat projek".

" Checkout" salinan kerja anda

Setelah projek anda dibuat, anda Harus dapat mencari arahan tentang cara mengaksesnya di tab "Sumber".

Perkara yang baik tentang kod Google, ialah ia akan membolehkan versi baca sahaja tanpa nama untuk projek anda. Sekiranya anda tidak mahu menangani masalah mewujudkan projek anda sendiri, anda boleh melepaskan repositori penulis secara tanpa nama.
Perkara yang baik tentang kod Google, ialah ia akan membolehkan versi baca sahaja tanpa nama untuk projek anda. Sekiranya anda tidak mahu menangani masalah mewujudkan projek anda sendiri, anda boleh melepaskan repositori penulis secara tanpa nama.

Satu nota mengenai projek hotfortech: Projek ini dimaksudkan untuk menjadi pembungkus untuk ciri-ciri yang telah ditambah kepada DD-WRT pada How-To Geek (yang saya gunakan sendiri) dan beberapa tweak peribadi. Walaupun projek ini ditujukan untuk bekerja bersempena dengan artikel yang diterbitkan di sini mengenai howtogeek, ia masih projek swasta saya. Iaitu sangat sesuai dengan penghala Buffalo saya (seni bina AR71xx), keinginan peribadi saya dan cenderung kepada borkage sekali-sekala.

Di Linux / DD-WRT

Buat direktori untuk berfungsi, contohnya pada DD-WRT, yang boleh:

mkdir -p /jffs/svn; cd /jffs/svn

Perintah penuh pada Linux terdiri daripada arahan SVN itu sendiri, arahan "checkout", alamat repository dan direktori untuk checkout juga. Buat direktori kosong dan laksanakan arahan di bawah:

svn checkout https://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-read-only

Ingat bahawa dalam contoh di atas, versi baca sahaja sedang diperiksa. Jika anda memilih untuk membuat repositori anda sendiri, anda perlu menggunakan pautan httpS.

Pada Windows

Kerana kura-kura adalah pelanjutan shell, anda perlu menggunakan menu konteks file explorer Windows (klik kanan) untuk menggunakannya. Sebenarnya, jika anda cuba memanggilnya dari menu mula, anda akan mendapat:

Image
Image
  • Buat direktori kosong.
  • Klik kanan di dalamnya untuk membuka menu konteks.
  • Pilih "Pemeriksaan SVN":

    Image
    Image
  • Salin & tampal pautan untuk projek (jika anda mempunyai satu) ke dalam Teks "URL":

    Image
    Image
  • Bergantung kepada saiz projek anda, ini mungkin mengambil sedikit masa, tetapi apabila "Checkout" selesai, anda sepatutnya melihat sesuatu seperti:

    Image
    Image
  • Anda boleh mula berkembang.

"Kemas kini" &"Gabung" salinan kerja anda Sekiranya bekerja pada kod dengan rakan sekerja, atau anda sendiri mengemaskini kod dari beberapa lokasi (iaitu komputer riba, desktop atau router), anda perlu mengemas kini salinan kerja anda sebelum anda membuat perubahan terkini.

Di Linux / DD-WRT

Perintah untuk melakukan ini pada sistem POSIX ini adalah semata-mata:

svn up

Pada Windows

  • Klik kanan dalam direktori kerja dan pilih "Kemas Kini SVN":

    Image
    Image
  • Jika anda menghadapi konflik, cuba ikuti arahan skrin dan gunakan penghakiman anda tentang apa yang perlu dilakukan terhadap mereka.

"Komit" perubahan anda Itu sahaja, anda mesti bebas konflik dan bersedia untuk mengemas kini repositori dengan perubahan anda. Satu perkara yang perlu diperhatikan di sini ialah amalan biasa untuk menambah mesej "log" kepada komit, untuk dapat dengan mudah ingat mengapa perubahan dibuat. Sebenarnya, repositori Google menjadikan ini prasyarat wajib untuk dilakukan.

Di Linux / DD-WRT

Ini adalah satu contoh komit yang telah saya buat ke projek hotfortech yang menaikkannya ke versi 19:

svn commit -m “updated to reflect new ant-ads pack link”

Pada Windows

  • Klik kanan dalam direktori kerja dan pilih "SVN Commit":

    Image
    Image
  • Anda harus disambut oleh tingkap yang membolehkan anda melihat nota log:

    Image
    Image
  • Tekan OK dan apabila diminta untuk kata laluan, berikan kata laluan yang dijana Google.
  • Jika komit berjaya, anda harus melihat sesuatu seperti:

    Image
    Image
  • Itulah, anda sepatutnya dapat melakukan seperti BOSS.

Kenyataan akhir Ini sepatutnya cukup untuk memulakan anda. Anda dinasihatkan untuk membaca buku rujukan SVN untuk mendapatkan pemahaman yang lebih mendalam mengenai semua kegunaan, pilihan dan kaveat SVN. Juga, kami mengingatkan anda (subversion) bahawa TIDAK satu-satunya sistem kawalan versi di luar sana dan GIT (yang dicipta oleh Linus Torvalds pengasas kernel Linux) seolah-olah semakin popular dalam beberapa tahun kebelakangan ini.

Jika anda memilih untuk menjalankan "running-config.sh" dari projek hotfortech pada router anda, anda akan mendapati bahawa ia akan dipasang untuk anda: Pak anti-iklan, skrip Geek-init Opkg, serta perkara seperti GNU penuh "ls", "kurang", "BASH" dan banyak lagi.

/jffs/svn/hotfortech-dd-wrt/running-conf.sh

Lebih banyak ciri yang sedang menunggu dan akan ditambah pada masa akan datang.

Pentadbir sistem akan mengetepikan jalan keluarnya.

Disyorkan: