JavaRush /Java blogi /Random-UZ /Keling, Gitni Intellij IDEA bilan bog'laymiz

Keling, Gitni Intellij IDEA bilan bog'laymiz

Guruhda nashr etilgan
An'anaga ko'ra, men sizni, bo'lajak Katta dasturiy ta'minot muhandislarini tabriklayman. Bugun biz GitKeling, Gitni Intellij IDEA - 1 bilan bog'laymiz haqidagi maqolamning mantiqiy davomi haqida gaplashamiz . Bundan tashqari , men ilgari nashr etgan tarmoqlanish strategiyalari bo'yicha materialni o'qishni tavsiya qilaman . Git haqidagi maqolada men u bilan buyruq satrida qanday ishlashni tasvirlab berdim va bugun bularning barchasini Intellij IDEA-da qanday qilishni ko'rsataman. Ishlab chiquvchi sifatida safarimning boshida men buyruq qatoridan foydalandim va bu masalada UI dan foydalanishim shart emas deb o'yladim. Axir, hamma narsa aniq va shunday... Lekin men Intellij IDEA-da Git-dan foydalanishni boshlagan paytimga qadar shunday bo'ldi... Darhol aytmoqchimanki, men shaxsiy tajribamni tasvirlab beraman. Intellij IDEA-dan foydalangan holda bir xil muammolarni hal qilishning bir nechta variantlari mavjud va agar siz maqolada tasvirlangan narsalarni qanday qilib yaxshiroq qilishni bilsangiz, sharhlarda yozing va biz muhokama qilamiz.

Kerakli kirish eslatmalari:

  1. Git haqidagi maqolani o'qing, takrorlang va tushuning . Bu hamma narsa allaqachon sozlangan va ishlashga tayyor bo'lishini ta'minlashga yordam beradi.
  2. Intellij IDEA-ni o'rnating.
  3. To'liq singdirish uchun bir soat shaxsiy vaqt ajrating.
Ish uchun, keling, git haqidagi maqola uchun foydalangan demo loyihasini olaylik.YANGILANISH:Nashr vaqtida yangi Github UI allaqachon mavjud bo'ladi va ba'zi piktogrammalar maqolada ko'rsatilgan joyda bo'lmaydi. Xavotir olmang: siz yangi interfeysga o'tmasligingiz yoki ularni qidirishingiz kerak bo'ladi.

Loyihani mahalliy klonlash

Bu erda ikkita variant mavjud.
  1. Agar sizda allaqachon Github akkauntingiz bo'lsa va keyinroq biror narsani olmoqchi bo'lsangiz, loyihani o'zingizga bog'lab, nusxangizni klonlash yaxshiroqdir. Qanday qilib vilkalar qilish kerak - men ushbu maqolada vilkalar ish jarayonining misolini bobda tasvirlab berdim .
  2. Mening omborimdan klonlash va hamma narsani serverga surish imkoniyatisiz hamma narsani mahalliy sifatida bajaring. Axir, bu mening omborim bo'ladi))
Github-dan loyihani klonlash uchun siz loyihaga havolani nusxalashingiz va uni IntelliJ IDEA-ga topshirishingiz kerak:
  1. Loyiha manzilini nusxalash:

    Keling, Gitni Intellij IDEA - 2 bilan bog'laymiz
  2. Intellij IDEA-ni oching va Version Control-dan olish-ni tanlang:

    Keling, Gitni Intellij IDEA - 3 bilan bog'laymiz
  3. Loyiha manzilini nusxalash va joylashtirish:

    Keling, Gitni Intellij IDEA - 4 bilan bog'laymiz
  4. Sizdan Intellij IDEA loyihasini yaratish taklif qilinadi. Biz taklifni qabul qilamiz:

    Keling, Gitni Intellij IDEA - 5 bilan bog'laymiz
  5. Qurilish tizimi mavjud emasligi va bu maqolaning doirasi emasligi sababli, Mavjud manbalardan loyiha yaratish ni tanlang :

    Keling, Gitni Intellij IDEA - 6 bilan bog'laymiz
  6. Keyingi yog'li rasm bo'ladi: Keling, Gitni Intellij IDEA - 7 bilan bog'laymizBiz klonlashni saralab oldik, endi atrofga qarashimiz mumkin.

Avval Intellij IDEA-ga Git UI sifatida qarang

Klonlangan loyihani yana bir bor diqqat bilan ko'rib chiqing: u erda siz versiyani boshqarish tizimi haqida ko'p ma'lumotlarni olishingiz mumkin. Birinchisi, pastki chap burchakdagi Versiya boshqaruv paneli. Unda siz barcha mahalliy o'zgarishlarni topishingiz va majburiyatlar ro'yxatini olishingiz mumkin (git logga o'xshash). Keling, Log ma'ruzasiga o'tamiz . Rivojlanish jarayoni qanday o'tganini aniq tushunishga yordam beradigan ma'lum vizual komponent mavjud. Misol uchun, txt ga qo'shilgan sarlavha bilan yangi filial yaratilganini ko'rishingiz mumkin , keyin u asosiy filialga birlashtirildi. Agar siz majburiyatni bossangiz, o'ng burchakda siz majburiyat haqidagi barcha ma'lumotlarni ko'rishingiz mumkin: barcha o'zgarishlar va uning metama'lumotlari. Подружим Git с Intellij IDEA - 8Bundan tashqari, qanday o'zgarishlar kiritilganligini ko'rishingiz mumkin. Bundan tashqari, mojaro u erda hal qilindi. IDEA ham buni mukammal ko'rsatadi. Agar siz ushbu topshiriq paytida o'zgartirilgan faylni ikki marta bossangiz, biz ziddiyat qanday hal qilinganini ko'ramiz: Подружим Git с Intellij IDEA - 9O'ng va chap tomonda bitta faylning ikkita versiyasi mavjud bo'lib, ularni bitta faylga birlashtirish kerak edi. Va o'rtada yakuniy natija. Agar loyihada ko'plab filiallar, majburiyatlar va loyihada ishlaydigan foydalanuvchilar bo'lsa, siz filial (filial), foydalanuvchi (foydalanuvchi) va sana (sana) bo'yicha alohida qidirishingiz kerak: Подружим Git с Intellij IDEA - 10Va men boshlashdan oldin tushuntirmoqchi bo'lgan oxirgi narsa - bu qanday tushunish kerak. qaysi filialdamiz. Men sizga izlash uchun bir daqiqa vaqt beraman... topdingizmi? Taslim bo'ldingizmi? :D Pastki o'ng burchakda Git: master tugmasi mavjud , bu erda Gitdan keyin: u hozirda loyiha qaysi filialda ekanligini ko'rsatadi. Agar siz tugmani bossangiz, siz juda ko'p foydali narsalarni qilishingiz mumkin: boshqa filialga o'ting, yangisini yarating, mavjud bo'lganining nomini o'zgartiring va hokazo. Подружим Git с Intellij IDEA - 11

Repozitariy bilan ishlash

Foydali tezkor tugmalar

Ishni davom ettirish uchun siz bir nechta juda foydali tezkor tugmalarni eslab qolishingiz kerak:
  1. ctrl + t - masofaviy ombordan so'nggi o'zgarishlarni oling (git pull).
  2. ctrl + k - hozirda mavjud bo'lgan barcha o'zgarishlarni bajarish/ko'rish. Bunga kuzatilmagan va o'zgartirilgan fayllar ham kiradi (git haqidagi maqolamga qarang, bu erda tasvirlangan) (git commit).
  3. ctrl + shift + k - masofaviy omborga o'zgartirishlar kiritish buyrug'i. Mahalliy ravishda yaratilgan va hali masofaviy boshqaruvda bo'lmagan barcha majburiyatlar push (git push) uchun taklif qilinadi.
  4. alt + ctrl + z - ma'lum bir fayldagi o'zgarishlarni mahalliy omborda oxirgi yaratilgan majburiyat holatiga qaytarish. Yuqori chap burchakda butun loyihani tanlasangiz, barcha fayllardagi o'zgarishlarni orqaga qaytarishingiz mumkin.
Подружим Git с Intellij IDEA - 12

Biz nimani xohlaymiz?

Ishlash uchun biz hamma joyda ishlatiladigan asosiy skriptni o'zlashtirishimiz kerak. Vazifa - alohida filialda yangi funksionallikni amalga oshirish va uni uzoqdagi omborga surish (keyin siz asosiy filial uchun yana bir tortishish so'rovini yaratishingiz kerak, ammo bu bizning maqolamiz doirasidan tashqarida). Nima qilishim kerak?
  1. Hozirgi vaqtda asosiy filialdagi barcha o'zgarishlarni oling (masalan, master).

  2. Ushbu asosiy narsaga asoslanib, ishingiz uchun alohida yarating.

  3. Yangi funksiyani amalga oshiring.

  4. Asosiy filialga o'ting va ishlayotganingizda yangi o'zgarishlar bo'lganligini tekshiring. Agar u bo'lmasa, unda hamma narsa yaxshi, agar shunday bo'lsa, biz quyidagilarni qilamiz: biz ishlaydigan filialga boramiz va o'zgarishlarni asosiy filialdan o'zimiznikiga o'zgartiramiz. Agar hamma narsa yaxshi bo'lsa, unda ajoyib. Ammo nizolar bo'lishi mumkin. Va ularni masofaviy omborga vaqt sarflamasdan oldindan hal qilish mumkin.

    Ko'rinib turibdiki, nega buni qilish kerak? Bu yaxshi shakldagi qoida bo'lib, sizning filialingizni mahalliy omborga borganingizdan so'ng nizolar paydo bo'lishining oldini oladi (albatta, ular hali ham mavjud bo'lish ehtimoli bor, lekin u kamroq bo'ladi ) .

  5. O'zgarishlarni masofaviy omborga o'tkazing.
Keyinchalik nima bo'lishi sizning maqsadlaringiz va tasavvuringizga bog'liq.

Masofaviy serverdan o'zgarishlar qabul qilinsinmi?

Men README ga yangi majburiyat bilan tavsif qo'shdim va bu o'zgarishlarni olishni xohlayman. Mahalliy va masofaviy omborlarda o'zgartirishlar kiritilgan bo'lsa, birlashtirish va qayta tiklash o'rtasida tanlov taklif etiladi. Birlashtirishni tanlang. ctrl + t ni kiriting : Подружим Git с Intellij IDEA - 13Natijada siz README qanday o'zgarganini ko'rishingiz mumkin, ya'ni. masofaviy ombordan o'zgarishlar tortildi va pastki o'ng burchakda serverdan kelgan o'zgarishlarning barcha tafsilotlarini ko'rishingiz mumkin. Подружим Git с Intellij IDEA - 14

Master asosida yangi filial yarating

Bu erda hamma narsa oddiy.
  1. Pastki o'ng burchakka o'ting va Git-ni bosing: master , + Yangi filialni tanlang .

    Подружим Git с Intellij IDEA - 15
  2. Checkout filiali katagiga belgi qo'ying va yangi filial nomini yozing. Men uchun bu readme-improver bo'lardi .

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

    Shundan so'ng Git: master Git: readme-improver ga o'zgaradi .

Parallel ishlarni simulyatsiya qilish

Mojarolar paydo bo'lishi uchun kimdir ularni yaratishi kerak :D Men README-ni brauzer orqali yangi majburiyat bilan tahrir qilaman va shu bilan parallel ishlarni simulyatsiya qilaman. Aytishlaricha, kimdir mening ishim davomida men bilan bir xil faylga o'zgartirishlar kiritgan, bu esa mojaroga olib keladi. 10-qatordan "butunlay" so'zini olib tashlayman.

Funktsionalligingizni amalga oshiring

Vazifa - README ni o'zgartirish va yangi maqolaga tavsif qo'shish, ya'ni gitdagi ish Intellij IDEA orqali amalga oshiriladi. Buni qo'shing: Подружим Git с Intellij IDEA - 17O'zgarishlar tugallandi, endi siz majburiyat yaratishingiz mumkin. Tezkor tugmachani bosing ctrl + k , biz olamiz: Подружим Git с Intellij IDEA - 18majburiyat yaratishdan oldin, ushbu oynada taklif qilingan narsalarni diqqat bilan ko'rib chiqishingiz kerak. Men sizga qaerga qarashni ko'rsatish uchun maxsus o'q qo'shdim. U erda juda ko'p qiziqarli narsalar bor. "Commit Message" bo'limida biz majburiyat matnini yozamiz va uni yaratish uchun " Commit" tugmasini bosishingiz kerak . Men buni hotkey bilan qanday qilishni hali ham topa olmadim, shuning uchun kimdir topsa, yozing, men juda xursand bo'laman. Biz README o'zgarganligini yozamiz va majburiyat yaratamiz. Natijada, pastki chap burchakda majburiyat nomi bilan ogohlantirish paydo bo'ladi: Подружим Git с Intellij IDEA - 19

Asosiy filial o'zgarganligini tekshiring

Biz topshiriqni bajardik, u ishlaydi, testlarni yozdik, hammasi yaxshi. Ammo serverga o'tishdan oldin, bu vaqt ichida asosiy filialda biron bir o'zgarishlar bo'lganligini tekshirishingiz kerak. Bu qanday sodir bo'lishi mumkin? Bu juda oddiy: sizdan keyin kimgadir topshiriq berilgan va bu kimdir buni sizdan tezroq bajargan. Shuning uchun biz asosiy filialga o'tamiz. Buni amalga oshirish uchun siz pastki o'ng burchakda quyidagi rasmda ko'rsatilgan narsani qilishingiz kerak: Подружим Git с Intellij IDEA - 20Asosiy bo'limda masofaviy serverdan so'nggi o'zgarishlarni olish uchun ctrl + t tugmalarini bosing. Qanday o'zgarishlar kiritilganiga qarasangiz, nima bo'lganini osongina payqashingiz mumkin: Подружим Git с Intellij IDEA - 21Ko'rib turganingizdek, "butunlay" so'zi olib tashlandi. Ehtimol, marketingdan kimdir uni bunday yozish mumkin emas deb qaror qilgan va ishlab chiquvchilarga uni yangilash vazifasini bergan. Endi bizda mahalliy asosiy filialning so'nggi versiyasi mavjud. Readme-improver- ga qaytaylik . Endi biz asosiy filialdan o'zimiznikiga o'zgartirishlarni qayta asoslashimiz kerak. Biz shunday qilamiz: Подружим Git с Intellij IDEA - 22Agar siz men bilan hamma narsani to'g'ri bajargan bo'lsangiz, natija README faylida ziddiyat bo'lishi kerak: Подружим Git с Intellij IDEA - 23Bu erda tushunilishi va o'zlashtirilishi kerak bo'lgan juda ko'p ma'lumotlar ham mavjud. Bu ziddiyatli fayllar ro'yxatini (bizning bir elementimizda) ko'rsatadi. Biz uchta variantni tanlashimiz mumkin:
  1. siznikini qabul qiling - faqat readme-improver-dan o'zgarishlarni qabul qiling.
  2. ularni qabul qiling - faqat ustadan o'zgarishlarni qabul qiling.
  3. birlashtirish - nimani saqlashni va nimani olib tashlashni o'zingiz tanlang.
