JavaRush /Java блогы /Random-KK /Git-ті Intellij IDEA-мен байланыстырайық
Roman Beekeeper
Деңгей

Git-ті Intellij IDEA-мен байланыстырайық

Топта жарияланған
Дәстүр бойынша мен сіздерді, болашақ аға бағдарламалық жасақтама инженерлерімен қош келдіңіздер. Бүгін біз GitGit-ті Intellij IDEA - 1-мен байланыстырайық туралы мақаламның логикалық жалғасы туралы сөйлесетін боламыз . Мен сондай-ақ бұрын жарияланған тармақталған стратегиялар туралы материалды оқуды ұсынамын . Git туралы мақалада мен онымен пәрмен жолында қалай жұмыс істеу керектігін сипаттадым және бүгін мен Intellij IDEA-да мұның бәрін қалай жасау керектігін көрсетемін. Әзірлеуші ​​ретінде саяхатымның басында мен пәрмен жолын қолдандым және бұл мәселе үшін UI пайдаланудың қажеті жоқ деп ойладым. Өйткені, бәрі түсінікті және солай... Бірақ бұл Intellij IDEA жүйесінде Git-ті қолдана бастаған сәтке дейін болды... Мен жеке тәжірибемді сипаттайтынымды бірден айтқым келеді. Intellij IDEA көмегімен бірдей мәселелерді шешудің бірнеше нұсқасы бар, егер сіз мақалада сипаттаған нәрсені қалай жақсырақ орындау керектігін білсеңіз, түсініктемелерде жазыңыз, біз талқылаймыз.

Қажетті кіріспе ескертулер:

  1. git туралы мақаланы оқыңыз, қайталаңыз және түсініңіз . Бұл барлығын орнатуға және пайдалануға дайын екеніне көз жеткізуге көмектеседі.
  2. Intellij IDEA орнатыңыз.
  3. Толық сіңіру үшін бір сағаттық жеке уақытты бөліңіз.
Жұмыс үшін мен git туралы мақалада пайдаланған демонстрациялық жобаны алайық .ЖАҢАРТУ:Жарияланған кезде жаңа Github UI қазірдің өзінде қол жетімді болады және кейбір белгішелер ол мақалада көрсетілген жерде болмайды. Алаңдамаңыз: жаңа интерфейске ауыспау керек немесе оларды іздеу керек.

Жобаны жергілікті түрде клондау

Мұнда екі нұсқа бар.
  1. Егер сізде Github тіркелгісі бар болса және кейінірек бірдеңені итергіңіз келсе, жобаны өзіңізге бөліп, көшірмеңізді клондау жақсы. Шанышқыны қалай жасауға болады - мен осы мақалада тарауда шанышқымен жұмыс істеу үлгісін сипаттадым .
  2. Менің репозиторийден клондаңыз және барлығын serverге итеру мүмкіндігінсіз барлығын жергілікті орындаңыз. Бұл менің репозиторийім болады ғой))
Github-тан жобаны клондау үшін жобаға сілтемені көшіріп, оны IntelliJ IDEA-ға беру керек:
  1. Жоба мекенжайын көшіріңіз:

    Git-ті Intellij IDEA - 2-мен байланыстырайық
  2. Intellij IDEA ашыңыз және Нұсқа басқаруынан алу таңдаңыз:

    Git-ті Intellij IDEA - 3-пен байланыстырайық
  3. Мекенжайды жобаға көшіріп, қойыңыз:

    Git-ті Intellij IDEA - 4-пен байланыстырайық
  4. Сізге Intellij IDEA жобасын жасау ұсынылады. Біз ұсынысты қабылдаймыз:

    Git-ті Intellij IDEA - 5-пен байланыстырайық
  5. Құрастыру жүйесі болмағандықтан және бұл мақаланың аясы емес болғандықтан, Бар көздерден жоба жасау пәрменін таңдаңыз :

    Git-ті Intellij IDEA - 6-мен байланыстырайық
  6. Әрі қарай майлы бояумен салынған сурет болады: Git-ті Intellij IDEA - 7-мен байланыстырайықБіз клондауды сұрыптадық, енді айналамызға қарай аламыз.

Алдымен Intellij IDEA-ға Git UI ретінде қараңыз

Клондалған жобаға тағы бір назар аударыңыз: қазірдің өзінде сіз нұсқаларды басқару жүйесі туралы көптеген ақпаратты ала аласыз. Біріншісі - төменгі сол жақ бұрыштағы нұсқаны басқару тақтасы. Онда сіз барлық жергілікті өзгерістерді таба аласыз және міндеттемелер тізімін ала аласыз (git log-ға ұқсас). Журнал лекциясына көшейік . Даму процесі қалай өткенін түсінуге көмектесетін белгілі бір көрнекі компонент бар. Мысалы, txt файлына қосылған тақырыппен жаңа тармақ жасалғанын , содан кейін ол негізгі тармаққа біріктірілгенін көре аласыз. Тапсырманы бассаңыз, оң жақ бұрышта міндеттеме туралы барлық ақпаратты көре аласыз: барлық өзгерістер және оның метадеректері. Подружим Git с Intellij IDEA - 8Сонымен қатар, сіз қандай өзгерістер енгізілгенін көре аласыз. Оның үстіне кикілжің сонда шешілді. IDEA да мұны тамаша көрсетеді. Осы міндеттеме кезінде өзгертілген файлды екі рет шертсеңіз, қайшылықтың қалай шешілгенін көреміз: Подружим Git с Intellij IDEA - 9Оң және сол жақта бір файлға біріктіруді қажет ететін бір файлдың екі нұсқасы бар екені байқалады. Ал ортасында соңғы нәтиже. Жобада көптеген фorалдар, міндеттемелер және жобада жұмыс істейтін пайдаланушылар болса, фorал (фorал), пайдаланушы (пайдаланушы) және күні (күні) бойынша бөлек іздеу керек: Подружим Git с Intellij IDEA - 10Бастамас бұрын түсіндіргім келетін соңғы нәрсе - бұл қалай түсіну керек. біз қай саладамыз. Мен саған іздеуге бір minutes беремін... таптың ба? Сіз бас тартасыз ба? :D Төменгі оң жақ бұрышта Git: негізгі түймесі бар , онда Git-тен кейін: ол жобаның қазіргі уақытта қай фorалда екенін көрсетеді. Түймені бассаңыз, көптеген пайдалы әрекеттерді орындауға болады: басқа фorалға көшу, жаңасын жасау, бұрыннан барының атын өзгерту және т.б. Подружим Git с Intellij IDEA - 11

Репозиториймен жұмыс

Пайдалы жылдам пернелер

Жұмысты жалғастыру үшін сізге өте пайдалы бірнеше жылдам пернелерді есте сақтау қажет:
  1. ctrl + t - қашықтағы репозиторийден соңғы өзгерістерді алу (git pull).
  2. ctrl + k - қазіргі уақытта қол жетімді барлық өзгерістерді орындау/қарау. Бұған қадағаланбаған және өзгертілген файлдар кіреді (git туралы менің мақаламды қараңыз, бұл жерде сипатталған) (git commit).
  3. ctrl + shift + k — қашықтағы репозиторийге өзгертулер жіберуге арналған пәрмен. Жергілікті түрде жасалған және қашықтан басқаруға қосылмаған барлық міндеттемелер push (git push) үшін ұсынылады.
  4. alt + ctrl + z - белгілі бір файлдағы өзгерістерді жергілікті репозиторийдегі соңғы жасалған міндеттеме күйіне қайтару. Жоғарғы сол жақ бұрышта бүкіл жобаны таңдасаңыз, барлық файлдарға өзгертулерді кері қайтаруға болады.
Подружим Git с Intellij IDEA - 12

Біз не қалаймыз?

Жұмыс істеу үшін біз барлық жерде қолданылатын негізгі сценарийді меңгеруіміз керек. Тапсырма - жаңа функционалдылықты бөлек фorалда енгізу және оны қашықтағы репозиторийге жіберу (одан кейін негізгі тармақ үшін басқа тарту сұрауын жасау керек, бірақ бұл біздің мақаланың ауқымынан тыс). Мен не істеуім керек?
  1. Қазіргі уақытта негізгі фorалдағы барлық өзгерістерді алыңыз (мысалы, мастер).

  2. Осы негізгіге сүйене отырып, жұмысыңыз үшін бөлек жасаңыз.

  3. Жаңа функцияны іске қосыңыз.

  4. Негізгі бөлімшеге өтіп, жұмыс істеп жатқан кезде қандай да бір жаңа өзгерістер болғанын тексеріңіз. Егер олай болмаса, онда бәрі жақсы, ал егер солай болса, біз келесі әрекеттерді орындаймыз: біз жұмыс тармағына өтіп, өзгерістерді негізгі тармақтан өзімізге қайта жасаймыз . Егер бәрі жақсы болса, онда керемет. Бірақ қақтығыстар болуы мүмкін. Ал оларды қашықтағы репозиторийде уақыт жоғалтпай алдын ала шешуге болады.

    Неліктен мұны істеу керек сияқты көрінеді? Бұл сіздің фorалыңызды жергілікті репозиторийге жібергеннен кейін қайшылықтардың туындауына жол бермейтін жақсы пішін ережесі (әрине, олардың әлі де бар болуы мүмкін, бірақ ол әлдеқайда азаяды).

  5. Өзгерістерді қашықтағы репозиторийге жылжытыңыз.
Әрі қарай не болатыны сіздің мақсаттарыңыз бен қиялыңызға байланысты.

Қашықтағы serverден өзгертулер алу керек пе?

Мен README-ге жаңа міндеттемемен сипаттама қостым және осы өзгерістерді алғым келеді. Жергілікті және қашықтағы репозитарийлерде өзгертулер енгізілген болса, біріктіру және қайта құру арасында таңдау ұсынылады. Біріктіруді таңдаңыз. ctrl + t пернелерін енгізіңіз : Подружим Git с Intellij IDEA - 13Нәтижесінде сіз README қалай өзгергенін көре аласыз, яғни. қашықтағы репозиторийден өзгертулер шығарылды және төменгі оң жақ бұрышта serverден келген өзгерістердің барлық мәліметтерін көре аласыз. Подружим Git с Intellij IDEA - 14

Мастер негізінде жаңа фorал жасаңыз

Мұнда бәрі қарапайым.
  1. Төменгі оң жақ бұрышқа өтіп, Git: master түймесін басыңыз, + Жаңа фorалды таңдаңыз .

    Подружим Git с Intellij IDEA - 15
  2. Checkout фorалы құсбелгісін қалдырып , жаңа фorалдың атын жазыңыз. Мен үшін бұл readme-жетілдіруші болар еді .

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

    Осыдан кейін Git: master Git: readme-improver болып өзгереді .

Параллель жұмысты имитациялау

Қайшылықтардың пайда болуы үшін оларды біреу жасауы керек :D Мен README файлын браузер арқылы жаңа міндеттемемен өңдеймін және осылайша параллель жұмысты имитациялаймын. Олар менің жұмысым кезінде біреу мен сияқты файлға өзгерістер енгізді, бұл қақтығысқа әкеледі дейді. 10-жолдан «толығымен» деген сөзді алып тастаймын.

Функцияңызды іске асырыңыз

Тапсырма README өзгерту және жаңа мақалаға сипаттама қосу, яғни git ішіндегі жұмыс Intellij IDEA арқылы орындалады. Мынаны қосыңыз: Подружим Git с Intellij IDEA - 17өзгертулер аяқталды, енді сіз міндеттеме жасай аласыз. Жылдам пернені басыңыз ctrl + k , біз аламыз: Подружим Git с Intellij IDEA - 18міндеттеме жасамас бұрын, осы терезеде не ұсынылғанын мұқият қарау керек. Мен сізге қайда қарау керектігін көрсету үшін арнайы көрсеткіні қостым. Онда қызық дүниелер көп. Қабылданған хабарлама бөлімінде біз міндеттеменің мәтінін жазамыз және оны жасау үшін Орындау түймесін басу керек . Мен мұны жылдам пернемен қалай жасау керектігін әлі таппадым, сондықтан біреу оны тауып алса, жазыңыз, мен өте қуаныштымын. Біз README өзгергенін жазамыз және міндеттеме жасаймыз. Нәтижесінде төменгі сол жақ бұрышта міндеттеме атымен ескерту пайда болады: Подружим Git с Intellij IDEA - 19

Негізгі бөлімнің өзгергенін тексеріңіз

Тапсырманы орындадық, ол жұмыс істейді, тесттерді жаздык, бәрі жақсы. Бірақ serverге итермес бұрын, осы уақыт ішінде негізгі фorалда қандай да бір өзгерістер болғанын тексеру керек. Бұл қалай болуы мүмкін? Бұл өте қарапайым: сізден кейін біреуге тапсырма берілді, ал бұл біреу оны сізден жылдамырақ орындады. Сондықтан біз негізгі фorалға көшеміз. Ол үшін төменгі оң жақ бұрышта төмендегі суретте көрсетілген әрекетті орындау керек: Подружим Git с Intellij IDEA - 20Негізгі бөлімде қашықтағы serverден оның соңғы өзгертулерін алу үшін ctrl + t пернелер тіркесімін басыңыз. Қандай өзгерістер енгізілгенін қарасаңыз, не болғанын оңай байқауға болады: Подружим Git с Intellij IDEA - 21Көріп отырғаныңыздай, «толығымен» сөзі алынып тасталды. Мүмкін маркетингтен біреу оны осылай жазуға болмайды деп шешіп, әзірлеушілерге оны жаңарту тапсырмасын берген шығар. Бізде қазір жергілікті жерде негізгі фorалдың соңғы нұсқасы бар. Readme-inprover дегенге қайта оралайық . Енді біз негізгі фorалдан өзімізге өзгертулерді қайта құруымыз керек. Біз жасаймыз: Подружим Git с Intellij IDEA - 22Егер сіз менімен барлығын дұрыс орындасаңыз, нәтиже README файлында қайшылық болуы керек: Подружим Git с Intellij IDEA - 23Мұнда түсініп, қабылдауды қажет ететін көптеген ақпарат бар. Бұл қайшылықтары бар файлдардың тізімін (біздің жағдайда бір элементте) көрсетеді. Біз үш опцияны таңдай аламыз:
  1. сіздікі қабылдаңыз - тек readme-improver-тен өзгертулерді қабылдаңыз.
  2. оларды қабылдаңыз - тек шеберден өзгертулерді қабылдаңыз.
  3. біріктіру - нені сақтау керектігін және нені жою керектігін өзіңіз таңдаңыз.
Онда не өзгергені белгісіз және өзгертулер шеберде болса, онда олар сол жерде қажет және біз өзгертулерімізді қабылдай алмаймыз, сондықтан біріктіруді таңдаймыз : Подружим Git с Intellij IDEA - 24Мұнда сіз үш бөліктен тұратынын көре аласыз:
  1. Бұл readme-inprover қолданбасынан жасалған өзгерістер.
  2. Нәтиже. Әзірге ол өзгерістерге дейін қандай болса, солай.
  3. Негізгі бөлімнен өзгерістер.
Нәтижені барлығын қанағаттандыратындай етіп жинауымыз керек. Сондықтан біз олардың бізден бұрын не істегенін зерттеп, «толығымен» деген сөзді алып тастағанын түсіндік. Жарайды, проблема жоқ. Бұл нәтижесінде біз оны жойып, өзгертулерімізді қосамыз дегенді білдіреді. Нәтижені түзетсек, Қолдану түймесін басуға болады . Осыдан кейін, қалпына келтіру сәтті болғаны туралы хабарлама пайда болады: Подружим Git с Intellij IDEA - 25Intellij IDEA арқылы бірінші қақтығысты осылай шештік: D

Өзгерістерді қашықтағы serverге басыңыз

Келесі қадам өзгертулерді қашықтағы serverге жіберу және тарту сұрауын жасау болып табылады. Ол үшін ctrl + shift + k пернелер тіркесімін басыңыз , содан кейін біз мынаны аламыз: Подружим Git с Intellij IDEA - 26Сол жақта қашықтағы репозиторийге жіберілмеген тапсырмалар тізімі болады, ал оң жақта барлық файлдар болады. өзгерді. Барлығы: Push түймесін басыңыз , және сіз бақытты боласыз :) Егер итеру сәтті болса, төменгі оң жақ бұрышта келесідей хабарландыру пайда болады: Подружим Git с Intellij IDEA - 27

Бонус бөлігі

Мен бастапқыда мақалаға тарту сұрауын жасауды қосқым келмеді, бірақ бұл өте толық емес болып шықты. Сондықтан, біз GitHub репозиторийіне барамыз (егер ол сіздікі болса)))) және GitHub бізге не ұсынатынын білетінін көреміз: Салыстыру және сұраудыПодружим Git с Intellij IDEA - 28 нұқыңыз , содан кейін Тарту сұрауын жасау түймесін басыңыз . Біз қайшылықтарды алдын ала шешкендіктен, қазір тарту сұрауын жасау кезінде оны бірден біріктіруге болады: Мен сізге осы жолы айтқым келгені осы. Әрине, мен жаңа ғана есікті ашып, кішкене бөлігін көрсеттім. Қалғанын қажетінше өзіңіз табасыз. Әдеттегідей, мен сізді GitHub тіркелгісіне жазылуға шақырамын , онда мен жұмыста қолданатын әртүрлі технологияларға негізделген жобаларды орналастырамын. Жақында менің жеке жетістігім болды - менің жобамды қазірдің өзінде жүзден астам әзірлеушілер бағалады. Сіз жасаған нәрсені біреудің пайдалануы - бұл керемет қуаныш сезімі. Және оны жақсылыққа пайдаланады. Подружим Git с Intellij IDEA - 29

пайдалы сілтемелер

  1. JavaRush: Git-пен жұмысты бастау: жаңадан бастаушыларға арналған толық нұсқаулық
  2. GitHub: жұмыс істеуге арналған демо-жоба
  3. JavaRush: Git-те тармақталу стратегияларын талдау
  4. JetBrains: Git репозиторийін орнату
  5. Хабр: Git rebase
  6. GitHub: Менің тіркелгім
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION