Nota pengenalan yang diperlukan:
- Baca, ulang dan fahami artikel tentang git . Ini akan membantu memastikan bahawa semuanya telah disediakan dan sedia untuk digunakan.
- Pasang Intellij IDEA.
- Sediakan satu jam masa peribadi untuk penyerapan sepenuhnya.
Klon projek secara tempatan
Terdapat dua pilihan di sini.- Jika anda sudah mempunyai akaun Github dan ingin meneruskan sesuatu kemudian, lebih baik untuk menggantikan projek itu kepada diri sendiri dan mengklon salinan anda. Cara membuat garpu - Saya menerangkan dalam artikel ini dalam bab contoh aliran kerja garpu .
- Klon dari repositori saya dan lakukan segala-galanya secara tempatan tanpa keupayaan untuk menolak semuanya ke pelayan. Lagipun, ini akan menjadi repositori saya))
-
Salin alamat projek:
-
Buka Intellij IDEA dan pilih Dapatkan daripada Kawalan Versi:
-
Salin dan tampal alamat ke projek:
-
Anda akan digesa untuk membuat projek Intellij IDEA. Kami menerima tawaran:
-
Memandangkan tiada sistem binaan dan ini bukan skop artikel, pilih Cipta projek daripada sumber sedia ada :
-
Seterusnya akan ada lukisan minyak seperti ini: Kami telah menyelesaikan pengklonan, kini kami boleh melihat sekeliling.
Pertama lihat Intellij IDEA sebagai UI Git
Lihat sekali lagi projek klon: sudah ada anda boleh mendapatkan banyak maklumat tentang sistem kawalan versi. Yang pertama ialah panel Kawalan Versi di sudut kiri bawah. Di dalamnya anda boleh menemui semua perubahan setempat dan mendapatkan senarai komit (sama dengan log git). Mari kita beralih ke kuliah Log . Terdapat komponen visual tertentu yang membantu untuk memahami dengan tepat bagaimana proses pembangunan berjalan. Sebagai contoh, anda boleh melihat bahawa cawangan baharu telah dibuat dengan pengepala komit yang ditambahkan pada txt , yang kemudiannya digabungkan ke dalam cawangan induk. Jika anda mengklik pada komit, di penjuru kanan anda boleh melihat semua maklumat tentang komit: semua perubahan dan metadatanya. Selain itu, anda boleh melihat perubahan yang telah dibuat. Lebih-lebih lagi, konflik telah diselesaikan di sana. IDEA juga menunjukkan ini dengan sempurna. Jika anda mengklik dua kali pada fail yang telah ditukar semasa komit ini, kita akan melihat bagaimana konflik diselesaikan: Adalah ketara bahawa di sebelah kanan dan kiri terdapat dua versi fail yang sama yang perlu digabungkan menjadi satu. Dan di tengah-tengah adalah keputusan akhir. Apabila projek mempunyai banyak cawangan, komitmen dan pengguna yang bekerja dalam projek itu, anda perlu mencari secara berasingan mengikut cawangan (cawangan), pengguna (pengguna) dan tarikh (tarikh): Dan perkara terakhir yang saya ingin jelaskan sebelum bermula ialah bagaimana memahami kita berada di cawangan mana. Saya akan beri anda satu minit untuk mencari... adakah anda menemuinya? Adakah anda berputus asa? :D Di sudut kanan bawah terdapat butang Git: master , di mana selepas Git: ia menunjukkan cawangan mana projek sedang dijalankan. Jika anda mengklik pada butang, anda boleh melakukan banyak perkara yang berguna: berpindah ke cawangan lain, buat yang baharu, menamakan semula yang sedia ada dan seterusnya.Bekerja dengan repositori
Kekunci panas yang berguna
Untuk terus bekerja, anda perlu mengingati beberapa kekunci pintas yang sangat berguna:- ctrl + t - dapatkan perubahan terkini dari repositori jauh (git pull).
- ctrl + k - komit/lihat semua perubahan yang tersedia pada masa ini. Ini termasuk kedua-dua fail yang tidak dijejaki dan diubah suai (lihat artikel saya tentang git, ini diterangkan di sana) (git commit).
- ctrl + shift + k ialah arahan untuk menolak perubahan ke repositori jauh. Semua komit yang dibuat secara tempatan dan belum lagi berada pada komit jauh akan ditawarkan untuk push (git push).
- alt + ctrl + z - gulung semula perubahan dalam fail tertentu kepada keadaan komit terakhir yang dibuat dalam repositori tempatan. Jika anda memilih keseluruhan projek di penjuru kiri sebelah atas, anda boleh melancarkan semula perubahan pada semua fail.
Apa yang kita mahu?
Untuk bekerja, kita perlu menguasai skrip asas, yang digunakan di mana-mana. Tugasnya adalah untuk melaksanakan fungsi baharu dalam cawangan berasingan dan menolaknya ke repositori jauh (maka anda perlu membuat permintaan tarik lain untuk cawangan utama, tetapi ini di luar skop artikel kami). Apa yang perlu saya buat?-
Dapatkan semua perubahan pada masa ini di cawangan utama (master, sebagai contoh).
-
Berdasarkan yang utama ini, buat yang berasingan untuk kerja anda.
-
Laksanakan fungsi baharu.
-
Pergi ke cawangan utama dan semak sama ada terdapat sebarang perubahan baharu semasa anda bekerja. Jika tidak, maka semuanya baik-baik saja, dan jika ya, maka kami melakukan perkara berikut: kami pergi ke cawangan kerja dan asas semula perubahan dari cawangan utama kepada kami. Jika semuanya berjalan lancar, maka hebat. Tetapi mungkin ada konflik. Dan mereka boleh diselesaikan terlebih dahulu tanpa membuang masa pada repositori jauh.
Nampaknya, mengapa melakukan ini? Ini adalah peraturan bentuk yang baik, yang menghalang konflik daripada timbul selepas menolak cawangan anda ke repositori tempatan (sudah tentu ada kebarangkalian bahawa ia masih wujud, tetapi ia menjadi lebih kurang).
- Tolak perubahan anda ke repositori jauh.
Terima perubahan daripada pelayan jauh?
Saya menambahkan perihalan pada README dengan komitmen baharu dan mahu menerima perubahan ini. Pilihan ditawarkan antara gabungan dan pangkalan semula jika perubahan dibuat dalam kedua-dua repositori tempatan dan jauh. Pilih gabungan. Masukkan ctrl + t : Akibatnya, anda boleh melihat bagaimana README telah berubah, i.e. perubahan dari repositori jauh telah ditarik ke atas, dan di sudut kanan bawah anda boleh melihat semua butiran perubahan yang datang dari pelayan.Buat cawangan baharu berdasarkan master
Semuanya mudah di sini.-
Pergi ke penjuru kanan sebelah bawah dan klik pada Git: master , pilih + New Branch .
Tinggalkan kotak semak cawangan Checkout dan tulis nama cawangan baharu. Bagi saya ia akan menjadi readme-improver .
Selepas ini, Git: master akan bertukar kepada Git: readme-improver .
Mensimulasikan kerja selari
Untuk konflik muncul, seseorang mesti menciptanya :D Saya akan mengedit README dengan komit baharu melalui penyemak imbas dan dengan itu mensimulasikan kerja selari. Mereka mengatakan seseorang, semasa saya bekerja, membuat perubahan pada fail yang sama seperti saya, yang akan membawa kepada konflik. Saya akan mengeluarkan perkataan "sepenuhnya" dari baris 10.Laksanakan fungsi anda
Tugasnya adalah untuk menukar README dan menambah penerangan pada artikel baharu, iaitu, kerja dalam git dilakukan melalui Intellij IDEA. Tambahkan ini: Perubahan telah selesai, kini anda boleh membuat komitmen. Tekan kekunci pintas ctrl + k , kita dapat: Sebelum membuat komit, anda perlu melihat dengan teliti apa yang ditawarkan dalam tetingkap ini. Saya secara khusus menambah anak panah untuk menunjukkan kepada anda tempat untuk melihat. Terdapat banyak perkara menarik di sana. Dalam bahagian Mesej Komit kami menulis teks komit, dan untuk ia dibuat, anda perlu mengklik butang Komit . Saya masih tidak menemui cara melakukan ini dengan hotkey, jadi jika seseorang menemuinya, tulis, saya akan sangat gembira. Kami menulis bahawa README telah berubah dan membuat komitmen. Akibatnya, makluman akan muncul di sudut kiri bawah dengan nama komit:Semak sama ada cawangan induk telah berubah
Kami menyelesaikan tugas, ia berfungsi, kami menulis ujian, semuanya baik-baik saja. Tetapi sebelum menolak ke pelayan, anda perlu menyemak sama ada terdapat sebarang perubahan dalam cawangan utama pada masa ini. Bagaimana ini boleh berlaku? Ia sangat mudah: seseorang telah diberi tugasan selepas anda, dan ini seseorang melakukannya lebih cepat daripada anda. Oleh itu, kami berpindah ke cawangan induk. Untuk melakukan ini, anda perlu lakukan di sudut kanan bawah apa yang ditunjukkan dalam rajah di bawah: Di cawangan induk, tekan ctrl + t untuk mendapatkan perubahan terkini daripada pelayan jauh. Jika anda melihat perubahan yang dibuat, anda boleh melihat dengan mudah apa yang berlaku: Seperti yang anda lihat, perkataan "sepenuhnya" telah dialih keluar. Mungkin seseorang dari pemasaran yang memutuskan bahawa ia tidak boleh ditulis seperti itu dan memberi pembangun tugas untuk mengemas kininya. Kami kini mempunyai versi terkini cawangan induk secara tempatan. Mari kembali ke readme-improver . Sekarang kita perlu membuat asas semula perubahan daripada cawangan induk kepada kita. Kami lakukan: Jika anda mengikuti semuanya dengan betul dengan saya, hasilnya harus menjadi konflik dalam fail README: Terdapat juga banyak maklumat di sini yang perlu difahami dan diserap. Ini menunjukkan senarai (dalam kes kami satu elemen) fail yang mempunyai konflik. Kita boleh memilih tiga pilihan:- terima milik anda - terima hanya perubahan daripada readme-improver.
- terima mereka - terima hanya perubahan daripada tuan.
- cantum - pilih sendiri apa yang perlu disimpan dan apa yang perlu dialih keluar.
- Ini adalah perubahan daripada readme-improver.
- Hasilnya. Buat masa ini ia adalah sama seperti sebelum perubahan.
- Perubahan daripada cawangan induk.
Tolak perubahan pada pelayan jauh
Langkah seterusnya ialah menolak perubahan pada pelayan jauh dan membuat permintaan tarik. Untuk melakukan ini, hanya tekan ctrl + shift + k , selepas itu kita dapat: Di sebelah kiri akan ada senarai komit yang belum ditolak ke repositori jauh, dan di sebelah kanan akan terdapat semua fail yang telah berubah. Itu sahaja: klik Tekan , dan anda akan gembira :) Jika tolakan itu berjaya, akan ada pemberitahuan seperti ini di penjuru kanan sebelah bawah:Bahagian bonus
Saya pada mulanya tidak mahu menambah penciptaan permintaan tarik pada artikel itu, tetapi ternyata tidak begitu lengkap kerana ini. Oleh itu, kami pergi ke repositori GitHub (jika ia milik anda, sudah tentu)))) dan melihat bahawa GitHub sudah tahu apa yang hendak ditawarkan kepada kami: Klik pada Bandingkan & tarik permintaan , dan kemudian klik Buat permintaan tarik . Disebabkan fakta bahawa kami telah menyelesaikan konflik terlebih dahulu, kini apabila membuat permintaan tarik, anda boleh segera menggabungkannya: Itu sahaja yang saya ingin beritahu anda kali ini. Sudah tentu, saya hanya membuka pintu dan menunjukkan kepada anda sebahagian kecil. Selebihnya anda akan cari sendiri mengikut keperluan. Seperti biasa, saya menjemput anda untuk melanggan akaun GitHub saya , di mana saya menyiarkan projek berdasarkan pelbagai teknologi yang saya gunakan di tempat kerja. Saya baru-baru ini mempunyai pencapaian peribadi - projek saya telah dinilai oleh lebih daripada seratus pembangun. Ini adalah perasaan gembira yang luar biasa apabila seseorang menggunakan apa yang anda buat. Dan menggunakannya untuk kebaikan.pautan yang berguna
- JavaRush: Bermula dengan Git: panduan terperinci untuk pemula
- GitHub: Projek demo untuk diusahakan
- JavaRush: Menganalisis strategi percabangan dalam Git
- JetBrains: Sediakan Repositori Git
- Habr: Git rebase
- GitHub: Akaun Saya
GO TO FULL VERSION