U erda nima o'zgargani aniq emas va agar o'zgarishlar masterda bo'lsa, unda ular kerak bo'ladi va biz o'zgarishlarimizni qabul qila olmaymiz, shuning uchun biz birlashtirishni tanlaymiz : Подружим Git с Intellij IDEA - 24Bu erda siz uchta qismdan iboratligini ko'rishingiz mumkin:
  1. Bular readme-improver-dan olingan o'zgarishlar.
  2. Natija. Hozircha bu o'zgarishlardan oldin qanday bo'lsa, xuddi shunday.
  3. Asosiy filialdan o'zgarishlar.
Natijani hammani qoniqtiradigan tarzda yig'ishimiz kerak. Shuning uchun biz ular bizdan OLDIN nima qilganini o'rganib chiqdik va ular shunchaki "butunlay" so'zini olib tashlashganini angladik. Yaxshi, muammo yo'q. Bu shuni anglatadiki, biz uni olib tashlaymiz va o'z o'zgarishlarimizni qo'shamiz. Natijani tuzatganimizdan so'ng, Ilova tugmasini bosishingiz mumkin . Shundan so'ng, qayta tiklash muvaffaqiyatli bo'lganligi to'g'risida bildirishnoma paydo bo'ladi: Подружим Git с Intellij IDEA - 25Intellij IDEA orqali biz birinchi mojaroni shunday hal qildik: D

O'zgarishlarni masofaviy serverga suring

Keyingi qadam o'zgarishlarni masofaviy serverga surish va tortib olish so'rovini yaratishdir. Buni amalga oshirish uchun ctrl + shift + k tugmachalarini bosing , shundan so'ng biz quyidagilarni olamiz: Подружим Git с Intellij IDEA - 26Chap tomonda masofaviy omborga o'tkazilmagan majburiyatlar ro'yxati, o'ng tomonda esa o'rnatilgan barcha fayllar bo'ladi. o'zgardi. Hammasi shu: Push tugmasini bosing va siz xursand bo'lasiz :) Agar surish muvaffaqiyatli bo'lsa, pastki o'ng burchakda shunday xabar paydo bo'ladi: Подружим Git с Intellij IDEA - 27

Bonus qismi

Men dastlab maqolaga tortishish so'rovini yaratishni qo'shishni xohlamadim, ammo shuning uchun u unchalik to'liq emas. Shuning uchun, biz GitHub omboriga boramiz (agar u sizniki bo'lsa, albatta)))) va GitHub bizga nimani taklif qilishini allaqachon bilishini ko'ramiz: So'rovni solishtirish va tortishПодружим Git с Intellij IDEA - 28 ni bosing va so'ngra tortish so'rovini yaratish ni bosing . Biz mojarolarni oldindan hal qilganimiz sababli, endi tortishish so'rovini yaratishda siz darhol uni birlashtirishingiz mumkin: bu safar sizga aytmoqchi bo'lganim shu. Albatta, men faqat eshikni ochdim va sizga kichik bir qismini ko'rsatdim. Qolganini kerak bo'lganda o'zingiz topasiz. Odatdagidek, sizni GitHub hisobimga obuna bo'lishni taklif qilaman , u erda men ishda foydalanadigan turli texnologiyalarga asoslangan loyihalarni joylashtiraman. Men yaqinda shaxsiy muvaffaqiyatga erishdim - mening loyiham allaqachon yuzdan ortiq ishlab chiquvchilar tomonidan baholangan. Kimdir siz yaratgan narsadan foydalanishi aql bovar qilmaydigan quvonch hissi. Va uni yaxshilik uchun ishlatadi. Подружим Git с Intellij IDEA - 29

foydali havolalar

  1. JavaRush: Git bilan ishlashni boshlash: yangi boshlanuvchilar uchun batafsil qo'llanma
  2. GitHub: ishlash uchun demo loyihasi
  3. JavaRush: Git-da tarmoqlanish strategiyalarini tahlil qilish
  4. JetBrains: Git omborini o'rnating
  5. Habr: Git rebase
  6. GitHub: Mening hisobim
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION