Tutorial git untuk pemula

Tutorial git untuk pemula

Sekiranya anda telah menggunakan GNU/Linux untuk sebarang peluang masa yang cukup baik yang anda dengar. Anda mungkin tertanya -tanya, apa sebenarnya git dan bagaimana saya menggunakannya? Git adalah gagasan Linus Torvalds, yang membangunkannya sebagai sistem pengurusan kod sumber semasa kerjanya di kernel Linux.

Sejak itu ia telah diterima pakai oleh banyak projek perisian dan pemaju kerana rekod jejak kelajuan dan kecekapannya bersama -sama dengan kemudahan penggunaannya. Git juga mendapat populariti dengan penulis semua jenis, kerana ia boleh digunakan untuk menjejaki perubahan dalam mana -mana set fail, bukan hanya kod.

Dalam tutorial ini anda akan belajar:

  • Apa itu git
  • Cara Memasang Git di GNU/Linux
  • Cara mengkonfigurasi git
  • Cara menggunakan git untuk membuat projek baru
  • Cara mengklon, komit, menggabungkan, menolak dan cawangan menggunakan perintah git
Tutorial git untuk pemula

Keperluan perisian dan konvensyen yang digunakan

Keperluan Perisian dan Konvensyen Talian Perintah Linux
Kategori Keperluan, konvensyen atau versi perisian yang digunakan
Sistem Mana -mana sistem operasi GNU/Linux
Perisian git
Yang lain Akses istimewa ke sistem linux anda sebagai akar atau melalui sudo perintah.
Konvensyen # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak

Apa itu git?



Jadi apa itu git? Git adalah pelaksanaan khusus kawalan versi yang dikenali sebagai sistem kawalan semakan yang diedarkan yang menjejaki perubahan dari masa ke masa ke satu set fail. Git membolehkan pengesanan sejarah tempatan dan kolaboratif. Manfaat penjejakan sejarah kolaboratif adalah bahawa dokumen itu bukan hanya perubahan itu sendiri tetapi siapa, apa, kapan, dan mengapa di belakang perubahan. Apabila berkolaborasi, perubahan yang dibuat oleh penyumbang yang berbeza kemudiannya boleh digabungkan kembali ke badan kerja bersatu.

Apakah sistem kawalan semakan yang diedarkan?

Jadi apakah sistem kawalan semakan yang diedarkan? Sistem kawalan semakan yang diedarkan tidak berdasarkan pelayan pusat; Setiap komputer mempunyai repositori penuh kandungan yang disimpan secara tempatan. Manfaat utama ini ialah tidak ada satu pun titik kegagalan. Pelayan boleh digunakan untuk bekerjasama dengan individu lain, tetapi jika sesuatu yang tidak dijangka berlaku, semua orang mempunyai sandaran data yang disimpan di dalam negara (kerana git tidak bergantung pada pelayan itu), dan ia dapat dengan mudah dipulihkan kepada yang baru pelayan.

Siapa yang git?

Saya ingin menekankan bahawa git boleh digunakan sepenuhnya secara tempatan oleh individu tanpa perlu menyambung ke pelayan atau bekerjasama dengan orang lain, tetapi memudahkannya apabila perlu. Anda mungkin memikirkan sesuatu di sepanjang garis "wow, yang terdengar seperti banyak kerumitan. Mesti sangat rumit bermula dengan git.". Baiklah, anda akan salah!

Git mempunyai tumpuan untuk memproses kandungan tempatan. Sebagai pemula, anda boleh mengabaikan semua keupayaan rangkaian dengan selamat sekarang. Mula -mula kita melihat bagaimana anda boleh menggunakan git untuk menjejaki projek peribadi anda sendiri di komputer tempatan anda maka kami akan melihat contoh cara menggunakan fungsi rangkaian git dan akhirnya kami akan melihat contoh cawangan.

Memasang git

Memasang Git di GNU/Linux semudah menggunakan Pengurus Pakej anda pada baris arahan kerana anda akan memasang pakej lain. Berikut adalah beberapa contoh bagaimana ini akan dilakukan pada beberapa pengagihan popular.

Mengenai sistem berasaskan Debian dan Debian seperti Ubuntu Gunakan Apt.

$ sudo apt-get pemasangan git 

Pada redhat perusahaan linux dan sistem berasaskan redhat seperti fedora menggunakan yum.

$ sudo yum memasang git

(Nota: Pada Fedora versi 22 atau lebih baru Ganti Yum dengan DNF)

$ sudo DNF memasang git


Di Arch Linux Gunakan Pacman

$ sudo pacman -s git

Mengkonfigurasi git

Sekarang git dipasang pada sistem kami dan untuk menggunakannya, kami hanya perlu mendapatkan beberapa konfigurasi asas. Perkara pertama yang perlu anda lakukan ialah mengkonfigurasi e-mel dan nama pengguna anda di Git. Perhatikan bahawa ini tidak digunakan untuk log masuk ke mana -mana perkhidmatan; Mereka hanya digunakan untuk mendokumenkan perubahan yang dibuat oleh anda semasa merakam melakukan.

Untuk mengkonfigurasi e-mel dan nama pengguna anda masukkan arahan berikut ke terminal anda, menggantikan e-mel dan nama anda sebagai nilai antara tanda petikan.

$ git config -pengguna global.E -mel "[email protected] "$ git config -pengguna global.Namakan "Nama Pengguna Anda" 

Sekiranya perlu, kedua -dua maklumat ini dapat diubah pada bila -bila masa dengan mengeluarkan semula arahan di atas dengan nilai yang berbeza. Sekiranya anda memilih untuk melakukan ini maka Git akan mengubah nama dan alamat e-mel anda untuk rekod sejarah komitmen maju, tetapi tidak akan mengubahnya dalam komitmen sebelumnya, jadi disarankan agar anda memastikan bahawa tidak ada kesilapan pada mulanya.

Untuk mengesahkan nama pengguna dan e-mel anda masukkan yang berikut:

$ git config -l 
Tetapkan dan sahkan nama pengguna dan e-mel anda dengan git

Membuat projek Git pertama anda

Untuk menyediakan projek Git untuk kali pertama ia mesti dimulakan menggunakan arahan berikut:

$ git init name

Direktori dibuat dalam direktori kerja semasa anda menggunakan nama projek yang diberikan. Ini akan mengandungi fail/folder projek (kod sumber atau kandungan utama anda yang lain, sering dipanggil pokok kerja) bersama -sama dengan fail kawalan yang digunakan untuk penjejakan sejarah. Git menyimpan fail kawalan ini dalam .git subdirektori tersembunyi.

Semasa bekerja dengan Git, anda harus membuat folder projek yang baru dibuat direktori kerja anda sekarang:

$ CD ProjectName

Mari gunakan arahan sentuh untuk membuat fail kosong yang akan kami gunakan untuk membuat program hello dunia yang mudah.

$ sentuh Helloworld.c


Untuk menyediakan fail dalam direktori untuk komited ke sistem kawalan versi yang kami gunakan tambah git. Ini adalah proses yang dikenali sebagai pementasan. Perhatikan, kita boleh menggunakan . Untuk menambah semua fail dalam direktori, tetapi jika kita hanya mahu menambah fail pilih atau satu fail maka kami akan menggantikannya . dengan nama fail yang dikehendaki seperti yang anda lihat dalam contoh seterusnya.

$ git tambah .

Jangan takut untuk melakukan

Komit dilakukan untuk mencipta rekod sejarah yang tetap tepat bagaimana fail projek wujud pada masa ini. Kami melakukan komitmen menggunakan -m bendera untuk membuat mesej bersejarah demi kejelasan.

Mesej ini biasanya akan menggambarkan perubahan yang dibuat atau peristiwa apa yang berlaku untuk membuat kita mahu melakukan komit pada masa ini. Keadaan kandungan pada masa komit ini (dalam kes ini, fail kosong "Hello World" yang baru saja kami buat) dapat disemak semula kemudian. Kami akan melihat bagaimana untuk melakukannya seterusnya.

$ git komit -m "komit pertama projek, hanya fail kosong"

Sekarang mari kita teruskan dan buat beberapa kod sumber dalam fail kosong itu. Menggunakan editor teks anda Masukkan berikut (atau salin dan tampal) ke dalam HelloWorld.c fail dan simpannya.

#include int main (void) printf ("hello, dunia!\ n "); kembali 0;
Salinan

Sekarang kami telah mengemas kini projek kami, mari kita teruskan dan melakukan git dan git komit

$ git tambah helloworld.c $ git commit -m "ditambah kod sumber ke helloworld.c "

Membaca log

Sekarang kita mempunyai dua komitmen dalam projek kami, kami dapat melihat bagaimana ia berguna untuk mempunyai rekod sejarah perubahan dalam projek kami dari masa ke masa. Teruskan dan masukkan perkara berikut ke terminal anda untuk melihat gambaran keseluruhan sejarah ini setakat ini.

$ git log
Membaca log git

Anda akan melihat bahawa setiap komit dianjurkan oleh ID Hash SHA-1 yang unik dan bahawa pengarang, tarikh, dan komited diberikan untuk setiap komitmen. Anda juga akan melihat bahawa komit terkini disebut sebagai Kepala dalam output. Kepala adalah kedudukan semasa kami dalam projek.

Untuk melihat apa perubahan yang dibuat dalam komit yang diberikan, hanya mengeluarkan arahan pertunjukan git dengan id hash sebagai argumen. Dalam contoh kami, kami akan masuk:

$ git Show 6A9EB6C2D75B78FEBD03322A9435AC75C3BC278E 


Yang menghasilkan output berikut.

Tunjukkan perubahan git

Sekarang, bagaimana jika kita mahu kembali ke keadaan projek kita semasa komit sebelumnya, pada dasarnya benar -benar membuang perubahan yang telah kita buat seolah -olah mereka tidak pernah berlaku?

Untuk membatalkan perubahan yang kami buat dalam contoh terdahulu kami, semudah mengubahnya Kepala menggunakan Reset git perintah menggunakan id komit yang kita mahu kembali sebagai hujah. The --keras memberitahu Git bahawa kami ingin menetapkan semula komitmen itu sendiri, kawasan pementasan (fail yang kami bersiap untuk menggunakan Git Add) dan pokok kerja (fail tempatan ketika mereka muncul dalam folder projek pada pemacu kami).

$ git reset -hard 220e44bb924529c1f0bd4fe1b5b82b34b969cca7 

Setelah melaksanakan arahan terakhir ini, memeriksa kandungan

Hai dunia.c

Fail akan mendedahkan bahawa ia telah kembali ke keadaan yang tepat semasa komitmen pertama kami; fail kosong.

Dibalikkan komit menggunakan tetapan semula keras untuk ditentukan Kepala

Teruskan dan masukkan log masuk ke terminal lagi. Anda sekarang akan melihat komit pertama kami, tetapi bukan komitmen kedua kami. Ini kerana log git hanya menunjukkan komit semasa dan semua orang induknya melakukan. Untuk melihat komit kedua yang kami buat memasuki git reflog. Git reflog memaparkan rujukan kepada semua perubahan yang telah kami buat.

Sekiranya kami memutuskan bahawa menetapkan semula komit pertama adalah kesilapan maka kami boleh menggunakan ID hash SHA-1 dari komit kedua kami seperti yang ditunjukkan dalam output git git untuk menetapkan semula kepada komitmen kedua kami. Ini pada dasarnya akan mengulang semula apa yang telah kami laksanakan dan akan menyebabkan kami mendapatkan kandungan kembali dalam fail kami.

Bekerja dengan repositori jauh

Sekarang kita telah mengatasi asas -asas bekerja dengan Git secara tempatan kita dapat meneliti bagaimana aliran kerja berbeza ketika anda sedang mengusahakan projek yang dihoskan di pelayan. Projek ini boleh dihoskan di pelayan git peribadi yang dimiliki oleh organisasi yang anda bekerja atau ia boleh dihoskan pada perkhidmatan hosting repositori pihak ketiga seperti GitHub.

Untuk tujuan tutorial ini mari kita anggap anda mempunyai akses ke repositori github dan anda ingin mengemas kini projek yang anda hoskan di sana.

Pertama, kita perlu mengklon repositori secara tempatan menggunakan perintah klon git dengan url projek dan membuat direktori projek klon direktori kerja semasa kami.

projek klon $ git.URL/ProjectName.Git $ CD ProjectName 


Seterusnya, kami mengedit fail tempatan, melaksanakan perubahan yang kami mahukan. Setelah mengedit fail tempatan, kami menambahkannya ke kawasan pementasan dan melakukan komit seperti dalam contoh sebelumnya.

$ git tambah . $ git komit -m "Melaksanakan perubahan saya ke projek" 

Seterusnya, kita perlu menolak perubahan yang kami buat secara tempatan ke pelayan git. Perintah berikut akan memerlukan anda mengesahkan dengan kelayakan anda ke pelayan jauh (dalam kes ini, nama pengguna dan kata laluan GitHub anda) sebelum menolak perubahan anda.

Perhatikan bahawa perubahan ditolak ke log komit dengan cara ini akan menggunakan e-mel dan nama pengguna yang kami tentukan ketika pertama mengkonfigurasi git.

$ git push

Kesimpulan

Sekarang anda harus merasa selesa memasang git, mengkonfigurasi dan menggunakannya untuk bekerja dengan repositori tempatan dan jauh. Anda mempunyai pengetahuan yang bekerja untuk menyertai komuniti yang terus berkembang. Apa sahaja yang anda mungkin lakukan, saya harap maklumat ini mengubah cara anda berfikir tentang aliran kerja anda dengan lebih baik.

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Distro linux terbaik untuk pemaju
  • Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
  • Menguasai Gelung Skrip Bash
  • Muat turun linux
  • Pasang Arch Linux di Workstation VMware
  • Perkara yang perlu dipasang di Ubuntu 22.04
  • Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..