JavaRush /Blog Java /Random-MS /Bermula dengan Git: panduan terperinci untuk pemula

Bermula dengan Git: panduan terperinci untuk pemula

Diterbitkan dalam kumpulan

Daripada perkenalan

Hello bakal Jurutera Perisian Kanan. Bermula dengan Git: panduan terperinci untuk pemula - 1Hari ini kita akan bercakap tentang sistem kawalan versi, iaitu Git (dibaca sebagai GIT, dan bukan JIT, kerana ia mungkin kelihatan dari tatabahasa Inggeris). Ya, ya, saya tahu bahawa terdapat juga Mercurial, SVN... Tetapi jujurlah: masa mereka telah berlalu, dan saya tidak akan membuang masa berharga anda untuk mereka. Supaya anda memahami kepentingan mengetahui Git pada zaman kita, saya akan katakan ini: tanpa pengetahuan/pemahaman tentang perkara ini, anda tiada kena mengena dalam pengaturcaraan. Tetapi keindahannya ialah untuk bekerja secara berterusan anda tidak perlu menyimpan semua arahan dan kemungkinan di kepala anda. Anda perlu mengetahui satu set arahan yang akan membantu anda memahami semua yang berlaku.

Asas Git

Git ialah sistem kawalan versi teragih untuk kod kami. Mengapa kita memerlukannya? Pasukan teragih memerlukan beberapa jenis sistem pengurusan kerja. Diperlukan untuk menjejaki perubahan yang berlaku dari semasa ke semasa. Iaitu, langkah demi langkah kita melihat fail mana yang telah berubah dan bagaimana. Ini amat penting apabila anda menganalisis perkara yang telah dilakukan dalam satu tugasan: ini membolehkan anda kembali. Mari bayangkan situasi: terdapat kod yang berfungsi, semuanya baik di dalamnya, tetapi kami memutuskan untuk menambah baik sesuatu, mengubahnya di sini, mengubahnya di sana. Segala-galanya baik-baik saja, tetapi peningkatan ini mematahkan separuh daripada fungsi dan menjadikannya mustahil untuk berfungsi. Jadi, apa yang seterusnya? Tanpa Gita, seseorang itu perlu duduk berjam-jam dan mengingati bagaimana segala-galanya pada asalnya. Oleh itu, kami hanya kembali kepada komit dan itu sahaja. Atau bagaimana jika terdapat dua pembangun membuat perubahan kod mereka pada masa yang sama? Tanpa Git ia kelihatan seperti ini: mereka menyalin kod daripada yang asal dan melakukan apa yang perlu mereka lakukan. Saatnya tiba dan kedua-duanya mahu menambah perubahan mereka pada folder utama. Dan apa yang perlu dilakukan dalam keadaan ini?.. Saya tidak berani untuk menganggarkan masa untuk melakukan kerja ini. Tidak akan ada masalah seperti itu sama sekali jika anda menggunakan Git.

Memasang Git

Mari pasang Git pada komputer anda. Saya faham bahawa setiap orang mempunyai OS yang berbeza, jadi saya akan cuba menerangkan untuk beberapa kes.

Pemasangan untuk Windows

Seperti biasa, anda perlu memuat turun fail exe dan menjalankannya. Segala-galanya mudah di sini: klik pada pautan Google pertama , pasang dan itu sahaja. Untuk kerja kami akan menggunakan konsol bash yang mereka sediakan. Untuk bekerja pada Windows, anda perlu menjalankan Git Bash. Inilah rupanya dalam menu mula: Bermula dengan Git: panduan terperinci untuk pemula - 2Dan ini sudah pun menjadi konsol di mana anda boleh bekerja. Untuk tidak pergi ke folder dengan projek setiap kali untuk membuka git di sana, anda boleh klik kanan dalam folder untuk membuka konsol dengan laluan yang kami perlukan: Bermula dengan Git: panduan terperinci untuk pemula - 3

Pemasangan untuk Linux

Biasanya git sudah dipasang dan disertakan dalam pengedaran Linux, kerana ia adalah alat yang asalnya ditulis untuk membangunkan kernel Linux. Tetapi ada keadaan apabila ia tidak ada. Untuk menyemak ini, anda perlu membuka terminal dan taip: git --version. Jika ada jawapan yang jelas, tidak perlu memasang apa-apa. Buka terminal dan pasang. Saya bekerja di Ubuntu, jadi saya boleh memberitahu anda apa yang perlu ditulis untuknya: sudo apt-get install git. Dan itu sahaja: kini anda boleh menggunakan Git dalam mana-mana terminal.

Pemasangan pada macOS

Di sini juga, mula-mula anda perlu menyemak sama ada Git sudah wujud (lihat di atas, seperti pada Linux). Jika tidak, cara paling mudah ialah memuat turun versi terkini. Jika XCode dipasang, maka Git pasti akan dipasang secara automatik.

Persediaan Git

Git mempunyai tetapan pengguna dari mana kerja akan dijalankan. Ini adalah perkara yang munasabah dan perlu, kerana apabila komit dibuat, Git mengambil maklumat ini dengan tepat untuk medan Pengarang. Untuk menyediakan nama pengguna dan kata laluan untuk semua projek, anda perlu memasukkan arahan berikut:

git config --global user.name ”Ivan Ivanov”
git config --global user.email ivan.ivanov@gmail.com
Jika terdapat keperluan untuk menukar pengarang untuk projek tertentu (untuk projek peribadi, contohnya), anda boleh mengalih keluar --global, dan ini akan berfungsi:

git config user.name ”Ivan Ivanov”
git config user.email ivan.ivanov@gmail.com

Sedikit teori...

Untuk kekal pada topik, anda dinasihatkan untuk menambah beberapa perkataan dan tindakan baharu pada mesej anda... Jika tidak, tiada apa-apa untuk dibincangkan. Sudah tentu, ini adalah beberapa jargon dan salinan bahasa Inggeris, jadi saya akan menambah makna dalam bahasa Inggeris. Apa perkataan dan tindakan?
  • repositori git;
  • beriltizam (komit);
  • cawangan;
  • bergabung;
  • konflik;
  • tarik;
  • menolak;
  • bagaimana untuk mengabaikan beberapa fail (.gitignore).
Dan sebagainya.

Negeri di Git

Gita mempunyai beberapa keadaan yang perlu difahami dan diingati:
  • tidak dikesan;
  • diubah suai;
  • disediakan (berperingkat);
  • komited.

Apakah maksudnya?

Ini ialah keadaan di mana fail daripada kod kami berada. Iaitu, jalan hidup mereka biasanya kelihatan seperti ini:
  1. Fail yang dibuat dan tidak ditambahkan pada repositori akan berada dalam keadaan tidak dijejaki.
  2. Kami membuat perubahan pada fail yang telah ditambahkan pada repositori Git - ia berada dalam keadaan diubah suai.
  3. Daripada fail yang telah kami ubah, kami hanya memilih mereka (atau semua) yang kami perlukan (contohnya, kami tidak memerlukan kelas yang disusun), dan kelas dengan perubahan ini jatuh ke dalam keadaan berperingkat.
  4. Komit dibuat daripada fail yang disediakan dari keadaan berperingkat dan masuk ke repositori Git. Selepas ini, keadaan berperingkat kosong. Tetapi diubah suai mungkin masih mengandungi sesuatu.
Ia kelihatan seperti ini (gambar dari dokumen rasmi, jadi anda boleh mempercayainya)): Bermula dengan Git: panduan terperinci untuk pemula - 4

Apa itu komitmen

Komit ialah objek utama dalam kawalan versi. Ia mengandungi semua perubahan sejak komit itu. Komit dipautkan antara satu sama lain seperti senarai pautan tunggal. Iaitu: Terdapat komit pertama. Apabila komit kedua dibuat, ia (yang kedua) tahu bahawa ia datang selepas yang pertama. Dan dengan cara ini anda boleh menjejaki maklumat tersebut. Komit juga mempunyai maklumatnya sendiri, yang dipanggil metadata:
  • pengecam komit unik yang anda boleh menemuinya;
  • nama pengarang komit yang menciptanya;
  • komit tarikh penciptaan;
  • ulasan yang menerangkan perkara yang telah dilakukan semasa komitmen ini.
Inilah rupanya: Bermula dengan Git: panduan terperinci untuk pemula - 5

Apa itu cawangan

Bermula dengan Git: panduan terperinci untuk pemula - 6Cawangan adalah penunjuk kepada komitmen. Memandangkan komit mengetahui komit mana yang datang sebelum itu, apabila cawangan menunjuk ke komit, semua komit sebelumnya juga merujuk kepadanya. Berdasarkan ini, kita boleh mengatakan bahawa terdapat banyak cawangan yang menunjuk kepada komit yang sama. Kerja berlaku pada cawangan, jadi apabila komit baharu dibuat, cawangan mengalihkan penudingnya ke komit yang lebih baharu.

Bermula dengan Git

Anda boleh bekerja hanya dengan repositori tempatan, atau dengan repositori jauh. Untuk menyelesaikan arahan yang diperlukan, anda hanya boleh menggunakan repositori tempatan. Ia menyimpan semua maklumat hanya secara tempatan dalam projek dalam folder .git. Jika kita bercakap tentang jauh, maka semua maklumat disimpan di suatu tempat pada pelayan jauh: hanya salinan projek disimpan secara tempatan, perubahan yang boleh ditolak (git push) ke repositori jauh. Di sini dan seterusnya kita akan membincangkan bekerja dengan git dalam konsol. Sudah tentu, anda boleh menggunakan beberapa penyelesaian grafik (contohnya, dalam Intellij IDEA), tetapi pertama sekali anda perlu memikirkan arahan yang sedang berlaku dan maksudnya.

Bekerja dengan Git dalam repositori tempatan

Seterusnya, saya cadangkan anda mengikuti semua langkah yang saya lakukan semasa anda membaca artikel tersebut. Ini akan meningkatkan pemahaman dan pengekalan bahan anda. Jadi bon appetit :) Untuk membuat repositori tempatan, anda perlu menulis:

git init
Начало работы с Git: подробный гайд для новичков - 7Ini akan mencipta folder .git di lokasi di mana konsol berada. .git ialah folder yang menyimpan semua maklumat tentang repositori Git. Tidak perlu memadamkannya ;) Seterusnya, fail ditambahkan pada projek ini, dan statusnya menjadi Tidak Dijejaki. Untuk melihat status kerja semasa, tulis:

git status
Начало работы с Git: подробный гайд для новичков - 8Kami berada di cawangan induk, dan sehingga kami berpindah ke yang lain, semuanya akan kekal seperti itu. Dengan cara ini anda boleh melihat fail mana yang telah diubah tetapi belum ditambahkan pada keadaan berperingkat. Untuk menambahkannya ke keadaan berperingkat, anda perlu menulis git add. Mungkin terdapat beberapa pilihan di sini, sebagai contoh:
  • git add -A - tambah semua fail dari keadaan berperingkat;
  • git add . — tambahkan semua fail daripada folder ini dan semua fail dalaman. Pada asasnya sama seperti yang sebelumnya;
  • git add <filename> - hanya menambah fail tertentu. Di sini anda boleh menggunakan ungkapan biasa untuk menambah mengikut beberapa corak. Contohnya, git add *.java: ini bermakna anda hanya perlu menambah fail dengan sambungan java.
Adalah jelas bahawa dua pilihan pertama adalah mudah, tetapi dengan penambahan itu akan menjadi lebih menarik, jadi kami menulis:

git add *.txt
Untuk menyemak status, kami menggunakan arahan yang telah kami ketahui:

git status
Начало работы с Git: подробный гайд для новичков - 9Daripada ini, kita dapat melihat bahawa ungkapan biasa berfungsi dengan betul, dan kini test_resource.txt berada dalam keadaan berperingkat. Dan akhirnya, peringkat terakhir (dengan repositori tempatan, dengan yang jauh akan ada satu lagi;)) - komit dan buat komit baharu:

git commit -m “all txt files were added to the project”
Начало работы с Git: подробный гайд для новичков - 10Seterusnya, terdapat arahan yang bagus untuk melihat sejarah komit cawangan. Mari gunakannya:

git log
Начало работы с Git: подробный гайд для новичков - 11Di sini anda sudah dapat melihat bahawa komit pertama kami telah muncul dengan teks yang kami pindahkan. Adalah sangat penting untuk memahami bahawa teks yang kami hantar mesti mentakrifkan setepat mungkin perkara yang telah dilakukan semasa komitmen ini. Ini akan membantu banyak kali pada masa hadapan. Pembaca yang ingin tahu yang masih belum tertidur mungkin berkata: apakah yang berlaku kepada fail GitTest.java? Sekarang kita akan mengetahui, gunakan untuk ini:

git status
Начало работы с Git: подробный гайд для новичков - 12Seperti yang kita dapat lihat, ia kekal dalam keadaan tidak dijejaki dan menunggu di sayap. Atau mungkin kita tidak mahu menambahnya pada projek itu sama sekali? Kadang-kadang ia berlaku. Seterusnya, untuk menjadikannya lebih menarik, mari cuba tukar fail teks kami test_resource.txt. Mari tambahkan beberapa teks di sana dan semak status:

git status
Начало работы с Git: подробный гайд для новичков - 13Di sini anda boleh melihat dengan jelas perbezaan antara kedua-dua keadaan - tidak dijejaki dan diubah suai. GitTest.java berada dalam keadaan tidak dijejaki dan test_resource.txt berada dalam keadaan diubah suai. Memandangkan sudah terdapat fail dalam keadaan diubah suai, kita boleh melihat perubahan yang telah dibuat padanya. Ini boleh dilakukan menggunakan arahan:

git diff
Начало работы с Git: подробный гайд для новичков - 14Iaitu, anda boleh melihat dengan jelas di sini bahawa saya menambah hello world! pada fail teks kami. Tambah perubahan pada fail teks dan komit:

git add test_resource.txt
git commit -m “added hello word! to test_resource.txt”
Untuk melihat semua komitmen, tulis:

git log
Начало работы с Git: подробный гайд для новичков - 15Seperti yang anda lihat, sudah ada dua komitmen. Dengan cara yang sama kami menambah GitTest.java. Sekarang tiada ulasan, hanya arahan:

git add GitTest.java
git commit -m “added GitTest.java”
git status
Начало работы с Git: подробный гайд для новичков - 16

Bekerja dengan .giignore

Sudah jelas bahawa kami hanya mahu menyimpan kod sumber dan tiada apa-apa lagi dalam repositori. Apa lagi yang boleh berlaku? Sekurang-kurangnya, kelas terkumpul dan/atau fail yang mencipta persekitaran pembangunan. Untuk Git mengabaikannya, terdapat fail khas yang perlu dibuat. Kami melakukan ini: kami mencipta fail dalam akar projek yang dipanggil .gitignore, dan dalam fail ini setiap baris akan menjadi corak untuk diabaikan. Dalam contoh ini, git ignore akan kelihatan seperti ini:

```
*.class
target/
*.iml
.idea/
```
Mari lihat sekarang:
  • baris pertama ialah mengabaikan semua fail dengan sambungan .class;
  • baris kedua ialah mengabaikan folder sasaran dan semua yang terkandung di dalamnya;
  • baris ketiga ialah mengabaikan semua fail dengan sambungan .iml;
  • Baris keempat ialah mengabaikan folder .idea.
Mari cuba dengan contoh. Untuk melihat cara ini berfungsi, mari tambahkan kelas GitTest.class yang dikompilasi pada projek dan lihat status projek:

git status
Начало работы с Git: подробный гайд для новичков - 17Jelas sekali, kami tidak mahu secara tidak sengaja (jika kami menggunakan git add -A) menambah kelas yang disusun pada projek. Untuk melakukan ini, cipta fail .gitignore dan tambahkan semua yang diterangkan sebelum ini: Начало работы с Git: подробный гайд для новичков - 18Sekarang mari tambah git abaikan pada projek dengan komit baharu:

git add .gitignore
git commit -m “added .gitignore file”
Dan kini detik kebenaran: kami mempunyai kelas GitTest.class yang disusun dalam keadaan tidak dijejaki, yang kami tidak mahu tambahkan pada repositori Git. Di sinilah git abaikan harus berfungsi:

git status
Начало работы с Git: подробный гайд для новичков - 19Semuanya jelas) Git abaikan +1)

Bekerja dengan cawangan dan seumpamanya

Sudah tentu, bekerja di satu cawangan adalah menyusahkan untuk satu dan mustahil apabila terdapat lebih daripada seorang dalam pasukan. Terdapat cawangan untuk ini. Seperti yang saya katakan sebelum ini, cawangan hanyalah penunjuk bergerak untuk melakukan. Dalam bahagian ini, kita akan melihat bekerja di cawangan yang berbeza: bagaimana untuk menggabungkan perubahan dari satu cawangan ke cawangan lain, konflik yang mungkin timbul, dan banyak lagi. Untuk melihat senarai semua cawangan dalam repositori dan memahami yang mana anda berada, anda perlu menulis:

git branch -a
Начало работы с Git: подробный гайд для новичков - 20Anda boleh melihat bahawa kami hanya mempunyai satu cawangan induk, dan asterisk di hadapannya menyatakan bahawa kami berada di atasnya. Dengan cara ini, untuk mengetahui cawangan mana kita berada, kita juga boleh menggunakan semakan status (status git). Seterusnya, terdapat beberapa pilihan untuk membuat cawangan (mungkin terdapat lebih banyak lagi, saya menggunakan ini):
  • buat cawangan baharu berdasarkan cawangan kami (99% daripada kes);
  • buat cawangan berdasarkan komitmen tertentu (1%).

Buat cawangan berdasarkan komitmen tertentu

Kami akan bergantung pada pengecam komit unik. Untuk mencarinya, kami menulis:

git log
Начало работы с Git: подробный гайд для новичков - 21Saya menyerlahkan komitmen dengan komen "menambah hello world...". Ia mempunyai pengecam unik - "6c44e53d06228f888f2f454d3cb8c1c976dd73f8". Saya ingin membuat cawangan pembangunan bermula dari komit ini. Untuk ini saya akan menulis:

git checkout -b development 6c44e53d06228f888f2f454d3cb8c1c976dd73f8
Cawangan dicipta yang mengandungi hanya dua komit pertama daripada cawangan induk. Untuk menguji ini, kami mula-mula akan memastikan kami telah berpindah ke cawangan lain dan melihat bilangan komit padanya:

git status
git log
Начало работы с Git: подробный гайд для новичков - 22Dan memang benar: ternyata kami mempunyai dua komitmen. Ngomong-ngomong, perkara yang menarik: belum ada fail .gitignore dalam cawangan ini, jadi fail tersusun kami (GitTest.class) kini diserlahkan dalam keadaan tidak dijejaki. Kini kami boleh menyemak semula cawangan kami dengan menulis:

git branch -a
Начало работы с Git: подробный гайд для новичков - 23Ia boleh dilihat bahawa terdapat dua cabang - induk dan pembangunan - dan kini kita berada pada pembangunan.

Buat cawangan berdasarkan cawangan semasa

Cara kedua untuk membuat cawangan ialah membina cawangan lain. Saya ingin membuat cawangan berdasarkan cawangan induk, jadi saya perlu beralih kepadanya terlebih dahulu, dan langkah seterusnya ialah mencipta cawangan baharu. Mari lihat:
  • git checkout master - pindah ke cawangan induk;
  • status git - semak sama ada ia berada pada induk.
Начало работы с Git: подробный гайд для новичков - 24Di sini anda boleh melihat bahawa kami telah berpindah ke cawangan induk, git ignore sudah berfungsi di sini, dan kelas yang disusun tidak lagi muncul sebagai tidak dijejaki. Sekarang kami membuat cawangan baharu berdasarkan cawangan induk:

git checkout -b feature/update-txt-files
Начало работы с Git: подробный гайд для новичков - 25Jika anda mempunyai sebarang keraguan bahawa cawangan ini tidak akan sama dengan master, anda boleh menyemaknya dengan mudah dengan menulis log git dan melihat semua komit. Patutlah ada empat daripadanya.

Selesaikan konflik

Sebelum kita memahami apa itu konflik, kita perlu bercakap tentang penggabungan (penggabungan) satu cabang kepada yang lain. Gambar ini boleh menunjukkan proses apabila satu cawangan digabungkan menjadi satu lagi: Начало работы с Git: подробный гайд для новичков - 26Iaitu, terdapat cawangan utama. Pada satu ketika, yang kedua dicipta daripadanya, di mana perubahan berlaku. Setelah kerja selesai, anda perlu menggabungkan satu cawangan ke yang lain. Saya tidak akan menerangkan pelbagai ciri: Saya hanya ingin menyampaikan pemahaman dalam rangka artikel ini, dan anda akan mengetahui butirannya sendiri jika perlu. Jadi, dalam contoh kami, kami mencipta cawangan feature/update-txt-files. Seperti yang tertulis dalam nama cawangan, kami akan mengemas kini teks. Начало работы с Git: подробный гайд для новичков - 27Kini anda perlu membuat komitmen baharu untuk perkara ini:

git add *.txt 
git commit -m “updated txt files”
git log
Начало работы с Git: подробный гайд для новичков - 28Sekarang, jika kita ingin menggabungkan cawangan feature/update-txt-files menjadi master, kita perlu pergi ke master dan tulis git merge feature/update-txt-files:

git checkout master
git merge feature/update-txt-files
git log
Начало работы с Git: подробный гайд для новичков - 29Akibatnya, kini cawangan induk juga mempunyai komit yang telah ditambahkan pada feature/update-txt-files. Fungsi ini ditambah supaya anda boleh memadamkan cawangan ciri. Untuk melakukan ini kami menulis:

git branch -D feature/update-txt-files
Setakat ini ia jelas, bukan? Mari kita rumitkan keadaan: sekarang katakan bahawa kita perlu menukar fail txt sekali lagi. Tetapi kini fail ini juga akan ditukar dalam wizard. Iaitu, ia akan berubah secara selari, dan Git tidak akan dapat memahami perkara yang perlu dilakukan dalam situasi apabila kita ingin menggabungkan kod baharu ke dalam cawangan induk. Pergi! Kami membuat cawangan baharu berdasarkan induk, membuat perubahan pada text_resource.txt dan membuat komitmen untuk perkara ini:

git checkout -b feature/add-header
... делаем изменения в файле
Начало работы с Git: подробный гайд для новичков - 30

git add *.txt
git commit -m “added header to txt”
Начало работы с Git: подробный гайд для новичков - 31Pergi ke cawangan induk dan juga kemas kini fail teks ini pada baris yang sama dengan cawangan ciri:

git checkout master
… обновor test_resource.txt
Начало работы с Git: подробный гайд для новичков - 32

git add test_resource.txt
git commit -m “added master header to txt”
Dan kini detik yang paling menarik: anda perlu menggabungkan perubahan daripada cawangan ciri/tambah-kepala kepada menguasai. Kami berada di cawangan induk, jadi apa yang perlu kami lakukan ialah menulis:

git merge feature/add-header
Tetapi kita akan mendapat keputusan dengan konflik dalam fail test_resource.txt: Начало работы с Git: подробный гайд для новичков - 33Dan di sini kita dapat melihat bahawa Git tidak boleh memutuskan secara bebas cara menggabungkan kod ini dan mengatakan bahawa kita mesti terlebih dahulu menyelesaikan konflik, dan kemudian membuat komitmen. Ok, mari buka fail yang mengandungi konflik dalam editor teks dan lihat: Начало работы с Git: подробный гайд для новичков - 34Untuk memahami apa yang git lakukan di sini, anda perlu mengingati apa yang kami tulis di mana dan bandingkan:
  1. antara “<<<<<<<< HEAD” dan “=======” ialah perubahan induk yang berada dalam baris ini dalam cawangan induk.
  2. antara “=======” dan “>>>>>>> feature/add-header” terdapat perubahan yang terdapat dalam cabang feature/add-header.
Oleh itu, Git menunjukkan bahawa pada ketika ini dia tidak dapat memikirkan cara untuk menggabungkan fail ini, membahagikan bahagian ini kepada dua bahagian daripada cawangan yang berbeza dan mencadangkan agar kami membuat keputusan sendiri. Okay, dengan kemahuan yang kuat saya memutuskan untuk mengalih keluar semuanya, tinggalkan hanya pengepala perkataan: Начало работы с Git: подробный гайд для новичков - 35Mari kita lihat status perubahan, penerangan akan berbeza sedikit. Tidak akan ada keadaan yang diubah suai, tetapi Tidak Digabungkan. Jadi kita boleh menambah keadaan kelima dengan selamat... Tetapi saya rasa ini tidak perlu, mari lihat:

git status
Начало работы с Git: подробный гайд для новичков - 36Kami yakin bahawa ini adalah kes yang berbeza dan luar biasa. Jom sambung:

