JavaRush /Java Blog /Random-TL /Ikonekta natin ang Git sa Intellij IDEA

Ikonekta natin ang Git sa Intellij IDEA

Nai-publish sa grupo
Gaya ng tradisyon, tinatanggap ko kayo, mga hinaharap na Senior Software Engineer. Ikonekta natin ang Git sa Intellij IDEA - 1Ngayon ay pag-uusapan natin ang lohikal na pagpapatuloy ng aking artikulo tungkol sa Git . Inirerekomenda ko rin na basahin ang materyal sa mga diskarte sa pagsasanga na na-publish ko kanina. Sa artikulo tungkol sa Git, inilarawan ko kung paano gamitin ito sa command line, at ngayon ipapakita ko sa iyo kung paano gawin ang lahat ng ito sa Intellij IDEA. Sa simula ng aking paglalakbay bilang isang developer, ginamit ko ang command line at naisip ko na hindi ko na kailangang gamitin ang UI para sa bagay na ito. Pagkatapos ng lahat, ang lahat ay malinaw at kaya... Ngunit iyon ay eksakto hanggang sa sandaling sinimulan kong gamitin ang Git sa Intellij IDEA... Gusto kong sabihin kaagad na ilalarawan ko ang aking personal na karanasan. Mayroong ilang mga opsyon para sa paglutas ng parehong mga problema gamit ang Intellij IDEA, at kung alam mo kung paano mas mahusay na gawin ang inilalarawan ko sa artikulo, sumulat sa mga komento at tatalakayin namin.

Mga kinakailangang pambungad na tala:

  1. Basahin, ulitin at unawain ang artikulo tungkol sa git . Makakatulong ito na matiyak na naka-set up na ang lahat at handa nang gamitin.
  2. I-install ang Intellij IDEA.
  3. Maglaan ng isang oras ng personal na oras para sa kumpletong pagsipsip.
Para sa trabaho, kunin natin ang demo project na ginamit ko para sa artikulo tungkol sa Git. I-UPDATE:Sa oras ng paglalathala, magiging available na ang bagong Github UI, at ang ilang icon ay wala kung saan ito ipinapakita sa artikulo. Huwag maalarma: kakailanganin mo lang na huwag lumipat sa bagong UI, o hanapin ang mga ito.

I-clone ang proyekto nang lokal

Mayroong dalawang mga pagpipilian dito.
  1. Kung mayroon ka nang Github account at gusto mong itulak ang isang bagay sa ibang pagkakataon, mas mabuting i-fork ang proyekto sa iyong sarili at i-clone ang iyong kopya. Paano gumawa ng isang tinidor - Inilarawan ko sa artikulong ito sa kabanata ang isang halimbawa ng daloy ng trabaho sa tinidor .
  2. I-clone mula sa aking imbakan at gawin ang lahat nang lokal nang walang kakayahang itulak ang buong bagay sa server. Pagkatapos ng lahat, ito ang magiging repository ko))
Upang mai-clone ang isang proyekto mula sa Github, kailangan mong kopyahin ang link sa proyekto at ipasa ito sa IntelliJ IDEA:
  1. Kopyahin ang address ng proyekto:

    Ikonekta natin ang Git sa Intellij IDEA - 2
  2. Buksan ang Intellij IDEA at piliin ang Kunin mula sa Version Control:

    Ikonekta natin ang Git sa Intellij IDEA - 3
  3. Kopyahin at i-paste ang address sa proyekto:

    Ikonekta natin ang Git sa Intellij IDEA - 4
  4. Ipo-prompt kang gumawa ng proyekto ng Intellij IDEA. Tinatanggap namin ang alok:

    Ikonekta natin ang Git sa Intellij IDEA - 5
  5. Dahil walang build system, at hindi ito ang saklaw ng artikulo, piliin ang Lumikha ng proyekto mula sa mga kasalukuyang pinagmumulan :

    Ikonekta natin ang Git sa Intellij IDEA - 6
  6. Next there will be a oil painting like this: Ikonekta natin ang Git sa Intellij IDEA - 7Naayos na natin ang cloning, ngayon ay maaari na tayong tumingin sa paligid.

Unang tingnan ang Intellij IDEA bilang isang Git UI

Tingnan muli ang na-clone na proyekto: nariyan ka na makakakuha ng maraming impormasyon tungkol sa sistema ng kontrol ng bersyon. Ang una ay ang Control panel ng Bersyon sa ibabang kaliwang sulok. Dito mahahanap mo ang lahat ng lokal na pagbabago at makakuha ng listahan ng mga commit (katulad ng git log). Lumipat tayo sa lecture ng Log . Mayroong isang tiyak na bahagi ng visual na tumutulong upang maunawaan nang eksakto kung paano napunta ang proseso ng pag-unlad. Halimbawa, makikita mo na may ginawang bagong branch na may commit na idinagdag na header sa txt , na pagkatapos ay pinagsama sa master branch. Kung nag-click ka sa isang commit, sa kanang sulok makikita mo ang lahat ng impormasyon tungkol sa commit: lahat ng mga pagbabago at ang metadata nito. Подружим Git с Intellij IDEA - 8Bukod dito, makikita mo kung anong mga pagbabago ang ginawa. Bukod dito, nalutas ang salungatan doon. Perpektong ipinapakita rin ito ng IDEA. Kung nag-double click ka sa file na binago sa panahon ng commit na ito, makikita natin kung paano nalutas ang salungatan: Подружим Git с Intellij IDEA - 9Kapansin-pansin na sa kanan at kaliwa ay mayroong dalawang bersyon ng parehong file na kailangang pagsamahin sa isa. At sa gitna ay ang huling resulta. Kapag ang isang proyekto ay maraming sangay, commit at user na nagtatrabaho sa proyekto, kailangan mong maghanap nang hiwalay ayon sa sangay (branch), user (user) at petsa (petsa): Подружим Git с Intellij IDEA - 10At ang huling bagay na gusto kong ipaliwanag bago magsimula ay kung paano maintindihan saang branch tayo Bibigyan kita ng isang minuto para maghanap... nahanap mo ba? sumusuko ka na ba? :D Sa kanang sulok sa ibaba ay mayroong isang Git: master button , kung saan pagkatapos ng Git: ito ay nagpapakita kung saang sangay ang proyekto ay kasalukuyang nasa. Kung nag-click ka sa pindutan, maaari kang gumawa ng maraming mga kapaki-pakinabang na bagay: lumipat sa isa pang sangay, lumikha ng bago, palitan ang pangalan ng isang umiiral na, at iba pa. Подружим Git с Intellij IDEA - 11

Nagtatrabaho sa repositoryo

Mga kapaki-pakinabang na hotkey

Upang magpatuloy sa pagtatrabaho, kailangan mong tandaan ang ilang napaka-kapaki-pakinabang na mga hotkey:
  1. ctrl + t - makuha ang pinakabagong mga pagbabago mula sa isang malayuang imbakan (git pull).
  2. ctrl + k - i-commit/tingnan ang lahat ng pagbabago na kasalukuyang magagamit. Kabilang dito ang parehong hindi sinusubaybayan at binagong mga file (tingnan ang aking artikulo tungkol sa git, ito ay inilarawan doon) (git commit).
  3. Ang ctrl + shift + k ay isang utos para sa pagtulak ng mga pagbabago sa isang malayuang imbakan. Ang lahat ng mga commit na nilikha nang lokal at wala pa sa remote ay iaalok para sa push (git push).
  4. alt + ctrl + z - ibalik ang mga pagbabago sa isang partikular na file sa estado ng huling ginawang commit sa lokal na imbakan. Kung pipiliin mo ang buong proyekto sa kaliwang sulok sa itaas, maaari mong ibalik ang mga pagbabago sa lahat ng file.
Подружим Git с Intellij IDEA - 12

Ano ang gusto natin?

Upang gumana, kailangan nating makabisado ang pangunahing script, na ginagamit sa lahat ng dako. Ang gawain ay upang ipatupad ang bagong pag-andar sa isang hiwalay na sangay at itulak ito sa isang malayong imbakan (pagkatapos ay kailangan mong lumikha ng isa pang kahilingan sa paghila para sa pangunahing sangay, ngunit ito ay lampas sa saklaw ng aming artikulo). Ano ang kailangan kong gawin?
  1. Kunin ang lahat ng mga pagbabago na kasalukuyang nasa pangunahing sangay (halimbawa, master).

  2. Batay sa pangunahing ito, gumawa ng hiwalay para sa iyong trabaho.

  3. Magpatupad ng bagong functionality.

  4. Pumunta sa pangunahing sangay at tingnan kung may mga bagong pagbabago habang nagtatrabaho ka. Kung hindi, kung gayon ang lahat ay maayos, at kung ito ay, pagkatapos ay gagawin namin ang sumusunod: pumunta kami sa nagtatrabaho na sangay at i-rebase ang mga pagbabago mula sa pangunahing sangay patungo sa amin. Kung ang lahat ay naging maayos, pagkatapos ay mahusay. Ngunit maaaring magkaroon ng mga salungatan. At maaari silang malutas nang maaga nang hindi nag-aaksaya ng oras sa isang malayong imbakan.

    Mukhang, bakit gagawin ito? Ito ay isang tuntunin ng magandang anyo, na pumipigil sa mga salungatan na lumitaw pagkatapos itulak ang iyong sangay sa lokal na imbakan (siyempre, may pagkakataon na mananatili pa rin ang mga ito, ngunit ito ay nagiging mas maliit).

  5. Itulak ang iyong mga pagbabago sa isang malayuang imbakan.
Ang susunod na mangyayari ay depende sa iyong mga layunin at imahinasyon.

Makatanggap ng mga pagbabago mula sa isang malayuang server?

Nagdagdag ako ng paglalarawan sa README na may bagong commit at gusto kong matanggap ang mga pagbabagong ito. Ang isang pagpipilian ay inaalok sa pagitan ng merge at rebase kung ang mga pagbabago ay ginawa sa parehong mga lokal at remote na mga repositoryo. Pumili ng isang pagsasanib. Ipasok ang ctrl + t : Подружим Git с Intellij IDEA - 13Bilang resulta, makikita mo kung paano nagbago ang README, i.e. Ang mga pagbabago mula sa malayong imbakan ay nakuha, at sa kanang sulok sa ibaba makikita mo ang lahat ng mga detalye ng mga pagbabago na nagmula sa server. Подружим Git с Intellij IDEA - 14

Gumawa ng bagong sangay batay sa master

Simple lang ang lahat dito.
  1. Pumunta sa kanang sulok sa ibaba at mag-click sa Git: master , piliin ang + New Branch .

    Подружим Git с Intellij IDEA - 15
  2. Iwanan ang checkbox ng Checkout branch at isulat ang pangalan ng bagong branch. Para sa akin ito ay readme-improver .

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

    Pagkatapos nito, ang Git: master ay magbabago sa Git: readme-improver .

Simulating parallel work

Para lumitaw ang mga salungatan, dapat may lumikha sa kanila :D Ie-edit ko ang README gamit ang isang bagong commit sa pamamagitan ng browser at sa gayon ay gayahin ang parallel na gawain. Sinasabi nila na may isang tao, sa panahon ng aking trabaho, na gumawa ng mga pagbabago sa parehong file na katulad ko, na hahantong sa isang salungatan. Aalisin ko ang salitang "buo" sa ika-10 linya.

Ipatupad ang iyong functionality

Ang gawain ay baguhin ang README at magdagdag ng paglalarawan sa bagong artikulo, iyon ay, ang gawain sa git ay ginagawa sa pamamagitan ng Intellij IDEA. Idagdag ito: Подружим Git с Intellij IDEA - 17Kumpleto na ang mga pagbabago, maaari ka na ngayong gumawa ng commit. Pindutin ang hotkey ctrl + k , nakukuha namin: Подружим Git с Intellij IDEA - 18Bago gumawa ng commit, kailangan mong maingat na tingnan kung ano ang inaalok sa window na ito. Partikular akong nagdagdag ng arrow upang ipakita sa iyo kung saan titingin. Mayroong maraming mga kawili-wiling bagay doon. Sa seksyong Commit Message isinusulat namin ang text ng commit, at para magawa ito, kailangan mong i-click ang Commit button . Hindi ko pa rin nahanap kung paano ito gagawin gamit ang isang hotkey, kaya kung may makakita nito, sumulat, ako ay magiging napakasaya. Isinulat namin na ang README ay nagbago at lumikha ng isang commit. Bilang resulta, may lalabas na alerto sa ibabang kaliwang sulok na may pangalan ng commit: Подружим Git с Intellij IDEA - 19

Suriin kung ang master branch ay nagbago

Nakumpleto namin ang gawain, gumagana ito, isinulat namin ang mga pagsubok, maayos ang lahat. Ngunit bago itulak sa server, kailangan mong suriin kung mayroong anumang mga pagbabago sa pangunahing sangay sa panahong ito. Paano ito nangyari? Napakasimple nito: may isang taong binigyan ng gawain pagkatapos mo, at ito ay isang taong gumawa nito nang mas mabilis kaysa sa iyo. Samakatuwid, lumipat kami sa master branch. Upang gawin ito, kailangan mong gawin sa ibabang kanang sulok kung ano ang ipinapakita sa figure sa ibaba: Подружим Git с Intellij IDEA - 20Sa master branch, pindutin ang ctrl + t upang makuha ang mga pinakabagong pagbabago nito mula sa remote server. Kung titingnan mo kung anong mga pagbabago ang ginawa, madali mong mapapansin kung ano ang nangyari: Подружим Git с Intellij IDEA - 21Tulad ng nakikita mo, ang salitang "ganap" ay inalis. Marahil ito ay isang tao mula sa marketing na nagpasya na hindi ito maaaring isulat ng ganoon at binigyan ang mga developer ng gawain ng pag-update nito. Mayroon na kaming lokal na pinakabagong bersyon ng master branch. Bumalik tayo sa readme-improver . Ngayon ay kailangan nating i-rebase ang mga pagbabago mula sa master branch patungo sa atin. Ginagawa namin: Подружим Git с Intellij IDEA - 22Kung sinunod mo ang lahat ng tama sa akin, ang resulta ay dapat na isang salungatan sa README file: Подружим Git с Intellij IDEA - 23Marami ring impormasyon dito na kailangang maunawaan at maunawaan. Nagpapakita ito ng isang listahan (sa aming kaso ng isang elemento) ng mga file na may mga salungatan. Maaari tayong pumili ng tatlong opsyon:
  1. tanggapin ang sa iyo - tanggapin lamang ang mga pagbabago mula sa readme-improver.
  2. tanggapin ang kanila - tanggapin lamang ang mga pagbabago mula sa master.
  3. pagsamahin - piliin para sa iyong sarili kung ano ang itago at kung ano ang aalisin.
Hindi malinaw kung ano ang nagbago doon, at kung ang mga pagbabago ay nasa master, kung gayon kailangan ang mga ito doon, at hindi lang namin matatanggap ang aming mga pagbabago, kaya pipiliin namin ang pagsamahin : Подружим Git с Intellij IDEA - 24Dito makikita mo na mayroong tatlong bahagi:
  1. Ito ay mga pagbabago mula sa readme-improver.
  2. Resulta. Sa ngayon ito ay kapareho ng bago ang mga pagbabago.
  3. Mga pagbabago mula sa master branch.
Kailangan nating kolektahin ang resulta sa paraang masisiyahan ang lahat. Samakatuwid, pinag-aralan namin kung ano ang ginawa nila BAGO sa amin, at napagtanto na tinanggal lang nila ang salitang "ganap". Okay lang, walang problema. Nangangahulugan ito na aalisin namin ito bilang isang resulta at idagdag ang aming mga pagbabago. Sa sandaling itama namin ang resulta, maaari mong i-click ang Ilapat . Pagkatapos nito, mag-pop up ang isang notification na matagumpay ang rebase: Подружим Git с Intellij IDEA - 25Ganito namin naresolba ang aming unang salungatan sa pamamagitan ng Intellij IDEA :D

Itulak ang mga pagbabago sa isang malayuang server

Ang susunod na hakbang ay itulak ang mga pagbabago sa remote server at gumawa ng pull request. Upang gawin ito, pindutin lamang ang ctrl + shift + k , pagkatapos ay makukuha natin: Подружим Git с Intellij IDEA - 26Sa kaliwa ay magkakaroon ng isang listahan ng mga commit na hindi pa nai-push sa remote na imbakan, at sa kanan ay magkakaroon ng lahat ng mga file na na- nagbago. Iyon lang: i-click ang Push , at magiging masaya ka :) Kung matagumpay ang push, magkakaroon ng notification na ganito sa kanang sulok sa ibaba: Подружим Git с Intellij IDEA - 27

Bahagi ng bonus

Sa simula ay hindi ko nais na idagdag ang paglikha ng isang kahilingan sa paghila sa artikulo, ngunit lumalabas na hindi ito kumpleto dahil dito. Samakatuwid, pumunta kami sa repositoryo ng GitHub (kung ito ay sa iyo, siyempre)))) at tingnan na alam na ng GitHub kung ano ang iaalok sa amin: Подружим Git с Intellij IDEA - 28Mag-click sa Ihambing at hilahin ang kahilingan , at pagkatapos ay i-click ang Lumikha ng pull request . Dahil sa katotohanang naresolba namin ang mga salungatan nang maaga, ngayon kapag gumagawa ng pull request, maaari mo itong pagsamahin kaagad: Подружим Git с Intellij IDEA - 29Iyon lang ang gusto kong sabihin sa iyo sa pagkakataong ito. Syempre, binuksan ko lang ang pinto at ipinakita ko sa iyo ang isang maliit na bahagi. Hahanapin mo ang natitira sa iyong sarili kung kinakailangan. Gaya ng dati, iniimbitahan kitang mag-subscribe sa aking GitHub account , kung saan ako nagpo-post ng mga proyekto batay sa iba't ibang teknolohiya na ginagamit ko sa trabaho. Kamakailan ay nagkaroon ako ng personal na tagumpay - ang aking proyekto ay na-rate na ng higit sa isang daang developer. Ito ay isang hindi kapani-paniwalang pakiramdam ng kagalakan na ang isang tao ay gumagamit ng iyong ginawa. At ginagamit ito para sa kabutihan.

kapaki-pakinabang na mga link

  1. JavaRush: Pagsisimula sa Git: isang detalyadong gabay para sa mga nagsisimula
  2. GitHub: Demo na proyektong gagawin
  3. JavaRush: Pagsusuri ng mga diskarte sa pagsasanga sa Git
  4. JetBrains: Mag-set up ng Git Repository
  5. Habr: Git rebase
  6. GitHub: Aking Account
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION