Page cover image

πŸ““GIT

Git - основныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

git init

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий, эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ слСдуСт ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ….

git add

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ измСнСния ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² Ρ€Π°Π·Π΄Π΅Π» проиндСксированных Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ снимок состояния, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ.

git branch

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° выступаСт ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ инструмСнтом администрирования Π²Π΅Ρ‚ΠΎΠΊ. Π‘ Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

git checkout

Π‘ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git checkout ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ старыС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈ ΠΏΡ€Π΅ΠΆΠ½ΠΈΠ΅ вСрсии Ρ„Π°ΠΉΠ»ΠΎΠ², Π½ΠΎ ΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π²Π΅Ρ‚ΠΊΠ°ΠΌ. Π’ сочСтании с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Git ΠΎΠ½Π° позволяСт ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

git clean

УдаляСт нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. Π­Ρ‚ΠΎ логичСский Π°Π½Π°Π»ΠΎΠ³ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git reset, которая (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ) Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с отслСТиваСмыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.

git clone

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ рСпозитория Git. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” самый распространСнный способ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория.

git commit -m "add css"

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ проиндСксированный снимок состояния ΠΈ выполняСт Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² сочСтании с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git add опрСдСляСт классичСский Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс для всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Git.

git commit --amend

Команда git commit с Ρ„Π»Π°Π³ΠΎΠΌ --amend позволяСт внСсти измСнСния Π² послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚. Она ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ, Ссли Π²Ρ‹ Π·Π°Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π»ΠΈ Π²Π°ΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ.

git config

Π£Π΄ΠΎΠ±Π½Ρ‹ΠΉ способ для настройки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² инсталляции Git. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ сразу послС установки Git Π½Π° Π½ΠΎΠ²ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

git fetch

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ извлСчСния ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ рСпозитория вмСстС со всСми связанными с Π½Π΅ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ ΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡ€ΠΈ этом измСнСния Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Благодаря этому Π²Ρ‹ смоТСтС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ измСнСния ΠΏΠ΅Ρ€Π΅Π΄ слияниСм с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

git log

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² форматирования, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ снимки состояния послС выполнСния ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

git merge

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ способ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Ρ€Π°Π·ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ…ΡΡ Π²Π΅Ρ‚ΠΎΠΊ. ПослС развСтвлСния истории ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git branch ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git merge, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ.

git pull

Команда git pull β€” это автоматизированная вСрсия ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git fetch. Она Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π²Π΅Ρ‚ΠΊΡƒ ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория ΠΈ сразу ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π΅Π΅ с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° прСдставляСт собой git-эквивалСнт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ svn update.

git push

Команда git push ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅ извлСчСния (с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ). Π‘ Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ пСрСнСсти Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΠΈΠΉ ΠΊΠΎΠ΄. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° svn commit с Ρ‚Π΅ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° отправляСт Π½Π΅ ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π° ΡΠ΅Ρ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

git rebase

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ пСрСбазирования ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² слияния. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ.

git reflog

Git отслСТиваСт измСнСния Π² ΠΊΠΎΠ½Ρ†Π΅ Π²Π΅Ρ‚ΠΎΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² ссылок (reflog). Он позволяСт Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π½Π°Π±ΠΎΡ€Π°ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π΄Π°ΠΆΠ΅ Ссли Π½Π° Π½ΠΈΡ… Π½Π΅ ссылаСтся никакая Π²Π΅Ρ‚ΠΊΠ° ΠΈΠ»ΠΈ Ρ‚Π΅Π³.

git remote

Π£Π΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт для администрирования ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ вмСсто ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ URL-адрСса Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… fetch, pull ΠΈ push ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ сокращСниС.

git reset

ΠžΡ‚ΠΌΠ΅Π½ΡΠ΅Ρ‚ измСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ… Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° сброса позволяСт ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

git revert

ΠžΡ‚ΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ снимка состояния. Если Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈ бСзопасно ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· Π±Π°Π·Ρ‹ ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git revert.

git status

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ состояниС Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈ проиндСксированного снимка состояния. Π­Ρ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π² сочСтании с git add ΠΈ git commit, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ снимок.

Last updated