Cara Menggunakan Sistem Kawalan Versi Git di Linux [Panduan Komprehensif]

Cara Menggunakan Sistem Kawalan Versi Git di Linux [Panduan Komprehensif]

Kawalan versi (kawalan semakan atau kawalan sumber) adalah cara merakam perubahan pada fail atau pengumpulan fail dari masa ke masa supaya anda dapat mengingat versi tertentu kemudian. Sistem kawalan versi (atau VCS Pendek kata) adalah alat yang merekodkan perubahan pada fail pada sistem fail.

Terdapat banyak sistem kawalan versi di luar sana, tetapi Git kini yang paling popular dan sering digunakan, terutamanya untuk pengurusan kod sumber. Kawalan versi sebenarnya boleh digunakan untuk hampir apa -apa jenis fail pada komputer, bukan hanya kod sumber.

Sistem/alat kawalan versi menawarkan beberapa ciri yang membolehkan individu atau sekumpulan orang:

  • Buat versi projek.
  • menjejaki perubahan dengan tepat dan menyelesaikan konflik.
  • menggabungkan perubahan menjadi versi biasa.
  • Rollback dan Undo perubahan pada fail terpilih atau keseluruhan projek.
  • mengakses versi sejarah projek untuk membandingkan perubahan dari masa ke masa.
  • Lihat siapa yang terakhir mengubahsuai sesuatu yang mungkin menimbulkan masalah.
  • Buat sandaran offsite yang selamat dari projek.
  • Gunakan pelbagai mesin untuk berfungsi pada satu projek dan banyak lagi.

Projek di bawah sistem kawalan versi seperti Git akan mempunyai tiga bahagian, iaitu:

  • repositori: pangkalan data untuk merakam keadaan atau perubahan pada fail projek anda. Ia mengandungi semua metadata dan objek git yang diperlukan untuk projek baru. Perhatikan bahawa ini biasanya disalin apabila anda mengklon repositori dari komputer lain pada rangkaian atau pelayan jauh.
  • Direktori atau kawasan yang bekerja: menyimpan salinan fail projek yang boleh anda kerjakan (membuat penambahan, penghapusan dan tindakan pengubahsuaian lain).
  • Kawasan pementasan: fail (dikenali sebagai indeks di bawah git) dalam direktori git, yang menyimpan maklumat mengenai perubahan, yang anda sudah bersedia untuk melakukan (simpan keadaan fail atau set fail) ke repositori.

Terdapat dua jenis utama VCSS, dengan perbezaan utama ialah bilangan repositori:

  • Sistem Kawalan Versi Pusat (CVCSS): Di sini setiap ahli pasukan projek mendapat direktori kerja tempatan mereka sendiri, bagaimanapun, mereka melakukan perubahan kepada hanya satu repositori pusat.
  • Sistem Kawalan Versi Diagihkan (DVCSS): Di bawah ini, setiap ahli pasukan projek mendapat direktori kerja tempatan dan direktori git di mana mereka boleh membuat komitmen. Selepas individu membuat komitmen secara tempatan, ahli pasukan lain tidak dapat mengakses perubahan sehingga dia mendorong mereka ke repositori pusat. Git adalah contoh DVCS.

Di samping itu, a Git repositori boleh kosong (repositori yang tidak mempunyai direktori kerja) atau bukan bar (satu dengan direktori kerja). Dikongsi repositori (atau awam atau pusat) harus selalu menjadi telanjang - semua repositori github adalah kosong.

Belajar kawalan versi dengan git

Git adalah sumber bebas dan terbuka, cepat, kuat, diedarkan, mudah digunakan, dan sistem kawalan versi popular yang sangat berkesan dengan projek besar, dan mempunyai sistem cawangan dan penggabungan yang luar biasa. Ia direka untuk mengendalikan data lebih seperti satu siri gambar sistem fail mini, yang disimpan dalam direktori git.

Aliran kerja di bawah Git sangat mudah: anda membuat pengubahsuaian pada fail dalam direktori kerja anda, kemudian secara selektif tambahkan hanya fail yang telah berubah, ke kawasan pementasan, menjadi sebahagian daripada komited seterusnya anda.

Sebaik sahaja anda sudah bersedia, anda melakukan komitmen, yang mengambil fail dari kawasan pementasan dan menyimpan gambar itu secara kekal ke direktori git.

Untuk memasang Git Di Linux, gunakan arahan yang sesuai untuk pengedaran pilihan anda:

$ sudo apt memasang git [pada Debian/Ubuntu] $ sudo yum memasang git [on Centos/RHEL] 

Setelah memasang git, disarankan yang anda katakan Git Siapa anda dengan memberikan nama penuh dan alamat e -mel anda, seperti berikut:

$ git config -pengguna global.Nama "Aaron Kili" $ git config -pengguna global.E -mel "[E -mel dilindungi]" 

Untuk memeriksa tetapan Git anda, gunakan arahan berikut.

$ git config -list 
Lihat Tetapan Git

Mewujudkan repositori git baru

Dikongsi repositori atau aliran kerja berpusat sangat biasa dan itulah yang akan kami tunjukkan di sini. Sebagai contoh, kami menganggap bahawa anda telah ditugaskan untuk menyediakan repositori pusat jauh untuk pentadbir sistem/pengaturcara dari pelbagai jabatan dalam organisasi anda, untuk mengusahakan projek yang dipanggil Bashscripts, yang akan disimpan di bawah /projek/scritpts/ di pelayan.

SSH ke pelayan jauh dan buat direktori yang diperlukan, buat kumpulan yang dipanggil Sysadmins (Tambahkan semua ahli pasukan projek ke kumpulan ini E.G Admin Pengguna), dan tetapkan keizinan yang sesuai di direktori ini.

# mkdir -p/projek/skrip/ # GroupAdd sysadmins # usermod -ag sysadmins admin # chown: sysadmins -r/projek/skrip/ # chmod 770 -r/projek/skrip// 

Kemudian memulakan repositori projek kosong.

# git init --bare/projek/skrip/bashscripts 
Memulakan repositori git yang dikongsi

Pada ketika ini, anda telah berjaya memulakannya Git direktori yang merupakan kemudahan penyimpanan pusat untuk projek itu. Cuba buat penyenaraian direktori untuk melihat semua fail dan direktori di sana:

# ls -la/projek/skrip/bashscripts/ 
Senaraikan Repositori Berkongsi Git

Klon repositori git

Sekarang klon repositori git kongsi jauh ke komputer tempatan anda melalui SSH (Anda juga boleh mengklon melalui Http/https Jika anda mempunyai pelayan web yang dipasang dan dikonfigurasi dengan sewajarnya, seperti yang berlaku dengan kebanyakan repositori awam di GitHub), sebagai contoh:

$ git clone ssh: // [e -mel dilindungi] _server_ip:/projek/skrip/bashscripts 

Untuk mengklonkannya ke direktori tertentu (~/bin/bashscripts), gunakan arahan di bawah.

$ git clone ssh: // [e -mel dilindungi] _server_ip:/projek/skrip/bashscripts ~/bin/bashscripts 
Repositori git berkongsi klon ke tempatan

Anda kini mempunyai contoh projek tempatan di a bukan bar repositori (dengan direktori kerja), anda boleh membuat struktur awal projek (i.e tambah a BACA SAYA.md fail, sub-direktori untuk pelbagai kategori skrip e.g recon untuk menyimpan skrip peninjauan, SYSADMIN RO STORE SYSADMIN SCRIPTS dll.):

$ cd ~/bin/bashscripts/$ ls -la 
Buat struktur projek git

Semak ringkasan status git

Untuk memaparkan status direktori kerja anda, gunakan arahan status yang akan menunjukkan kepada anda sebarang perubahan yang telah anda buat; fail mana yang tidak dikesan oleh Git; perubahan yang telah diadakan dan sebagainya.

status $ git 
Semak status git

Peringkat Git berubah dan komited

Seterusnya, peringkat semua perubahan menggunakan tambah arahan dengan -A Tukar dan lakukan komitmen awal. The -a Bendera mengarahkan arahan untuk memaksakan fail secara automatik yang telah diubahsuai, dan -m digunakan untuk menentukan mesej komit:

$ git add -a $ git commit -a -m "komit awal" 
Melakukan komitmen git

Terbitkan komitmen tempatan ke repositori git jauh

