Уводзіны ў Git: што гэта такое і як ім карыстацца

Фота Маркуса Спіске на Unsplash

Git - гэта сістэма кіравання з адкрытым зыходным кодам. Гэта шмат слоў, каб вызначыць git.

Дазвольце падсумаваць і растлумачыць фармулёўку:

  • Сістэма кіравання: Гэта ў асноўным азначае, што Git - гэта трэкер змесціва. Такім чынам, Git можна выкарыстоўваць для захоўвання змесціва - у асноўным ён выкарыстоўваецца для захоўвання кода з-за іншых функцый, якія ён прапануе.
  • Сістэма кіравання версіямі: Код, які захоўваецца ў Git, пастаянна мяняецца па меры дадання большага кода. Акрамя таго, многія распрацоўшчыкі могуць паралельна дадаваць код. Сістэма кіравання версіямі дапамагае ў звароце, улічваючы ход унесеных змяненняў. Акрамя таго, Git прапануе такія функцыі, як разгалінаванне і зліццё, пра якія я распавяду далей.
  • Размеркаваная сістэма кіравання версіямі: Git мае аддаленае сховішча, якое захоўваецца на серверы, і лакальнае сховішча, якое захоўваецца на кампутары кожнага распрацоўніка. Гэта азначае, што код захоўваецца не толькі на цэнтральным серверы, але і поўная копія кода даступная на ўсіх кампутарах распрацоўнікаў. Git - гэта сістэма кіравання размеркаванай версіяй, таму што код ёсць на кожным кампутары распрацоўніка. Я патлумачу паняцце аддаленых і лакальных сховішчаў далей у гэтым артыкуле.

Чаму патрэбна сістэма кіравання версіямі, як Git

Як правіла, некалькі распрацоўшчыкаў працуюць у рэальных праектах адначасова. Такім чынам, неабходная сістэма кіравання версіямі, напрыклад, Git, каб не было канфліктаў паміж распрацоўшчыкамі.

Акрамя таго, патрабаванні ў такіх праектах часта мяняюцца. Сістэма кіравання версіямі дазваляе распрацоўшчыкам вярнуцца да больш старой версіі кода.

Бо часам некалькі праектаў, якія працуюць паралельна, уплываюць на адну і тую ж базу кода. У такім выпадку паняцце разгалінавання ў Git вельмі важна.

Зараз пачнем выкарыстоўваць Git

Замест таго, каб згадваць усе паняцці адразу, я растлумачу канцэпцыі Гіта на прыкладзе, каб зрабіць яго больш простым.

Спампаваць Git

Гэта спасылка змяшчае падрабязную інфармацыю аб усталяванні Git на некалькіх аперацыйных сістэмах: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

Пераканайцеся, што Git усталяваны, увёўшы наступную каманду ў камандным радку:

Версія Git

Стварыце сваё лакальнае сховішча git

Стварыце тэчку для вашага праекта на вашым кампутары. Давайце назавем тэчку праекта simple-git-demo.

Перайдзіце ў тэчку вашага праекта і дадайце ў праект мясцовае сховішча Git, выкарыстоўваючы наступныя каманды:

CD Simple-Git-Demo Git Init

Каманда git init дадае ў праект лакальнае сховішча Git.

Зараз дадамо крыху кода

Стварыце файл пад назвай demo.txt у тэчцы праекта і дадайце наступны тэкст:

Першапачатковы змест

Тут мы прадэманструем выкарыстанне простага тэксту замест фактычнага кода, бо асноўная ўвага ў гэтым артыкуле робіцца на Git, а не на пэўнай мове праграмавання.

Разгарніце і здзейсніце код

Пры выкананні код дадаецца ў лакальнае сховішча. Перш чым учыніць код, ён павінен знаходзіцца ў пастановачнай зоне. Пастановачная вобласць выкарыстоўваецца для адсочвання ўсіх файлаў, якія трэба зрабіць.

Файлы, якія не былі дададзены ў пастановачную вобласць, не здзяйсняюцца. Гэта дае распрацоўніку кантроль над тым, якія файлы трэба здзяйсняць.

Пастаноўка

Для мацавання файла скарыстайцеся наступнай камандай:

git дадаць demo.txt

Калі вы хочаце дадаць некалькі файлаў, вы можаце выкарыстоўваць наступнае:

