
Input yang diperlukan:
- Baca, ikuti, dan pahami artikel saya tentang Git . Ini akan membantu memastikan bahwa semuanya sudah diatur dan siap digunakan.
- Instal IntelliJ IDEA.
- Alokasikan satu jam waktu pribadi untuk mencapai penguasaan penuh.
Kloning proyek secara lokal
Ada dua opsi di sini:- Jika Anda sudah memiliki akun GitHub dan ingin mendorong sesuatu nanti, lebih baik fork proyek dan mengkloning salinan Anda sendiri.
- Kloning repositori saya dan lakukan semuanya secara lokal tanpa kemampuan untuk mendorong semuanya ke server. Bagaimanapun, ini adalah repositori saya :)
-
Salin alamat proyek:
-
Buka IntelliJ IDEA dan pilih "Dapatkan dari Kontrol Versi":
-
Salin dan tempel alamat proyek:
-
Anda akan diminta untuk membuat proyek IntelliJ IDEA. Menerima pesanan:
-
Karena tidak ada sistem build dan itu di luar cakupan artikel ini, kami memilih Create project from existing sources :
-
Selanjutnya Anda akan melihat layar yang indah ini:
Sekarang setelah kami mengetahui kloning, Anda dapat melihat-lihat.
Sekilas tentang IntelliJ IDEA sebagai Git UI
Perhatikan lebih dekat proyek yang dikloning: Anda sudah bisa mendapatkan banyak informasi tentang sistem kontrol versi. Pertama, kami memiliki panel Kontrol Versi di sudut kiri bawah. Di sini Anda dapat menemukan semua perubahan lokal dan mendapatkan daftar komit (analog dengan "git log"). Mari beralih ke pembahasan tentang Log . Ada visualisasi tertentu yang membantu kita memahami dengan tepat bagaimana perkembangan telah berjalan. Misalnya, Anda dapat melihat bahwa cabang baru telah dibuat dengan menambahkan tajuk ke komit txt , yang kemudian digabungkan ke dalam cabang master. Jika Anda mengklik komit, Anda dapat melihat di sudut kanan semua informasi tentang komit: semua perubahan dan metadatanya.



Bekerja dengan repositori
Tombol pintas yang berguna
Untuk pekerjaan selanjutnya, Anda perlu mengingat beberapa hotkey yang sangat berguna:- CTRL+T — Dapatkan perubahan terbaru dari repositori jarak jauh (git pull).
- CTRL+K — Buat komit / lihat semua perubahan saat ini. Ini termasuk file yang tidak terlacak dan yang dimodifikasi (lihat artikel saya tentang git, yang menjelaskan ini) (git commit).
- CTRL+SHIFT+K — Ini adalah perintah untuk mendorong perubahan ke repositori jarak jauh. Semua komit yang dibuat secara lokal dan belum ada di repositori jarak jauh akan didorong (git push).
- ALT+CTRL+Z — Kembalikan perubahan pada file tertentu ke status komit terakhir yang dibuat di repositori lokal. Jika Anda memilih seluruh proyek di pojok kiri atas, Anda dapat mengembalikan perubahan di semua file.

