JavaRush /Blog Java /Random-MS /Mari sambungkan Git dengan Intellij IDEA

Mari sambungkan Git dengan Intellij IDEA

Diterbitkan dalam kumpulan
Seperti tradisi, saya mengalu-alukan anda, Jurutera Perisian Kanan masa depan. Mari sambungkan Git dengan Intellij IDEA - 1Hari ini kita akan bercakap tentang kesinambungan logik artikel saya tentang Git . Saya juga mengesyorkan membaca bahan mengenai strategi percabangan yang saya terbitkan sebelum ini. Dalam artikel tentang Git, saya menerangkan cara bekerja dengannya pada baris arahan, dan hari ini saya akan menunjukkan kepada anda cara melakukan semua ini dalam Intellij IDEA. Pada permulaan perjalanan saya sebagai pembangun, saya menggunakan baris arahan dan berpendapat bahawa saya tidak perlu menggunakan UI untuk perkara ini. Lagipun, semuanya jelas dan sebagainya... Tetapi itu adalah tepat sehingga saat saya mula menggunakan Git dalam Intellij IDEA... Saya ingin segera mengatakan bahawa saya akan menerangkan pengalaman peribadi saya. Terdapat beberapa pilihan untuk menyelesaikan masalah yang sama menggunakan Intellij IDEA, dan jika anda tahu cara untuk melakukan dengan lebih baik perkara yang saya terangkan dalam artikel, tulis dalam ulasan dan kami akan berbincang.

Nota pengenalan yang diperlukan:

  1. Baca, ulang dan fahami artikel tentang git . Ini akan membantu memastikan bahawa semuanya telah disediakan dan sedia untuk digunakan.
  2. Pasang Intellij IDEA.
  3. Sediakan satu jam masa peribadi untuk penyerapan sepenuhnya.
Untuk kerja, mari ambil projek demo yang saya gunakan untuk artikel tentang git. KEMASKINI:Pada masa penerbitan, UI Github baharu akan tersedia dan beberapa ikon tidak akan berada di tempat ia ditunjukkan dalam artikel. Jangan risau: anda hanya perlu sama ada tidak beralih kepada UI baharu atau mencarinya.

Klon projek secara tempatan

Terdapat dua pilihan di sini.
  1. 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 .
  2. Klon dari repositori saya dan lakukan segala-galanya secara tempatan tanpa keupayaan untuk menolak semuanya ke pelayan. Lagipun, ini akan menjadi repositori saya))
Untuk mengklonkan projek daripada Github, anda perlu menyalin pautan ke projek dan menyerahkannya kepada IntelliJ IDEA:
  1. Salin alamat projek:

    Mari sambungkan Git dengan Intellij IDEA - 2
  2. Buka Intellij IDEA dan pilih Dapatkan daripada Kawalan Versi:

    Mari sambungkan Git dengan Intellij IDEA - 3
  3. Salin dan tampal alamat ke projek:

    Mari sambungkan Git dengan Intellij IDEA - 4
  4. Anda akan digesa untuk membuat projek Intellij IDEA. Kami menerima tawaran:

    Mari sambungkan Git dengan Intellij IDEA - 5
  5. Memandangkan tiada sistem binaan dan ini bukan skop artikel, pilih Cipta projek daripada sumber sedia ada :

    Mari sambungkan Git dengan Intellij IDEA - 6
  6. Seterusnya akan ada lukisan minyak seperti ini: Mari sambungkan Git dengan Intellij IDEA - 7Kami 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. Подружим Git с Intellij IDEA - 8Selain 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: Подружим Git с Intellij IDEA - 9Adalah 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): Подружим Git с Intellij IDEA - 10Dan 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. Подружим Git с Intellij IDEA - 11

Bekerja dengan repositori

Kekunci panas yang berguna

Untuk terus bekerja, anda perlu mengingati beberapa kekunci pintas yang sangat berguna:
  1. ctrl + t - dapatkan perubahan terkini dari repositori jauh (git pull).
  2. 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).
  3. 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).
  4. 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.
Подружим Git с Intellij IDEA - 12

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?
  1. Dapatkan semua perubahan pada masa ini di cawangan utama (master, sebagai contoh).

  2. Berdasarkan yang utama ini, buat yang berasingan untuk kerja anda.

  3. Laksanakan fungsi baharu.

  4. 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).

  5. Tolak perubahan anda ke repositori jauh.
Apa yang berlaku seterusnya bergantung pada matlamat dan imaginasi anda.

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 : Подружим Git с Intellij IDEA - 13Akibatnya, 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. Подружим Git с Intellij IDEA - 14

Buat cawangan baharu berdasarkan master

Semuanya mudah di sini.
  1. Pergi ke penjuru kanan sebelah bawah dan klik pada Git: master , pilih + New Branch .

    Подружим Git с Intellij IDEA - 15
  2. Tinggalkan kotak semak cawangan Checkout dan tulis nama cawangan baharu. Bagi saya ia akan menjadi readme-improver .

    Подружим Git с Intellij IDEA - 16

    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: Подружим Git с Intellij IDEA - 17Perubahan telah selesai, kini anda boleh membuat komitmen. Tekan kekunci pintas ctrl + k , kita dapat: Подружим Git с Intellij IDEA - 18Sebelum 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: Подружим Git с Intellij IDEA - 19

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: Подружим Git с Intellij IDEA - 20Di 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: Подружим Git с Intellij IDEA - 21Seperti 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: Подружим Git с Intellij IDEA - 22Jika anda mengikuti semuanya dengan betul dengan saya, hasilnya harus menjadi konflik dalam fail README: Подружим Git с Intellij IDEA - 23Terdapat 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:
  1. terima milik anda - terima hanya perubahan daripada readme-improver.
  2. terima mereka - terima hanya perubahan daripada tuan.
  3. cantum - pilih sendiri apa yang perlu disimpan dan apa yang perlu dialih keluar.
Tidak jelas apa yang telah berubah di sana, dan jika perubahan itu ada dalam induk, maka ia diperlukan di sana, dan kami tidak boleh menerima perubahan kami begitu sahaja, jadi kami memilih gabungan : Подружим Git с Intellij IDEA - 24Di sini anda boleh melihat bahawa terdapat tiga bahagian:
  1. Ini adalah perubahan daripada readme-improver.
  2. Hasilnya. Buat masa ini ia adalah sama seperti sebelum perubahan.
  3. Perubahan daripada cawangan induk.
Kami perlu mengumpul hasilnya dengan cara yang memuaskan hati semua orang. Oleh itu, kami mengkaji apa yang mereka lakukan SEBELUM kami, dan menyedari bahawa mereka hanya mengalih keluar perkataan "sepenuhnya". Baiklah, tiada masalah. Ini bermakna kami akan mengalih keluarnya sebagai hasilnya dan menambah perubahan kami. Sebaik sahaja kami membetulkan keputusan, anda boleh mengklik Guna . Selepas ini, pemberitahuan akan muncul bahawa pangkalan semula telah berjaya: Подружим Git с Intellij IDEA - 25Beginilah cara kami menyelesaikan konflik pertama kami melalui Intellij IDEA :D

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: Подружим Git с Intellij IDEA - 26Di 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: Подружим Git с Intellij IDEA - 27

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: Подружим Git с Intellij IDEA - 28Klik 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: Подружим Git с Intellij IDEA - 29Itu 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

  1. JavaRush: Bermula dengan Git: panduan terperinci untuk pemula
  2. GitHub: Projek demo untuk diusahakan
  3. JavaRush: Menganalisis strategi percabangan dalam Git
  4. JetBrains: Sediakan Repositori Git
  5. Habr: Git rebase
  6. GitHub: Akaun Saya
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION