JavaRush /Блоги Java /Random-TG /Биёед Git-ро бо Intellij IDEA пайваст кунем
Roman Beekeeper
Сатҳи

Биёед Git-ро бо Intellij IDEA пайваст кунем

Дар гурӯҳ нашр шудааст
Тавре ки анъана аст, ман шуморо, муҳандисони калони нармафзори ояндаро хуш омадед. Биёед Git-ро бо Intellij IDEA - 1 пайваст кунемИмрӯз мо дар бораи идомаи мантиқии мақолаи ман дар бораи Git сӯҳбат хоҳем кард . Ман инчунин тавсия медиҳам, ки маводро дар бораи стратегияҳои фorалҳо , ки қаблан нашр карда будам, хонед. Дар мақола дар бораи Git, ман чӣ гуна кор кардан бо он дар сатри фармонро тавсиф кардам ва имрӯз ман ба шумо нишон медиҳам, ки чӣ тавр ҳамаи инро дар Intellij IDEA иҷро кунед. Дар оғози сафари худ ҳамчун таҳиягар, ман сатри фармонро истифода кардам ва фикр мекардам, ки барои ин кор ба ман лозим нест, ки UI-ро истифода барам. Охир, ҳама чиз равшан аст ва ҳамин тавр... Аммо ин маҳз то лаҳзае буд, ки ман Git-ро дар Intellij IDEA истифода кардам... Ман мехоҳам фавран бигӯям, ки таҷрибаи шахсии худро тавсиф мекунам. Якчанд вариантҳо барои ҳалли як мушкилот бо истифода аз Intellij IDEA мавҷуданд ва агар шумо медонед, ки чӣ гуна беҳтар кардани он чизеро, ки ман дар мақола тавсиф мекунам, дар шарҳҳо нависед ва мо муҳокима хоҳем кард.

Қайдҳои муқаддимавии зарурӣ:

  1. Мақоларо дар бораи git хонед, такрор кунед ва фаҳмед . Ин кӯмак мекунад, ки ҳама чиз аллакай насб карда шудааст ва ба кор омода аст.
  2. Intellij IDEA насб кунед.
  3. Як соати вақти шахсиро барои азхудкунии пурра ҷудо кунед.
Барои кор, биёед лоиҳаи намоиширо гирем , ки ман барои мақола дар бораи git истифода кардам. НАВОР:Ҳангоми нашр, UI нави Github аллакай дастрас хоҳад буд ва баъзе нишонаҳо дар он ҷое, ки дар мақола нишон дода шудааст, нахоҳанд буд. Огоҳ нашавед: ба шумо лозим меояд, ки ё ба интерфейси нав нагузаред ё онҳоро ҷустуҷӯ кунед.

Лоиҳаро ба таври маҳаллӣ клон кунед

Дар ин ҷо ду вариант вуҷуд дорад.
  1. Агар шумо аллакай ҳисоби Github дошта бошед ва хоҳед, ки чизеро дертар тела диҳед, беҳтар аст, ки лоиҳаро ба худ кашед ва нусхаи худро клон кунед. Чӣ тавр сохтани чангак - ман дар ин мақола дар боб намунаи ҷараёни кори форингро тавсиф кардам .
  2. Аз анбори ман клон кунед ва ҳама чизро ба таври маҳаллӣ бидуни қобorяти тела додани ҳама чиз ба server иҷро кунед. Баъд аз ҳама, ин анбори ман хоҳад буд))
Барои клон кардани лоиҳа аз Github, шумо бояд истинодро ба лоиҳа нусхабардорӣ кунед ва онро ба IntelliJ IDEA интиқол диҳед:
  1. Суроғаи лоиҳаро нусхабардорӣ кунед:

    Биёед Git-ро бо Intellij IDEA - 2 пайваст кунем
  2. Intellij IDEA-ро кушоед ва Гирифтан аз назорати versionро интихоб кунед:

    Биёед 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 нигаред

Ба лоиҳаи клоншуда боз як бодиққат назар андозед: аллакай дар он ҷо шумо метавонед дар бораи системаи идоракунии version маълумоти зиёде гиред. Аввалин панели идоракунии version дар кунҷи чапи поён аст. Дар он шумо метавонед ҳама тағиротҳои маҳаллиро пайдо кунед ва рӯйхати ӯҳдадориҳоро гиред (аналоги git log). Биёед ба лексияи Log гузарем . Ҷузъи муайяни визуалӣ мавҷуд аст, ки барои фаҳмидани он ки раванди рушд чӣ гуна гузашт. Масалан, шумо мебинед, ки фorали нав бо сарлавҳаи иловашуда ба txt сохта шудааст , ки баъдан ба шохаи асосӣ муттаҳид карда шудааст. Агар шумо ӯҳдадориро пахш кунед, дар кунҷи рост шумо метавонед ҳама маълумотро дар бораи ӯҳдадорӣ бинед: ҳама тағиротҳо ва метамаълумоти он. Биёед Git-ро бо Intellij IDEA - 8 пайваст кунемИлова бар ин, шумо метавонед бубинед, ки чӣ гуна тағирот ворид карда шудааст. Гузашта аз ин, низоъ дар он ҷо ҳал карда шуд. IDEA низ инро ба таври комил нишон медиҳад. Агар шумо файлеро, ки дар давоми ин ӯҳдадорӣ тағир дода шудааст, ду маротиба клик кунед, мо мебинем, ки конфликт чӣ гуна ҳал шудааст: Биёед Git-ро бо Intellij IDEA - 9 пайваст кунемБа назар мерасад, ки дар тарафи рост ва чап ду versionи як файл мавҷуд буд, ки бояд ба як файл якҷоя карда шаванд. Ва дар мобайн натиҷаи ниҳоӣ аст. Вақте ки лоиҳа дорои бисёр фorалҳо, ӯҳдадориҳо ва корбароне мебошад, ки дар лоиҳа кор мекунанд, шумо бояд алоҳида аз рӯи фorал (фorал), корбар (корбар) ва сана (сана) ҷустуҷӯ кунед: Биёед Git-ро бо Intellij IDEA - 10 пайваст кунемВа охирин чизе, ки ман мехоҳам пеш аз оғоз шарҳ диҳам, ин аст, ки чӣ гуна фаҳмидани мо дар кадом сохаем. Ман ба шумо як дақиқа вақт медиҳам, ки ҷустуҷӯ кунед ... шумо онро ёфтед? Оё шумо таслим мешавед? :D Дар кунҷи рости поёнии тугмаи Git: master мавҷуд аст , ки дар он пас аз 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али алоҳида амалӣ созед ва онро ба анбори дурдаст тела диҳед (пас шумо бояд дархости дигари ҷалбро барои фorали асосӣ эҷод кунед, аммо ин аз доираи мақолаи мо берун аст). Ман чӣ кор кардан лозим аст?
  1. Ҳама тағиротҳоро дар фorали асосӣ (масалан, усто) гиред.

  2. Дар асоси ин чизи асосӣ, барои кори худ як алоҳида эҷод кунед.

  3. Функсияи навро амалӣ кунед.

  4. Ба фorали асосӣ равед ва санҷед, ки дар вақти кор ягон тағйироти нав ба амал омадааст. Агар ин тавр набуд, ҳама чиз хуб аст ва агар ин тавр бошад, мо амалҳои зеринро иҷро мекунем: мо ба фorали корӣ меравем ва тағиротро аз шохаи асосӣ ба мо бармегардонем. Агар ҳама чиз хуб бошад, пас олӣ. Аммо шояд ихтилофҳо вуҷуд дошта бошанд. Ва онҳоро метавон пешакӣ бе талафи вақт дар анбори дурдаст ҳал кард.

    Чунин ба назар мерасад, ки чаро ин корро мекунед? Ин як қоидаи шакли хуб аст, ки пас аз тела додани ф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. Қуттии санҷиши фorалро тарк кунед ва номи фorали навро нависед. Барои ман он readme-texempter хоҳад буд .

    Биёед Git-ро бо Intellij IDEA - 16 пайваст кунем

    Пас аз ин, Git: master ба Git: readme-improver иваз мешавад .

Моделсозии кори параллелӣ

Барои пайдо шудани низоъҳо, касе бояд онҳоро эҷод кунад :D Ман README-ро бо супориши нав тавассути браузер таҳрир мекунам ва ба ин васила кори мувозиро тақлид мекунам. Мегӯянд, ки касе дар вақти корам ба ҳамон файли ман тағйирот ворид кардааст, ки боиси ихтилоф мешавад. Аз сатри 10 калимаи «комилан»-ро хориҷ мекунам.

Функсияи худро амалӣ кунед

Вазифа аз он иборат аст, ки README -ро тағир диҳед ва ба мақолаи нав тавсиф илова кунед, яъне кор дар git тавассути Intellij IDEA анҷом дода мешавад. Инро илова кунед: Биёед Git-ро бо Intellij IDEA - 17 пайваст кунемТағирот ба анҷом расид, акнун шумо метавонед ӯҳдадорӣ эҷод кунед. Тугмаи hotkey -ро пахш кунед ctrl + k , мо мегирем: Биёед Git-ро бо Intellij IDEA - 18 пайваст кунемПеш аз сохтани ӯҳдадорӣ, шумо бояд бодиққат ба он чизе, ки дар ин тиреза пешниҳод карда мешавад, назар кунед. Ман махсусан тирчаеро илова кардам, то ба шумо ба куҷо нигоҳ карданро нишон диҳад. Дар он ҷо бисёр чизҳои ҷолиб мавҷуданд. Дар бахши Паёми ӯҳдадорӣ мо матни ӯҳдадориро менависем ва барои сохтани он, шумо бояд тугмаи Commit -ро пахш кунед . Ман то ҳол наёфтам, ки чӣ тавр ин корро бо тугмаи hotkey иҷро кунам, бинобар ин, агар касе онро ёбад, бинависед, ман хеле шод хоҳам шуд. Мо менависем, ки README тағир ёфтааст ва ӯҳдадорӣ эҷод мекунад. Дар натиҷа, огоҳӣ дар кунҷи поёни чап бо номи ӯҳдадорӣ пайдо мешавад: Биёед Git-ро бо Intellij IDEA - 19 пайваст кунем

Санҷед, ки фorали асосӣ тағир ёфтааст

Мо супоришро иҷро кардем, кор мекунад, тестҳо навиштем, ҳамааш хуб аст. Аммо пеш аз он ки ба server тела диҳед, шумо бояд тафтиш кунед, ки дар ин муддат дар фorали асосӣ ягон тағирот ба амал омадааст ё не. Чӣ тавр ин метавонад рӯй диҳад? Ин хеле содда аст: пас аз шумо ба касе супориш дода шуд ва ин кас онро аз шумо тезтар иҷро кард. Бинобар ин, мо ба фorали усто мегузарем. Барои ин, шумо бояд дар кунҷи рости поён он чизеро, ки дар расми зер нишон дода шудааст, иҷро кунед: Биёед Git-ро бо Intellij IDEA - 20 пайваст кунемДар шохаи асосӣ ctrl + t -ро пахш кунед , то тағироти охирини онро аз serverи дурдаст гиред. Агар шумо ба чӣ гуна тағйиротҳо нигаред, шумо метавонед ба осонӣ пай баред, ки чӣ рӯй дод: Биёед Git-ро бо Intellij IDEA - 21 пайваст кунемТавре ки шумо мебинед, калимаи «пурра» хориҷ карда шуд. Шояд касе аз маркетинг буд, ки тасмим гирифт, ки онро ин тавр навиштан мумкин нест ва ба таҳиягарон вазифаи навсозии онро додааст. Мо ҳоло versionи охирини фorали усторо дар маҳал дорем. Биёед ба readme-improver баргардем . Ҳоло мо бояд тағиротро аз шохаи асосӣ ба мо дубора асос кунем. Мо чунин мекунем: Биёед Git-ро бо Intellij IDEA - 22 пайваст кунемАгар шумо ҳама чизро бо ман дуруст риоя карда бошед, натиҷа бояд дар файли README ихтилоф бошад: Биёед Git-ро бо Intellij IDEA - 23 пайваст кунемДар ин ҷо инчунин маълумоти зиёде мавҷуданд, ки бояд фаҳманд ва азхуд карда шаванд. Ин рӯйхатро нишон медиҳад (дар ҳолати мо як элемент) файлҳое, ки ихтилоф доранд. Мо метавонем се вариантро интихоб кунем:
  1. аз они худро қабул кунед - танҳо тағиротро аз readme-improver қабул кунед.
  2. онҳоро қабул кунед - танҳо тағиротро аз устод қабул кунед.
  3. якҷоя кардан - барои худ интихоб кунед, ки чӣ бояд нигоҳ дошта шавад ва чӣ хориҷ карда шавад.