Apa yang kita inginkan?
Untuk menyelesaikan pekerjaan, kita perlu menguasai skenario dasar yang digunakan di mana-mana. Tujuannya adalah untuk mengimplementasikan fungsionalitas baru di cabang terpisah dan kemudian mendorongnya ke repositori jarak jauh (maka Anda juga perlu membuat permintaan tarik ke cabang utama, tetapi itu di luar cakupan artikel ini). Apa yang diperlukan untuk melakukan ini?-
Dapatkan semua perubahan saat ini di cabang utama (misalnya, "master").
-
Dari cabang utama ini, buat cabang terpisah untuk pekerjaan Anda.
-
Menerapkan fungsi baru.
-
Pergi ke cabang utama dan periksa apakah ada perubahan baru saat kami bekerja. Jika tidak, maka semuanya baik-baik saja. Tetapi jika ada perubahan, maka kami melakukan hal berikut: pergi ke cabang kerja dan mengubah perubahan dari cabang utama menjadi milik kami. Jika semuanya berjalan dengan baik, maka bagus. Tapi sangat mungkin akan ada konflik. Seperti yang terjadi, mereka dapat diselesaikan terlebih dahulu, tanpa membuang waktu di repositori jarak jauh.
Apakah Anda bertanya-tanya mengapa Anda harus melakukan ini? Ini sopan santun dan mencegah terjadinya konflik setelah mendorong cabang Anda ke repositori lokal (tentu saja ada kemungkinan konflik masih akan terjadi, tetapi menjadi jauh lebih kecil).
- Dorong perubahan Anda ke repositori jarak jauh.
Dapatkan perubahan dari server jarak jauh?
Saya menambahkan deskripsi ke README dengan komit baru dan ingin mendapatkan perubahan ini. Jika perubahan dilakukan baik di repositori lokal maupun di repositori jarak jauh, maka kita diundang untuk memilih antara penggabungan dan rebase. Kami memilih untuk bergabung. Masukkan CTRL+T :

Buat cabang baru berdasarkan master
Semuanya sederhana di sini.-
Pergi ke pojok kanan bawah dan klik Git: master . Pilih + Cabang Baru .
Biarkan kotak centang Checkout branch dipilih dan masukkan nama cabang baru. Bagi saya, itu akan menjadi readme-improver .

Git: master kemudian akan berubah menjadi Git: readme-improver .
Mari kita simulasikan pekerjaan paralel
Agar konflik muncul, seseorang harus membuatnya :D Saya akan mengedit README dengan komit baru melalui browser, sehingga mensimulasikan pekerjaan paralel. Seolah-olah seseorang membuat perubahan pada file yang sama saat saya sedang mengerjakannya. Hasilnya akan menjadi konflik. Saya akan menghapus kata "fully" dari baris 10.Terapkan fungsionalitas kami
Tugas kita adalah mengubah README dan menambahkan deskripsi ke artikel baru. Artinya, pekerjaan di Git dilakukan melalui IntelliJ IDEA. Tambahkan ini:


Periksa apakah cabang utama telah berubah
Kami menyelesaikan tugas kami. Berhasil. Kami menulis tes. Semuanya baik-baik saja. Namun sebelum mendorong ke server, kami masih perlu memeriksa apakah ada perubahan di cabang utama untuk sementara. Bagaimana itu bisa terjadi? Cukup mudah: seseorang menerima tugas setelah Anda, dan seseorang menyelesaikannya lebih cepat daripada Anda menyelesaikan tugas Anda. Jadi kita harus pergi ke cabang master. Untuk melakukan ini, kita perlu melakukan apa yang ditunjukkan di pojok kanan bawah pada tangkapan layar di bawah ini:



- terima milik Anda — hanya terima perubahan dari readme-improver.
- terima milik mereka — terima hanya perubahan dari master.
- gabung — pilih sendiri apa yang ingin Anda simpan dan apa yang akan dibuang.

- Ini adalah perubahan dari readme-improver.
- Hasil gabungan. Untuk saat ini, itulah yang ada sebelum perubahan.
- Perubahan dari cabang master.

Dorong perubahan ke server jarak jauh
Langkah selanjutnya adalah mendorong perubahan ke server jarak jauh dan membuat permintaan tarik. Untuk melakukan ini, cukup tekan CTRL+SHIFT+K . Maka kita mendapatkan:

Bagian bonus
Awalnya, saya tidak ingin menambahkan pembuatan pull request ke artikel ini, tetapi tidak lengkap tanpanya. Jadi, mari kita pergi ke repositori GitHub (milik Anda, tentu saja :)) dan kita melihat bahwa GitHub sudah mengetahui apa yang kita inginkan:

GO TO FULL VERSION