git дадаць file1 file2 file3

Калі вы хочаце дадаць усе файлы ў тэчцы праекта ў пастановачную вобласць, скарыстайцеся наступнай камандай:

Дадайце git.

Будзьце асцярожныя, бо ўсе файлы і папкі вашага праекта дадаюцца ў пастановачную вобласць.

Здзейсніць, здзейсніць

Выкарыстоўвайце наступную каманду для здзяйснення файла:

git commit -m "першапачатковы здзейсніць"

"Першапачатковая здзяйсненне" - гэта паведамленне аб здзяйсненні. Калі ласка, увядзіце адпаведнае паведамленне аб здзяйсненні, каб паказаць, якія змены ў кодзе былі ўнесены ў пэўнай камісіі.

Статус Git і часопіс git

Цяпер змяніце файл demo.txt і дадайце наступны фрагмент:

Першапачатковы змест Дадаць яшчэ змесціва

Статус

Выкарыстоўвайце статус git, каб атрымаць інфармацыю пра тое, якія файлы былі зменены і якія файлы знаходзяцца ў вобласці пастаноўкі - гэта таксама паказвае іншую інфармацыю, якую мы зараз можам ігнараваць.

Для прагляду статусу выкарыстоўвайце наступную каманду:

Статус Git

Статус паказвае, што demo.txt быў зменены і яшчэ не знаходзіцца ў вобласці пастаноўкі.

Дадамо файл demo.txt у пастановачную вобласць і здзейснім яго наступнымі камандамі:

git add demo.txt git commit -m "файл demo.txt быў зменены"

Уваход

Выкарыстоўвайце часопіс git для раздрукоўкі ўсіх папярэдніх дакументаў.

Для гэтага выкарыстоўваецца каманда: Git-Log

У часопісе паказаны аўтар кожнага здзяйснення, дата здзяйснення і паведамленне аб здзяйсненні.

Галіны

Пакуль у нас няма філіяла ў Git. Па змаўчанні Git здзяйсняе пераход да галоўнай галіны.

Што такое філіял?

Ветка - гэта не што іншае, як указальнік на апошні ўдзел у сховішчы Git. У цяперашні час нашай галоўнай галіной з'яўляецца паказальнік на другое здзяйсненне "файл demo.txt зменены".

Чаму патрэбныя некалькі аддзяленняў?

Для падтрымкі некалькіх паралельных распрацовак патрабуецца некалькі аддзяленняў. Праверце малюнак ніжэй, каб даведацца, як працуюць галіны.

Першапачаткова ўдзел 1 і 2 былі выкананы на галоўнай галіны. Пасля здзяйснення 2 ствараецца новая галінка пад назвай Тэст, а здзяйсняецца 3 і здзяйсняецца 4, якія дадаюцца да тэставай галіны.

У той жа час, яшчэ 3 здзяйснення і 4 здзяйсненні 4 дадаюцца ў вядучую галіну. Тут мы бачым, што пасля здзяйснення 2 у двух асобных галінах праводзяцца дзве паралельныя распрацоўкі.

Аддзяленне тэставага аддзялення і вядучая галінка падзелены тут і маюць іншы код. Код з тэставай галіны можна аб'яднаць з галоўнай галіной з дапамогай Git Merge. Пра гэта мы раскажам пазней.

Стварыце новую галіну ў Local

Выкарыстоўвайце наступную каманду для стварэння новай галіны пад назвай тэст:

Тэст з галінкай Git

Гэта каманда стварае аддзяленне тэсту.

Мы ўсё яшчэ знаходзімся ў кантэксце вядучай галіны. Каб перайсці на тэставае аддзяленне. скарыстайцеся наступнай камандай:

Тэст на атрыманне касы

Цяпер мы знаходзімся ў выпрабавальнай індустрыі.

З дапамогай наступнай каманды вы можаце пералічыць усе галіны ў лакальным:

Галіна Git

Зрабіце некаторыя абавязкі ў новым аддзяленні

Змяніце файл demo.txt, дадаўшы наступны фрагмент:

Першапачатковы змест Дадаць яшчэ кантэнт Дадаць змесціва з тэставай галіны

Цяпер увядзіце і перадайце наступныя каманды:

git add demo.txt git commit -m "выпрабаванне філіяла"

Гэта здзяйсненне было зроблена ў аддзяленні тэставання, і цяпер тэставае адгалінаванне выканана перад асноўнай галіной, таму што тэставая галінка таксама змяшчае 2 абавязацельствы ад асноўнай галіны.

Вы можаце праверыць гісторыю здзяйснення ў Test Branch наступным чынам:

Git журнал

Зліццё

Тэст-аддзяленне ў цяперашні час на 1 здзяйсненне наперадзе майстра. Выкажам здагадку, што мы хочам, каб увесь код у тэставай ветцы быў вернуты ў галоўную галінку. Тут Git Merge вельмі карысны.

Каб аб'яднаць код з тэставай галіны ў галоўную галіну, зрабіце наступнае:

Спачатку вярніцеся да галоўнай галіны:

Майстар Git Checkout

Затым запусціце каманду merge:

Тэст на зліццё Git

Пасля выканання гэтых двух каманд зліццё павінна дасягнуць поспеху. У гэтым прыкладзе няма канфліктаў.

У рэальных праектах, аднак, адбываецца канфлікт пры зліцці. Вырашэнне канфлікту - гэта тое, што адбываецца з досведам. Такім чынам, калі вы больш працуеце з Git, вы атрымаеце развязанне канфліктаў.

Цяпер запусціце git log і вы ўбачыце, што майстар таксама мае 3 коміты.

Аддалены сховішча Git

Пакуль што мы працавалі толькі ў мясцовым сховішчы. Кожны распрацоўшчык працуе ў сваім лакальным сховішчы, але ў нейкі момант код будзе перанесены ў аддалены рэпазітар. Пасля таго, як код знаходзіцца ў аддаленым сховішчы, іншыя распрацоўшчыкі могуць праглядаць і змяняць гэты код.

Прагляд аддаленых і лакальных сховішчаў

GitHub

Тут мы выкарыстоўваем GitHub для аддаленага сховішча.

Перайдзіце на старонку https://github.com/ і створыце ўліковы запіс.

Пасля рэгістрацыі націсніце Запуск праекта на галоўнай старонцы GitHub, каб стварыць новае сховішча Git. Дайце назву рэпазітару і націсніце "Стварыць рэпазітар".

Увядзіце імя ў выглядзе git-blog-demo.

Гэта стварае аддалены сховішча ў GitHub. Пры адкрыцці сховішча адкрываецца старонка накшталт наступнай:

URL рэпазітара - выдзеленая частка https://github.com/aditya-sridhar/git-blog-demo.git

Выкарыстоўвайце наступную каманду, каб накіраваць ваша лакальнае сховішча на аддаленае сховішча:

git remote add origin [URL рэпазітара]

Git push

Выкарыстоўвайце наступную каманду, каб перамясціць увесь код з лакальнага рэпазітара ў аддаленае сховішча:

Git Push -у паходжанне майстар

Гэта перамесціць код з галоўнай галіны ў лакальным сховішчы да асноўнай галіны ў аддаленым сховішчы.

Дадатковыя каманды

Git цягнуць

Пры нацягванні git апошнія змены пераносяцца з аддаленага сховішча ў лакальнае сховішча. Код аддаленага рэпазітара пастаянна абнаўляецца рознымі распрацоўшчыкамі, таму Git-Pull патрабуецца:

Git Pull Origin Master

Клон Git

З дапамогай git clone вы можаце кланаваць існуючы аддалены сховішча на вашым кампутары. Каманда для гэтага:

Клон Git [URL рэпазітара]

Віншую

Цяпер, калі вы ведаеце асновы выкарыстання Git, працягвайце і даведайцеся больш!

Неўзабаве апублікую яшчэ адзін артыкул пра крыху больш прасунутыя паняцці git. Сачыце за навінамі

Пра аўтара

Я люблю тэхналогіі і сачу за тэхналагічным дасягненнем. Мне таксама падабаецца дапамагаць іншым з усімі ведамі, якія я маю ў галіне тэхналогій.

Не саромейцеся звязацца са мной праз мой уліковы запіс LinkdIn https://www.linkedin.com/in/aditya1811/

Вы таксама можаце сачыць за мной у Twitter https://twitter.com/adityasridhar18

Мой сайт: https://adityasridhar.com/

Іншыя паведамленні ад мяне

Як выкарыстоўваць Git эфектыўна