git add *.txt
Начало работы с Git: подробный гайд для новичков - 37Dalam penerangan anda akan melihat bahawa mereka hanya mencadangkan menulis git commit. Kami mendengar dan menulis:

git commit
Начало работы с Git: подробный гайд для новичков - 38Dan itu sahaja: ini adalah cara kami melakukannya - kami menyelesaikan konflik dalam konsol. Sudah tentu, dalam persekitaran pembangunan anda boleh melakukan ini dengan lebih mudah, sebagai contoh, dalam Intellij IDEA semuanya disediakan dengan baik sehingga anda boleh melakukan semua tindakan yang diperlukan di dalamnya. Tetapi persekitaran pembangunan melakukan banyak perkara di bawah hud, dan kita sering tidak faham apa sebenarnya yang berlaku di sana. Dan apabila tiada persefahaman, maka masalah boleh timbul.

Bekerja dengan repositori jauh

Langkah terakhir ialah memahami beberapa lagi arahan yang diperlukan untuk berfungsi dengan repositori jauh. Seperti yang telah saya katakan, repositori jauh adalah tempat di mana repositori disimpan dan dari mana anda boleh mengklonkannya. Apakah jenis repositori jauh yang ada? Terdapat banyak contoh:
  • GitHub ialah repositori terbesar untuk repositori dan pembangunan kolaboratif. Saya telah menerangkannya dalam artikel sebelum ini.
    Langgan akaun Github saya . Saya sering mempamerkan hasil kerja saya di sana dalam bidang yang saya pelajari semasa bekerja.

  • GitLab ialah alat kitar hayat DevOps berasaskan web sumber terbuka yang menyediakan sistem pengurusan repositori kod untuk Git dengan wikinya sendiri, sistem penjejakan isu , saluran paip CI/CD dan ciri lain.
    Selepas berita bahawa Microsoft membeli GitHub, beberapa pembangun menduplikasi kerja mereka dalam GitLab.

  • BitBucket ialah perkhidmatan web untuk pengehosan projek dan pembangunan kolaboratif, berdasarkan sistem kawalan versi Mercurial dan Git. Pada satu masa ia mempunyai kelebihan besar berbanding GitHub kerana ia mempunyai repositori peribadi percuma. Tahun lepas, GitHub turut menyediakan ciri ini kepada semua orang secara percuma.

  • Dan sebagainya…

Perkara pertama yang perlu anda lakukan apabila bekerja dengan repositori jauh adalah untuk mengklon projek ke dalam repositori tempatan anda. Untuk kes ini, saya mengeksport projek yang kami buat secara tempatan, dan kini semua orang boleh mengklonkannya untuk diri mereka sendiri dengan menulis:
git clone https://github.com/romankh3/git-demo
Kini terdapat salinan lengkap projek di dalam negara. Untuk memastikan salinan terbaharu projek itu terletak secara tempatan, anda perlu, seperti yang mereka katakan, membuang data dengan menulis:

git pull
Начало работы с Git: подробный гайд для новичков - 39Dalam kes kami, tiada apa yang berubah dari jauh sekarang, jadi jawapannya ialah: Sudah dikemas kini. Tetapi jika saya membuat beberapa perubahan dalam repositori jauh, yang tempatan akan dikemas kini selepas kami menariknya. Dan akhirnya, arahan terakhir adalah untuk menolak data ke repositori jauh. Apabila kita telah melakukan sesuatu secara tempatan dan ingin memindahkannya ke repositori jauh, kita mesti membuat komit baharu secara setempat dahulu. Untuk melakukan ini, mari tambahkan sesuatu yang lain pada fail teks kami: Начало работы с Git: подробный гайд для новичков - 40Sekarang ini adalah perkara biasa bagi kami - kami membuat komitmen untuk perkara ini:

git add test_resource.txt
git commit -m “prepated txt for pushing”
Dan kini arahan untuk menolak ini ke repositori jauh:

git push
Начало работы с Git: подробный гайд для новичков - 41Itu sahaja yang saya ingin beritahu awak. Terima kasih kerana memberi perhatian. Langgan akaun GitHub saya , tempat saya menyiarkan projek contoh hebat yang berbeza daripada perkara yang saya pelajari dan gunakan di tempat kerja.

pautan yang berguna

Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION