КампутарыПраграмнае забеспячэнне

Асноўныя Git каманды: шпаргалка

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

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

З гэтымі задачамі закліканы спраўляцца сістэмы кантролю версій. І адной з іх з'яўляецца прадукт пад назвай Git.

Сістэмы кантролю версій: трохі тэорыі

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

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

  • лакальныя;
  • цэнтралізаваныя;
  • размеркаваныя.

Віды сістэм кантролю версій

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

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

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

Git: апісанне і асаблівасці сістэмы

Сістэма кантролю версій Git валодае сваімі асаблівасцямі. Большасць сістэм захоўвае файлы, змяняючы іх у адпаведнасці з інструкцыямі ў праекце. Гэта значыць, да прыкладу, версія бягучай распрацоўкі пад нумарам 3 можа ўтрымліваць дадзеныя пра змены ў файле А і Б. А ўжо версія 4 будзе мець у сабе А, Б і В. Такім чынам, файлы змяняюцца па неабходнасці.

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

Яшчэ адной важнай асаблівасцю з'яўляецца магчымасць непасрэднай работы з лакальным сховішчам. То бок, калі патрабуецца рабіць праўкі, то іх рэалізуюць прама на кампутары ўдзельніка праекту. Гэта вельмі зручна, калі распрацоўшчык знаходзіцца ўдалечыні ад сеткі Інтэрнэт. Затым, пры атрыманні доступу да сервера, з'явіцца магчымасць адправіць ўсе дадзеныя ў агульнае сховішча.

Для захавання цэласнасці дадзеных ужываецца метад хэшавання кожнага змененага файла метадам SHA-1. Гэта дазваляе сістэме кантролю версій дакладна ведаць, дзе, хто і калі змяніў файл.

Git: ўстаноўка

Для таго каб пачаць працаваць з Git, трэба яго ўсталяваць. Сістэма кантролю версій даступная для выкарыстання ў Windows, Mac OS, Linux.

Версію для Windows можна спампаваць па адрасе: git-for-windows.github.io. Пасля загрузкі праграму трэба ўсталяваць. Ўсталёўнік просты, так што гэтая працэдура не павінна выклікаць праблем.

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

першыя каманды

Пасля ўстаноўкі сістэмы кантролю версій на кампутар, яе неабходна наладзіць. Варта адзначыць, што да гэтага моманту на сайце Github павінен быць зарэгістраваны свой рахунак. Для таго каб выканаць першапачатковую наладу, трэба выклікаць кансольны кліент, так як трэба будзе ўводзіць каманды. Зрабіць гэта можна, націснуўшы правую кнопку мышы і выбраўшы пункт Git Bash. Павінна адкрыцца акно кансольнага кліента, якое запросіць ўвесці дадзеныя. У ім трэба выканаць паслядоўна Git Bash каманды:

  • git config --global user.name '' Імя '';
  • git config --global user.mail '' Адрас электроннай пошты ''.

На гэтым жа этапе неабходна наладзіць метад заканчэння радкоў з дапамогай двух каманд:

  • git config --global core.autocrlf true;
  • git config --global core.safecrlf false.

Для першаснай налады Git гэтага дастаткова. Далей будуць выкарыстоўвацца толькі каманды для кіравання праектамі.

Асноўныя каманды Git

  • Init: дадзеная каманда стварае новы рэпазітар.

Прыклад выкарыстання: init імя праекта.

  • Clone. Вырабляе капіраванне існуючага рэпазітара з выдаленага крыніцы.

Вось так выкарыстоўваецца каманда git clone: clone git: //github.com/путь да рэпазітара.

  • Add. Найбольш часта выкарыстоўваная каманда ў сістэме кантролю версій Git. Яна выконвае простую задачу - дадае названыя файлы ў адмысловую вобласць, якая называецца індэксам або сцэнай. У яе можна перанесці некалькі файлаў або тэчак, якія неабходна будзе пасля дадаць у рэпазітар або, выяўляючыся на мове Git, «закамьміціў».

Прыклад выкарыстання гэтай Git каманды выглядае так: add некий_файл.txt.

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

  • Diff. Паказвае розніцу станаў. Напрыклад, з дапамогай гэтай Git каманды можна вызначыць, ці ёсць змены паміж тэчкай з праектам і індэксам.
  • Commit. Выконвае захаванне злепка усяго таго, што было ў індэксе непасрэдна ў базу дадзеных. У выніку працы Git каманды на экране адлюструецца тэкставы файл, у якім можна паказаць, якія менавіта змены былі зроблены. А таксама будзе выведзена інфармацыя аб тым, колькі файлаў падвергліся камітаў, і яго кантрольная сума. Галоўнае - не забываць пра тое, што пасля змены ў базу патрапяць толькі тыя дадзеныя, якія былі занесены ў індэкс камандай git add.

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

  • Reset. Пра функцыі гэтай каманды кажа яе назва. Яна проста выкідвае з адмысловай прамежкавай вобласці - індэкса, правераны файл, змешчаны туды па выпадковасці. Варта асцярожна звяртацца з reset пры выкарыстанні каманды з ключом - - hard, так як гэта закране і файлы ў рабочай папцы, што можа прывесці да непрадбачаных наступстваў.
  • Rm. Найбольш дакладна гэтую каманду можна апісаць як зваротную git add, так як яна выдаляе файлы з індэкса. Праўда, пры гэтым яшчэ і з рабочай тэчкі.

Прыклад выкарыстання: git rm некий_файл.txt.

  • Mv. Служыць для перамяшчэння файла.
  • Clean. Прызначана для ачысткі тэчкі праекта ад непатрэбных файлаў.

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

Праца з галінкамі рэпазітароў у Git

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

  • Branch. У гэтай каманды маецца ў наяўнасці некалькі ключоў, выкарыстоўваючы якія можна гнутка кіраваць галінкамі ў праекце. Branch ўяўляе сабой нейкі шматпрофільны інструмент для паўнавартаснага кантролю за станам рэпазітара. Просты выклік git branch выдасць пералік ўсіх наяўных галінак сховішчы. Ключ -v даданыя да каманды адлюструе якія камітаў былі зафіксаваныя за апошні час. А выкарыстанне -d прывядзе да выдалення названай галіны. Branch ўмее не толькі выдаляць, але і ствараць. Выкананне git branch имя_ветки прывядзе да арганізацыі новай галінкі ў праекце. Варта ўлічыць, што пры гэтым паказальнік бягучага працоўнага становішча бывае іншым. Да прыкладу, стварыўшы имя_ветки, можна на самой справе знаходзіцца ў галінцы master.
  • Каб перамясціцца ў патрэбны пункт, існуе каманда Git checkout нужная_ветка, якая пераставіць паказальнік ў неабходную галінку.
  • Checkout. Як ужо гаварылася вышэй, выконвае пераключэнне.
  • Merge. Дадзеная каманда дазваляе вырабляць зліццё некалькіх галінак разам.
  • Log. Функцыя адлюстроўвае ўсе змены ад пачатку праекта і да апошняга камітаў. Выкарыстанне разнастайных ключоў сумесна з выклікам каманды дазваляе пашырыць яе функцыянал. Напрыклад, выклік git log -p -2 дазволіць прагледзець падрабязную інфармацыю пра змены ў кожным комм. Другі ключ -2 кажа пра тое, што трэба паказаць толькі 2 апошніх змены. Аргумент --stat, дададзены да выкліку git log, выканае практычна тое ж самае, што і -р, але ў больш падрабязнай і пры гэтым кампактнай форме. Таксама з дапамогай git log можна выводзіць інфармацыю пра змены, стварыўшы ўласны фармат адлюстравання, выкарыстоўваючы опцыі format ключа pretty. Для надання адмысловага выгляду трэба выкарыстоўваць нейкае падабенства рэгулярных выразаў. Напрыклад, такая запіс get log --pretty = format ''% h,% an,% ar,% s '' выведзе кароткі хэш камітаў, затым яго аўтара, дату і каментар змены. Гэта вельмі зручна выкарыстоўваць пры праглядзе вялікай колькасці камітаў.

Каманды для размеркаванай працы ў сістэме

  • Fetch. Пры ўводзе дадзенай каманды git кансоль выканае перанос усіх змен з аддаленага сховішчы ў лакальнае.
  • Pull. Каманда git pull ўяўляе сабой сімбіёз двух пералічаных вышэй - git fetch і git merge. Гэта значыць, яна спачатку атрымлівае звесткі з выдаленага рэпазітара, а затым выконвае зліццё з выкарыстоўвальнай у дадзены момант галінкай.
  • Push. Менавіта ад назвы гэтай каманды ў асяроддзі карыстальнікаў з'явілася выраз «запушить», што азначае злучэнне з выдаленым рэпазітаром і перадачу туды змяненняў з лакальнага.

Каманды аддаленага кіравання

  • Remote. Ўяўляе сабой магутны інструмент для кіравання аддаленымі рэпазітарамі. З дапамогай remote іх можна выдаляць, праглядаць, перамяшчаць або жа ствараць новыя.
  • Archive. Назва гаворыць сама за сябе. Каманда дазваляе ствараць архіў з патрэбнымі зменамі, напрыклад, для падрыхтоўкі да перадачы яго па Сеткі.

Як выкарыстоўваць дадзеную шпаргалку

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

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.birmiss.com. Theme powered by WordPress.