Mga kinakailangang pambungad na tala:
- Basahin, ulitin at unawain ang artikulo tungkol sa git . Makakatulong ito na matiyak na naka-set up na ang lahat at handa nang gamitin.
- I-install ang Intellij IDEA.
- Maglaan ng isang oras ng personal na oras para sa kumpletong pagsipsip.
I-clone ang proyekto nang lokal
Mayroong dalawang mga pagpipilian dito.- 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 .
- 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))
-
Kopyahin ang address ng proyekto:
-
Buksan ang Intellij IDEA at piliin ang Kunin mula sa Version Control:
-
Kopyahin at i-paste ang address sa proyekto:
-
Ipo-prompt kang gumawa ng proyekto ng Intellij IDEA. Tinatanggap namin ang alok:
-
Dahil walang build system, at hindi ito ang saklaw ng artikulo, piliin ang Lumikha ng proyekto mula sa mga kasalukuyang pinagmumulan :
-
Next there will be a oil painting like this: Naayos 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. Bukod 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: Kapansin-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): At 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.Nagtatrabaho sa repositoryo
Mga kapaki-pakinabang na hotkey
Upang magpatuloy sa pagtatrabaho, kailangan mong tandaan ang ilang napaka-kapaki-pakinabang na mga hotkey:- ctrl + t - makuha ang pinakabagong mga pagbabago mula sa isang malayuang imbakan (git pull).
- 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).
- 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).
- 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.
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?-
Kunin ang lahat ng mga pagbabago na kasalukuyang nasa pangunahing sangay (halimbawa, master).
-
Batay sa pangunahing ito, gumawa ng hiwalay para sa iyong trabaho.
-
Magpatupad ng bagong functionality.
-
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).
- Itulak ang iyong mga pagbabago sa isang malayuang imbakan.
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 : Bilang 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.Gumawa ng bagong sangay batay sa master
Simple lang ang lahat dito.-
Pumunta sa kanang sulok sa ibaba at mag-click sa Git: master , piliin ang + New Branch .
Iwanan ang checkbox ng Checkout branch at isulat ang pangalan ng bagong branch. Para sa akin ito ay readme-improver .
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: Kumpleto na ang mga pagbabago, maaari ka na ngayong gumawa ng commit. Pindutin ang hotkey ctrl + k , nakukuha namin: Bago 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: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: Sa 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: Tulad 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: Kung sinunod mo ang lahat ng tama sa akin, ang resulta ay dapat na isang salungatan sa README file: Marami 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:- tanggapin ang sa iyo - tanggapin lamang ang mga pagbabago mula sa readme-improver.
- tanggapin ang kanila - tanggapin lamang ang mga pagbabago mula sa master.
- pagsamahin - piliin para sa iyong sarili kung ano ang itago at kung ano ang aalisin.
- Ito ay mga pagbabago mula sa readme-improver.
- Resulta. Sa ngayon ito ay kapareho ng bago ang mga pagbabago.
- Mga pagbabago mula sa master branch.
GO TO FULL VERSION