Гэта паведамленне - падшыўка Git з найбольш распаўсюджанымі камандамі Git, якія вы, верагодна, будзеце выкарыстоўваць штодня.
Калі вы тэхнічны выпрабавальнік, які працуе разам з распрацоўшчыкамі, вы павінны быць знаёмыя з асноўнымі камандамі Git.
Гэты пост утрымлівае дастатковую колькасць ведаў Git, каб вы маглі штодзённа праводзіць кантроль якасці.
Калі вы не ўсталявалі Git на сваёй машыне, вы можаце выканаць інструкцыі ў Як усталяваць Git на Mac і стварыць ключы SSH .
Стварыце пустое Git-рэпа альбо паўторна ініцыялізуйце ўжо існуючае
$ git init
Клонуйце рэпазітар foo у новы каталог пад назвай foo:
$ git clone https://github.com//foo.git foo
Калі вы хочаце папрацаваць над новай функцыяй, вы звычайна ствараеце новую галіну ў Git. Такім чынам, вы звычайна хочаце пазбягаць галоўнай галіны і працаваць над уласнымі галінамі функцый, каб майстар заўсёды быў чысты, і вы маглі ствараць новыя галіны з яго.
Каб стварыць новую галіну, выкарыстоўвайце:
$ git checkout -b
Калі вы хочаце ведаць, якія галіны ёсць у вашым працоўным каталогу, выкарыстоўвайце:
$ git branch
Прыклад вываду:
develop my_feature master
Пры стварэнні новай галіны Git аўтаматычна пераключаецца на новую галіну.
Калі ў вас некалькі аддзяленняў, вы можаце лёгка пераключацца паміж аддзяленнямі з дапамогай git checkout:
$ git checkout master $ git checkout develop $ git checkout my_feature
Каб выдаліць лакальнае аддзяленне:
$ git branch -d
Выкарыстоўвайце -D
варыянт сцяга, каб прымусіць яго.
Каб выдаліць аддаленую галіну па паходжанні:
$ git push origin :
Звязаныя:
Каб этап файл проста падрыхтаваць яго да фіксацыі. Калі вы дадаеце альбо змяняеце некаторыя файлы, вам трэба змяніць гэтыя змены ў 'пастановачную вобласць'. Падумайце пра пастаноўку як пра скрынку, куды вы кладзеце рэчы, перш чым засунуць яе пад ложак, дзе ваша ложак - сховішча скрынак, якія вы раней запіхвалі.
Для пастаноўкі альбо простага дадання файлаў трэба выкарыстоўваць каманду git add. Вы можаце арганізаваць асобныя файлы:
$ git add foo.js
альбо ўсе файлы адначасова:
$ git add .
Калі вы хочаце выдаліць пэўны файл са сцэны:
$ git reset HEAD foo.js
Або выдаліце ўсе паэтапныя файлы:
$ git reset HEAD .
Вы таксама можаце стварыць псеўданім для каманды, а затым выкарыстоўваць яго з Git:
$ git config --global alias.unstage 'reset HEAD' $ git unstage .
Калі вы хочаце ўбачыць, якія файлы былі створаны, зменены або выдалены, статус Git пакажа вам справаздачу.
$ git status
Гэта добрая практыка, каб часта здзяйсняць. Вы заўсёды можаце раздушыць свае здзяйсненні перад націскам. Перад тым, як унесці змены, вам трэба іх паэтапна.
Каманда фіксацыі патрабуе параметр -m, які вызначае паведамленне фіксацыі.
Вы можаце ўнесці змены, напрыклад:
$ git commit -m 'Updated README'
Наступная каманда адменіць вашу апошнюю фіксацыю і ўвядзе гэтыя змены ў пастаноўку, каб вы не страцілі ніякай працы:
$ git reset --soft HEAD~1
Каб цалкам выдаліць фіксацыю і адкінуць любыя змены, выкарыстоўвайце:
$ git reset --hard HEAD~1
Скажам, у вас ёсць 4 фіксацыі, але вы яшчэ нічога не націснулі, і вы хочаце змясціць усё ў адзін фіксат, тады вы можаце выкарыстоўваць:
$ git rebase -i HEAD~4
HEAD~4
адносіцца да апошніх чатырох здзяйсненняў.
-i
Опцыя адкрывае інтэрактыўны тэкставы файл.
Вы ўбачыце слова 'выбраць' злева ад кожнай фіксацыі. Пакіньце адзін уверсе ў спакоі, а ўсе астатнія заменіце 's' для сквоша, захавайце і зачыніце файл.
Затым адкрыецца іншае інтэрактыўнае акно, дзе вы можаце абнавіць паведамленні пра здзяйсненне ў адно новае паведамленне аб здзяйсненні.
Пасля таго, як вы ўнясіце змены, наступнае - націснуць на аддалены рэпазітар.
Упершыню націсніце мясцовае аддзяленне:
$ git push --set-upstream origin
Пасля гэтага вы можаце проста выкарыстоўваць
$ git push
Каб перанесці лакальную галіну ў іншую аддаленую галіну, вы можаце выкарыстоўваць:
$ git push origin :
Калі вам трэба адмяніць апошні штуршок, вы можаце выкарыстоўваць:
$ git reset --hard HEAD~1 && git push -f origin master
Калі вы выкарыстоўваеце git fetch
, Git не аб'ядноўвае іншыя здзяйсняе іх з вашай бягучай галіной. Гэта асабліва карысна, калі вам трэба падтрымліваць рэпазітар актуальным, але вы працуеце над чымсьці, што можа сапсавацца пры абнаўленні файлаў.
Каб інтэграваць здзяйсненні ў галоўную галіну, вы выкарыстоўваеце merge
.
$ git fetch upstream
Выцягванне - гэта проста выбарка з наступным зліццём. Калі вы выкарыстоўваеце git pull
, Git аўтаматычна аб'ядноўвае іншыя каміты, не дазваляючы вам праглядзець іх спачатку. Калі вы дрэнна кіруеце сваімі філіяламі, вы можаце часта сутыкацца з канфліктамі.
Калі ў вас ёсць філіял my_feature
і вы хочаце выцягнуць гэтую галінку, вы можаце выкарыстоўваць:
$ git pull origin/my_feature
Ці, калі вы хочаце выцягнуць усё і ўсе астатнія галіны
$ git pull
Пры запуску git merge
ваша галіна HEAD генеруе новы здзяйсняць , захоўваючы родапачынанне кожнай гісторыі здзяйснення.
перабраць перапісвае змены адной галіны ў другую без стварэнне новага здзяйснення.
$ git checkout my_feature $ git merge master
Або з магчымасцю перабазіраваць, вы выкарыстоўваеце:
$ git checkout my_feature $ git rebase master
$ git checkout master $ git merge my_feature
Часам вы ўносіце змены ў галінку і хочаце пераключыцца на іншую галіну, але не хочаце страціць змены.
Вы можаце схаваць змены. Вось як вы робіце захоўванне ў Git:
$ git stash
Цяпер, калі вы хочаце выдаліць гэтыя змены і вярнуць іх у свой працоўны каталог, выкарыстоўвайце:
$ git stash pop