Sebagai pasukan projek memimpin, sekarang anda telah mencipta struktur projek, anda boleh menerbitkan perubahan ke repositori pusat dengan menggunakan Perintah tolak seperti yang ditunjukkan.

$ git tolak asal tuan 
Tekan komitmen untuk repositori centrol git

Buat masa ini, repositori git tempatan anda harus dikemaskini dengan Repositori Pusat Projek (asal), anda boleh mengesahkannya dengan menjalankan arahan status sekali lagi.

status $ git 
Semak status git

Anda juga boleh memaklumkan kepada anda rakan sekerja untuk mula mengusahakan projek dengan mengkloning repositori ke komputer tempatan mereka.

Buat cawangan git baru

Cawangan membolehkan anda mengusahakan ciri projek anda atau membetulkan isu dengan cepat tanpa menyentuh asas kod (cawangan induk). Untuk membuat cawangan baru dan kemudian beralih kepadanya, gunakan cawangan dan checkout arahan masing -masing.

cawangan $ git terkini $ git checkout terkini 

Sebagai alternatif, anda boleh membuat cawangan baru dan beralih kepadanya dalam satu langkah menggunakan perintah checkout dengan -b bendera.

$ git checkout -b terkini 

Anda juga boleh membuat cawangan baru berdasarkan cawangan lain, contohnya.

$ git checkout -b tuan terkini 

Untuk memeriksa cawangan mana yang anda ada, gunakan Perintah cawangan (watak asterisk menunjukkan cawangan aktif):

Cawangan $ git 
Semak Cawangan Aktif

Setelah membuat dan beralih ke cawangan baru, membuat beberapa perubahan di bawahnya dan melakukan beberapa komitmen.

$ vim sysadmin/topprocs.status sh $ git $ git komit menambah sysadmin/topprocs.sh $ git commit -a -m 'diubahsuai topprocs.sh ' 

Gabungkan perubahan dari satu cawangan ke yang lain

Untuk menggabungkan perubahan di bawah ujian cawangan ke cawangan induk, beralih ke cawangan induk dan lakukan gabungan.

$ git checkout Master $ git gabungan 
Gabungkan cawangan ujian ke dalam tuan

Sekiranya anda tidak lagi memerlukan cawangan tertentu, anda boleh memadamkannya menggunakan -d suis.

$ git cawangan -d ujian 

Muat turun perubahan dari repositori pusat jauh

Dengan mengandaikan ahli pasukan anda telah mendorong perubahan ke repositori projek pusat, anda boleh memuat turun sebarang perubahan pada contoh projek anda menggunakan tarik perintah.

$ git tarik asal atau $ git tarik asal master #if anda telah beralih ke cawangan lain 
Tarik perubahan dari repositori pusat

Periksa repositori git dan lakukan perbandingan

Di bahagian terakhir ini, kami akan merangkumi beberapa ciri git berguna yang menjejaki semua aktiviti yang berlaku di repositori anda, dengan itu membolehkan anda melihat sejarah projek.

Ciri pertama ialah Log Git, yang memaparkan log komit:

$ git log 
Lihat log komit git

Ciri penting lain ialah tunjukkan perintah yang memaparkan pelbagai jenis objek (seperti komitmen, tag, pokok dll ...):

Pertunjukan $ git 
Git menunjukkan objek

Ciri penting ketiga yang perlu anda ketahui ialah arahan diff, digunakan untuk membandingkan atau menunjukkan perbezaan antara cawangan, paparan perubahan antara direktori kerja dan indeks, perubahan antara dua fail pada cakera dan banyak lagi.

Contohnya untuk menunjukkan perbezaan antara tuan dan cawangan terkini, anda boleh menjalankan arahan berikut.

$ git diff master terkini 
Tunjukkan perbezaan antara cawangan

Baca juga: 10 alternatif git terbaik untuk menjadi tuan rumah projek sumber terbuka

Ringkasan

Git membolehkan pasukan orang bekerja bersama menggunakan fail yang sama, sambil merakam perubahan pada fail dari masa ke masa supaya mereka dapat mengingat versi tertentu kemudian.

Dengan cara ini, anda boleh menggunakan Git untuk menguruskan kod sumber, fail konfigurasi atau sebarang fail yang disimpan di komputer. Anda mungkin mahu merujuk kepada dokumentasi dalam talian Git untuk dokumentasi selanjutnya.