Маълум нест, ки дар он ҷо чӣ тағир ёфтааст ва агар тағирот дар усто бошад, пас онҳо дар он ҷо лозиманд ва мо наметавонем танҳо тағиротҳои худро қабул кунем, аз ин рӯ мо якҷоя карданро интихоб мекунем : Биёед Git-ро бо Intellij IDEA - 24 пайваст кунемДар ин ҷо шумо мебинед, ки се қисм вуҷуд дорад:
  1. Инҳо тағирот аз readme-improver мебошанд.
  2. Натиҷа. Дар айни замон он ҳамон тавре аст, ки пеш аз тағйирот буд.
  3. Тағирот аз фorали асосӣ.
Мо бояд натичаро тавре чамъ кунем, ки он хамаро конеъ гардонад. Бинобар ин, мо он чиро, ки пеш аз мо карда буданд, омӯхтем ва фаҳмидем, ки онҳо танҳо калимаи «комилан»-ро хориҷ кардаанд. Хуб, мушкил нест. Ин маънои онро дорад, ки мо онро дар натиҷа нест мекунем ва тағиротҳои худро илова мекунем. Ҳамин ки мо натиҷаро ислоҳ мекунем, шумо метавонед Apply -ро пахш кунед . Пас аз ин, огоҳинома пайдо мешавад, ки барқарорсозӣ бомуваффақият буд: Биёед Git-ро бо Intellij IDEA - 25 пайваст кунемҲамин тавр мо ихтилофи аввалини худро тавассути Intellij IDEA ҳал кардем: D

Тағиротро ба serverи дурдаст пахш кунед

Қадами навбатӣ ин тела додани тағирот ба serverи дурдаст ва эҷод кардани дархости кашидан аст. Барои ин, танҳо ctrl + shift + k -ро пахш кунед , ки пас аз он мо мегирем: Биёед Git-ро бо Intellij IDEA - 26 пайваст кунемДар тарафи чап рӯйхати ӯҳдадориҳое, ки ба анбори дурдаст интиқол дода нашудаанд ва дар тарафи рост ҳамаи файлҳое ҳастанд, ки ба анбори дурдаст интиқол дода шудаанд. тагьир ёфт. Ҳамааш ин аст: Push -ро клик кунед , ва шумо хурсанд мешавед :) Агар пахш бомуваффақият анҷом дода шавад, дар кунҷи рости поёни чунин огоҳинома пайдо мешавад: Биёед Git-ро бо Intellij IDEA - 27 пайваст кунем

Қисми бонус

Ман дар аввал намехостам эҷоди дархости кашиданро ба мақола илова кунам, аммо аз ин сабаб он қадар пурра нест. Аз ин рӯ, мо ба анбори GitHub меравем (агар он аз они шумо бошад)))) ва бубинед, ки GitHub аллакай медонад, ки ба мо чӣ пешниҳод кунад: -ро Биёед Git-ро бо Intellij IDEA - 28 пайваст кунемклик кунед Муқоиса кунед ва дархостро кашед ва сипас Эҷоди дархостро пахш кунед . Аз сабаби он, ки мо ихтилофҳоро пешакӣ ҳал кардем, ҳоло ҳангоми эҷоди дархости кашидан, шумо метавонед онро фавран якҷоя кунед: Биёед Git-ро бо Intellij IDEA - 29 пайваст кунемИн ҳама чизест, ки ман мехостам ба шумо ин дафъа бигӯям. Албатта, ман танҳо дарро кушода, як қисми хурдеро ба шумо нишон додам. Боқимондаро худатон дар ҳолати зарурӣ пайдо мекунед. Одатан, ман шуморо даъват мекунам, ки ба ҳисоби GitHub-и худ обуна шавед , ки дар он ман лоиҳаҳоро дар асоси технологияҳои гуногуне, ки дар кор истифода мебарам, ҷойгир мекунам. Ман ба наздикӣ як дастоварди шахсӣ доштам - лоиҳаи ман аллакай аз ҷониби зиёда аз сад таҳиягарон баҳо дода шудааст. Ин як эҳсоси бениҳоят шодмонист, ки касе он чизеро, ки шумо сохтаед, истифода мебарад. Ва онро барои хуб истифода мебарад.

истинодҳои муфид

  1. JavaRush: Оғози кор бо Git: дастури муфассал барои шурӯъкунандагон
  2. GitHub: Лоиҳаи намоишӣ барои кор бо
  3. JavaRush: Таҳлor стратегияҳои шоха дар Git
  4. JetBrains: Анбори Git насб кунед
  5. Habr: Git rebase
  6. GitHub: Ҳисоби ман
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION