push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Git для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π£Ρ€ΠΎΠΊ 6.
git push ΠΈ git pull

Π’ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊ

ΠšΠΎΠ½ΡΠΏΠ΅ΠΊΡ‚ ΡƒΡ€ΠΎΠΊΠ°

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ содСрТаниС ΡƒΡ€ΠΎΠΊΠ°, основныС инструкции для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки ΠΈ совСты.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ создавали Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° github ΠΈ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…. ПослС этого ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, Π½Π° своСй машинС. БСгодня ΠΌΡ‹ рассмотрим взаимодСйствиС с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ push (ΠΏΡƒΡˆ)

Π—Π°Ρ‡Π΅ΠΌ ΠΏΡƒΡˆΠΈΡ‚ΡŒ Π½Π° сСрвСр

Когда ΠΏΡƒΡˆΠΈΡ‚ΡŒ Π½Π° сСрвСр

Когда сдСлали Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠ»ΠΈ нСсколько ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅Π·Π°ΠΏΡƒΡˆΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹

Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Π½Π°Π±Ρ€Π°Ρ‚ΡŒ git status

ΠšΠ»ΡŽΡ‡Π΅Π²Π°Ρ Ρ„Ρ€Π°Π·Π° здСсь «Your branch is ahead of ‘origin/master’ by 5 commits.». Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ 5 Π½Π΅ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° сСрвСр ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². Если Π½Π΅Π·Π°ΠΏΡƒΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ такая

«is up-to-date» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρƒ нас Π½Π΅Ρ‚ Π½Π΅Π·Π°ΠΏΡƒΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

master ΠΈ origin/master

git push Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅

Как ΠΏΡƒΡˆΠΈΡ‚ΡŒ Π² PhpStorm

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ pull (ΠΏΡƒΠ»Π»)

Π­Ρ‚ΠΎ скачиваниС Π΄Π°Π½Π½Ρ‹Ρ… с сСрвСра. ΠŸΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСпозитория, Π½ΠΎ с Ρ‚ΠΎΠΉ Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, Ρ‡Ρ‚ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π΅ всС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΠΎΠ²Ρ‹Π΅.

Π—Π°Ρ‡Π΅ΠΌ ΠΏΡƒΠ»ΠΈΡ‚ΡŒΡΡ с сСрвСра

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ измСнСния ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… ΠΊΠΎΠ»Π»Π΅Π³. Или ΠΎΡ‚ сСбя самого, Ссли Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…

git pull Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅

Как ΠΏΡƒΠ»ΠΈΡ‚ΡŒ Π² PhpStorm

Когда Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ.

Иногда ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git push ΠΈ git pull ΠΌΠΎΠ³ΡƒΡ‚ вСсти сСбя Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΈΡˆΡƒΡ‚ Π² ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ°Ρ…. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

git push rejected

Π’Ρ‹ сдСлали Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π° git Π² ΠΎΡ‚Π²Π΅Ρ‚ Π²Ρ‹Π΄Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ΅

Написано ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΡΡƒΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½, ΠΏΡƒΡˆ Π½Π΅ ΠΏΡ€ΠΎΡˆΠ΅Π». ΠŸΠΎΡ‡Π΅ΠΌΡƒ?

Git устроСн Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ локально ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Но ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ свои ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π½Π° сСрвСр, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡŒ, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ‚ΡΠ½ΡƒΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ с сСрвСра. Π’Π΅ самыС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ успСли ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ наши ΠΊΠΎΠ»Π»Π΅Π³ΠΈ. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ git pull.

ВсС, наши ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π½Π° сСрвСрС. ΠŸΡ€ΠΈ этом появится странный ΠΊΠΎΠΌΠΌΠΈΡ‚ «Merge branch ‘master’ of github.com:Webdevkin/site-git». Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ€Π΄ΠΆ-ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΎ Π½Π΅ΠΌ Ρ‡ΡƒΡ‚ΡŒ Π½ΠΈΠΆΠ΅.

Если ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΏΡƒΡˆΠ° Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π½Π° сСрвСрС Π½Π΅Ρ‚, Ρ‚ΠΎ git push ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ сразу ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ наши ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π½Π° сСрвСр.

Как ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΠΌΠ΅Ρ€Π΄ΠΆ-ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

ΠœΠ΅Ρ€Π΄ΠΆ-ΠΊΠΎΠΌΠΌΠΈΡ‚ появляСтся, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ сдСлали Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π° послС этого подтянули Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ с сСрвСра. ΠœΠ΅Ρ€Π΄ΠΆ-ΠΊΠΎΠΌΠΌΠΈΡ‚ Π½Π΅ нСсСт смысловой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ самого Ρ„Π°ΠΊΡ‚Π° ΠΌΠ΅Ρ€Π΄ΠΆΠ°. Π‘Π΅Π· Π½Π΅Π³ΠΎ история ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² выглядит Ρ‡ΠΈΡ‰Π΅.

ΠŸΡ€ΠΈ этом ваш Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ окаТСтся «ΠΏΠΎΠ²Π΅Ρ€Ρ…» Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° с сСрвСра, Π° ΠΌΠ΅Ρ€Π΄ΠΆ-ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. И Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ послС этого Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡŒ свой ΠΊΠΎΠΌΠΌΠΈΡ‚ Π½Π° сСрвСр.

ΠœΠ΅Ρ€Π΄ΠΆ-ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² PhpStorm

PhpStorm ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΠΌΠ΅Ρ€Π΄ΠΆ-ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· мСньшСС количСство дСйствий. Если ΠΌΡ‹ Π·Π°ΠΏΡƒΡˆΠΈΠΌ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ rejected ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° сСрвСрС Π΅ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Ρ‚ΠΎ PhpStorm выдаст ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π³Π΄Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚: ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Ρ‚ΡΠ½ΡƒΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, с ΠΌΠ΅Ρ€ΠΆΠ΄Π΅ΠΌ ΠΈΠ»ΠΈ Ρ€Π΅Π±Π΅ΠΉΠ·ΠΎΠΌ. Π–ΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Rebase», ΠΌΠ΅Ρ€Π΄ΠΆ-ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈ ΠΏΡ€ΠΈ этом Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ сразу Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡΡ Π½Π° сСрвСр.

Π§Ρ‚ΠΎ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΡΠΎΠ²Π΅Ρ‚ΠΎΠ²Π°Ρ‚ΡŒ

Если ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π² ΠΎΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΡƒ, Ρ‚ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для сохранСния Ρ€Π΅Π·Π΅Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π² Π½Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡƒΡˆΠΈΡ‚ΡŒ.

Но ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π½Π°Π΄ Ρ‚Π°ΠΊΠΈΠΌΠΈ Π²Π΅Ρ‰Π°ΠΌΠΈ:

НС ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅, Ссли ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сСбя, ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ·ΡŒΡ Π½ΠΈΠΆΠ΅. Π­Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎΠ²Ρ‹ΠΉ инструмСнт Π½Π΅ осваиваСтся Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚. НСмного ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, ΠΈ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠ½ΠΎΠ³Π΄Π° git Π²Π΅Π΄Π΅Ρ‚ сСбя Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ хочСтся, ΠΈ Π³Π»Π°Π²Π½ΠΎΠ΅, Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.

push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ. Π’Π°ΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git push ΠΈ git pull, ΠΈ это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π».

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π“ΠΈΡ‚-словарик для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… программистов

ΠœΡ‘Ρ€ΠΆΠΈΠΌ Π±Ρ€Π°Π½Ρ‡ΠΈ ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠΌ рСквСсты

ΠœΡ‹ часто ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ Git β€” способ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ хранСния ΠΈ контроля вСрсий Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. БСгодня расскаТСм ΠΎ странных словах: Β«Π±Ρ€Π°Π½Ρ‡Β», Β«ΠΊΠΎΠΌΠΌΠΈΡ‚Β», Β«ΠΏΡƒΠ»Π»-рСквСст» ΠΈ ΠΎΠ± ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… понятиях Π² Π³ΠΈΡ‚Π΅.

О Ρ‡Ρ‘ΠΌ Ρ€Π΅Ρ‡ΡŒ

Π“ΠΈΡ‚ β€” это Ρ‚Π°ΠΊΠΎΠΉ способ хранСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΈΡ… вСрсий. Π“ΠΈΡ‚ позволяСт ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ дополнСния ΠΈ ΠΊΠΎΠ³Π΄Π° вносил, ΠΊΠ°ΠΊ развивался ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Π² Π½Π΅Π³ΠΎ добавлял ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ.

Главная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π³ΠΈΡ‚Π° β€” ΠΎΠ½ ΠΏΠΎΠΌΠ½ΠΈΡ‚ всё, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π² Π½Π΅Π³ΠΎ внСсли, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ строчки Π²Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ нСсколько Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄, ΠΊΠΎΠ³Π΄Π° Ρ‡ΠΈΠ½ΠΈΠ»ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

На Π±Π°Π·Π΅ Π³ΠΈΡ‚Π° Π΅ΡΡ‚ΡŒ сСрвис Β«Π“ΠΈΡ‚Ρ…Π°Π±Β». Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ:

Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ пилят совмСстный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ своим Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ своим куском ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π’ΡΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π°Π²Ρ‚ΠΎΡ€Ρ‹ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ собой: Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ ситуации, Ρ‡Ρ‚ΠΎ Π΄Π²Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ», Π° ΠΏΠΎΡ‚ΠΎΠΌ Π·Π°Ρ‚ΠΈΡ€Π°ΡŽΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°, сами Ρ‚ΠΎΠ³ΠΎ Π½Π΅ зная.

Π­Ρ‚ΠΎ Ссли Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄ΡƒΡ‚ подробности.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (git repository)

Π“ΠΈΡ‚-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ β€” это ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° сСрвСрС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° сСрвСрС Π“ΠΈΡ‚Ρ…Π°Π±Π°, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ).

Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ программиста ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π², ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. А ΠΌΠΎΠΆΠ½ΠΎ вСсти всС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π° это прСвратится Π² ΠΌΠ΅ΡˆΠ°Π½ΠΈΠ½Ρƒ. Но ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΎ Π½Π° ΠΌΠ΅ΡˆΠ°Π½ΠΈΠ½Ρƒ.

Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ:

push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Ρ€Π°Π½Ρ‡ (git branch)

Π‘Ρ€Π°Π½Ρ‡ β€” это Π²Π΅Ρ‚ΠΊΠ° ΠΈΠ»ΠΈ копия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ измСнСния ΠΈ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΡŽΡ‚ Π½Π° основной ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π’ Π³ΠΈΡ‚-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ всСгда Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄ΠΈΠ½ Π±Ρ€Π°Π½Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся master. Если Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ, Ρ‚ΠΎ всС измСнСния Π±ΡƒΠ΄ΡƒΡ‚ сразу ΠΈΠ΄Ρ‚ΠΈ Π² Π³Π»Π°Π²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Для ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΈΠ»ΠΈ ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² это Ρ‚Π΅Ρ€ΠΏΠΈΠΌΠΎ, Π½ΠΎ Π² любом коммСрчСском ΠΊΠΎΠ΄Π΅ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΈΠ½Π°Ρ‡Π΅: ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π²Π΅Ρ‚ΠΊΠΈ.

Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Π΅Ρ‚ΠΊΠ° master ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для выпуска Π½ΠΎΠ²Ρ‹Ρ… вСрсий ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ доступны всСм. Π’ΠΎ, Ρ‡Ρ‚ΠΎ добавляСтся Π² мастСр-Π±Ρ€Π°Π½Ρ‡, сразу становится доступно ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.

Но ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Ρ‚Π°ΠΊΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ: ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ запустили сайт для Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° ΠΈ ΠΎΠ½ срочно Ρ…ΠΎΡ‡Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» со скидками. МоТно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ: ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Β«ΠΏΠΎ ΠΆΠΈΠ²ΠΎΠΌΡƒΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ сразу Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. А ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· мастСра ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ news ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ Π² Π½Π΅ΠΉ (ΠΈ это ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ„ΠΎΡ€ΠΊ). Π’ этом случаС ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΏΠΎΠ»Π½ΡƒΡŽ копию ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ ΠΎΠ½ΠΈ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΡŽΡ‚ Π½Π° Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ сайт. ΠœΡ‹ Π² этой Π²Π΅Ρ‚ΠΊΠ΅ ΠΏΠΈΠ»ΠΈΠΌ всё, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π΅ΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° сСкрСтном сайтС, Π° ΠΏΠΎΡ‚ΠΎΠΌ объСдиняСм Π΅Ρ‘ с мастСром. Π­Ρ‚ΠΎ называСтся Β«ΡΠΌΡ‘Ρ€ΠΆΠΈΡ‚ΡŒ Π±Ρ€Π°Π½Ρ‡ΠΈΒ».

push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (git clone)

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ сСбС Π½Π° Тёсткий диск. Π­Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π² Π½Ρ‘ΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ.

Π§Π΅ΠΌ это отличаСтся ΠΎΡ‚ простого копирования: ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, вмСстС с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ тянСтС всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ вСрсий, всС Π²Π΅Ρ‚ΠΊΠΈ, всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹. И Ссли ΠΊΡ‚ΠΎ-Ρ‚ΠΎ дальшС Π±ΡƒΠ΄Π΅Ρ‚ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, благодаря этим Π΄Π°Π½Π½Ρ‹ΠΌ Π²Ρ‹ смоТСтС Ρ‚ΠΎΠΆΠ΅ ΠΈΡ… ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ.

А Ссли просто ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ с Ρ‡ΡƒΠΆΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… историй ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… связСй Π½Π΅ сохранится. Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹.

push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Β«ΡΠΌΡ‘Ρ€ΠΆΠΈΡ‚ΡŒΒ» (git merge)

Π‘ΠΌΡ‘Ρ€ΠΆΠΈΡ‚ΡŒ (ΠΎΡ‚ Π°Π½Π³Π». merge β€” ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ, ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ) β€” это ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ отправляСм всё, Ρ‡Ρ‚ΠΎ сдСлали Π² ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅, Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ. Π’Π΅ΡΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄, исправлСния ошибок, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” всё это отправится Π² Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Если ΠΆΠ΅ ΠΌΡ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡƒΠ΄Π°Π»ΠΈΠΌ Π² ΠΊΠΎΠ΄Π΅, Ρ‚ΠΎ ΠΏΡ€ΠΈ объСдинСнии этот Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Ρ‚ΠΎΠΆΠ΅ удалится ΠΈΠ· основной Π²Π΅Ρ‚ΠΊΠΈ.

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ схСма Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ (git commit)

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ β€” ΠΏΡ€ΠΎΡ‰Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ сСбС Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ вСсь ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° своСй машинС. Но Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π°Π²ΠΊΠΈ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅, ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚.

ΠšΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ», ΠΈ сразу нСсколько. БистСма сама Π½Π°ΠΉΠ΄Ρ‘Ρ‚, Ρ‡Ρ‚ΠΎ измСнилось Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ эти измСнСния Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Но всС эти ΠΏΡ€Π°Π²ΠΊΠΈ внСсутся Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ сразу всС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π² список Ρ„Π°ΠΉΠ»Ρ‹.

НапримСр, Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» Π³Π»Π°Π²Π½ΠΎΠΉ страницы index.html ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π² список Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° сСрвСр, Π° ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ‰Ρ‘ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сразу style.css ΠΈ внСсти Π² этот ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚. БистСмС всё Ρ€Π°Π²Π½ΠΎ, сколько Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ, поэтому ΠΊΠ°ΠΊ ΠΈ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ β€” Ρ€Π΅ΡˆΠ°Π΅Ρ‚ программист.

ЕдинствСнноС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌ β€” ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹ помСняли Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, чСловСчСским языком. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΌ Ρ‚ΠΎΠ½ΠΎΠΌ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ считаСтся ΠΏΠΈΡΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ: Β«Π”ΠΎΠ±Π°Π²ΠΈΠ» Ρ†Π²Π΅Ρ‚ ΠΈ стили основной ΠΊΠ½ΠΎΠΏΠΊΠΈΒ», Β«Π£Π±Ρ€Π°Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹Π·ΠΎΠ²Π° старого APIΒ», Β«Π‘Π΄Π΅Π»Π°Π»ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SetOutOfDate()Β». Π­Ρ‚ΠΎ описаниС Π±ΡƒΠ΄ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ.

ΠšΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ…ΠΎΡ‚ΡŒ послС ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строчки β€” вСсь вопрос Π² Ρ‚ΠΎΠΌ, насколько Π½ΡƒΠΆΠ½Π° такая дСтализация Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Но ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ измСнСния ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ строчки ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ, Ссли ΠΎΠ½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅.

push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡƒΡˆ- ΠΈ ΠΏΡƒΠ»Π»-рСквСсты (git push, git pull)

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· своСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° сСрвСр, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΡƒΡˆ-рСквСсты. Для этого программист ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ имя Π²Π΅Ρ‚ΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ свой ΠΊΠΎΠ΄, Π° сСрвСр ΠΈΡ… ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚, провСряСт ΠΈ добавляСт ΠΊ сСбС.

Иногда Π±Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ сСрвСр ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π² ΠΏΡƒΡˆ-рСквСстах, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρƒ программиста Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π±Ρ‹Π»Π° Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Π²Π΅Ρ‚ΠΊΠ°. Π—Π° Ρ‚ΠΎ врСмя, ΠΏΠΎΠΊΠ° ΠΎΠ½ писал свои ΠΏΡ€Π°Π²ΠΊΠΈ, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ программисты сдСлали нСсколько ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ»ΠΈ ΠΈΡ… Ρƒ сСбя ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ Π½Π° сСрвСр. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΎΠ΄Π½ΠΈΡ… эта Π²Π΅Ρ‚ΠΊΠ° ΠΎΡΡ‚Π°Π»Π°ΡΡŒ свСТСй ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ, Π° Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ½Π° устарСла. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΡƒΡˆ-рСквСсты ΠΈΠ· ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ, Π³ΠΈΡ‚Ρ…Π°Π± просит сначала ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρƒ сСбя Π½Π° ΠΊΠΎΠΌΡŒΡŽΡ‚Π΅Ρ€Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡƒΠ»Π»-рСквСста.

ΠŸΡƒΠ»Π»-рСквСст Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ просто: ΠΎΠ½ скачиваСт с сСрвСра Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ добавляСт ΠΊΠΎΠ΄ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° Π²Π°ΠΌ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Иногда этот ΠΊΠΎΠ΄ вступаСт Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ΅ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ успСл ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ программист, ΠΈ Ρ‚ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ β€” Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, какая вСрсия ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° останСтся Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π° Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ.

push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π§Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ отличаСтся ΠΎΡ‚ ΠΏΡƒΡˆ-рСквСста

ΠšΠΎΠΌΠΌΠΈΡ‚ β€” это ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ фиксируСтС измСнСния Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΊΠ°ΠΊ Π±Ρ‹ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈΡ‚ΠΎΠ³ своСй Ρ€Π°Π±ΠΎΡ‚Π΅.

ΠŸΡƒΡˆ β€” это ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ отправляСтС ΡΠ΄Π΅Π»Π°Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ‚ΡƒΠ΄Π°, Π³Π΄Π΅ хранится копия вашСго ΠΊΠΎΠ΄Π°.

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий такая:

Π§Ρ‚ΠΎ дальшС

Π§Ρ‚ΠΎΠ±Ρ‹ всС эти Π±Ρ€Π°Π½Ρ‡ΠΈ ΠΈ рСквСсты стали понятнСС, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π· сдСлаСм Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ: Π·Π°Π²Π΅Π΄Ρ‘ΠΌ ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° Π“ΠΈΡ‚Ρ…Π°Π±Π΅ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°ΡŽΡ‚ настоящиС программисты.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π― ΡΠ»Ρ‹ΡˆΠ°Π», Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° этот вопрос Π½Π° собСсСдовании Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… компаниях являСтся ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅ΠΌ прохоТдСния собСсСдования Π½Π° ΡΠ΅Π½ΡŒΠΎΡ€ΡΠΊΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Но Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π½Π΅Π³ΠΎ, Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΠ»ΠΎΡ…ΠΎ пСрСписываниС истории?

Для этого, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π½Π°ΠΌ понадобится быстрый экскурс Π² Ρ„ΠΈΠ·ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ структуру git-рСпозитория. Если Π²Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ Π·Π½Π°Π΅Ρ‚Π΅ ΠΎΠ± устройствС Ρ€Π΅ΠΏΠΎ всё, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ эту Ρ‡Π°ΡΡ‚ΡŒ, Π½ΠΎ Π΄Π°ΠΆΠ΅ я Π² процСссС выяснСния ΡƒΠ·Π½Π°Π» для сСбя довольно ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ, Π° ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ староС оказалось Π½Π΅ Π²ΠΏΠΎΠ»Π½Π΅ Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½Ρ‹ΠΌ.

На самом Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ git-Ρ€Π΅ΠΏΠΎ прСдставляСт собой Π½Π°Π±ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Π½ΠΈΡ…. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ свой ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ 40-Π·Π½Π°Ρ‡Π½Ρ‹ΠΉ Ρ…ΡΡˆ (20 Π±Π°ΠΉΡ‚, записанныС Π² 16-Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмС), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вычисляСтся Π½Π° основС содСрТимого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² β€” это blob (просто содСрТимоС Ρ„Π°ΠΉΠ»Π°), tree (Π½Π°Π±ΠΎΡ€ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° blobs ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ trees) ΠΈ commit. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° commit прСдставляСт собой Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° tree, Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈ ΡΠ»ΡƒΠΆΠ΅Π±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ: Π΄Π°Ρ‚Π°/врСмя, Π°Π²Ρ‚ΠΎΡ€ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ.

Π“Π΄Π΅ здСсь Π²Π΅Ρ‚ΠΊΠΈ ΠΈ тэги, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ? А ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ просто указатСлями: Π²Π΅Ρ‚ΠΊΠ° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Π½Π΅ΠΉ, тэг β€” Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Ρ€Π΅ΠΏΠΎ. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π² IDE ΠΈΠ»ΠΈ GUI-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π²ΠΈΠ΄ΠΈΠΌ красиво нарисованныС Π²Π΅Ρ‚ΠΎΡ‡ΠΊΠΈ с ΠΊΡ€ΡƒΠΆΠΎΡ‡ΠΊΠ°ΠΌΠΈ-ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ Π½Π° Π½ΠΈΡ… β€” ΠΎΠ½ΠΈ строятся Π½Π° Π»Π΅Ρ‚Ρƒ, пробСгая ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΎΡ‚ ΠΊΠΎΠ½Ρ†ΠΎΠ² Π²Π΅Ρ‚ΠΎΠΊ Π²Π½ΠΈΠ· ΠΊ Β«ΠΊΠΎΡ€Π½ΡŽΒ». Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Ρ€Π΅ΠΏΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ, вмСсто указатСля Ρ‚Π°ΠΌ null.

Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ пСрСписываниС истории рСпозитория Π²Ρ€Π΅Π΄Π½ΠΎ?

push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π˜Ρ‚Π°ΠΊ, развСяв опасСния ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ истории рСпозитория, ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π³Π»Π°Π²Π½ΠΎΠΌΡƒ вопросу: Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ?

Но это Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ случай. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π±ΠΎΠ»Π΅Π΅ интСрСсныС.

Допустим, Π²Ρ‹ сдСлали Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ„ΠΈΡ‡Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΈΠ»ΠΈΠ»ΠΈ нСсколько Π΄Π½Π΅ΠΉ, отсылая Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° сСрвСрС (4-5 ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²), ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ свои измСнСния Π½Π° Ρ€Π΅Π²ΡŒΡŽ. Π”Π²ΠΎΠ΅-Ρ‚Ρ€ΠΎΠ΅ Π½Π΅ΡƒΡ‚ΠΎΠΌΠΈΠΌΡ‹Ρ… Ρ€Π΅Π²ΡŒΡŽΠ²Π΅Ρ€ΠΎΠ² Π·Π°ΠΊΠΈΠ΄Π°Π»ΠΈ вас ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΌΠ΅Π»ΠΊΠΈΠΌΠΈ рСкомСндациями ΠΏΡ€Π°Π²ΠΎΠΊ, Π° Ρ‚ΠΎ ΠΈ вовсС нашли косяки (Π΅Ρ‰Ρ‘ 4-5 ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²). Π—Π°Ρ‚Π΅ΠΌ QA нашли нСсколько ΠΊΡ€Π°Π΅Π²Ρ‹Ρ… случаСв, Ρ‚ΠΎΠΆΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… исправлСний (Π΅Ρ‰Ρ‘ 2-3 ΠΊΠΎΠΌΠΌΠΈΡ‚Π°). И Π½Π°ΠΊΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΡΡΠ½ΠΈΠ»ΠΈΡΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ нСсовмСстимости ΠΈΠ»ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈ автотСсты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΠΆΠ΅ Π½Π°Π΄ΠΎ ΠΏΠΎΡ„ΠΈΠΊΡΠΈΡ‚ΡŒ.

Но Π±Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΊ ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ Π²Ρ‹ ΡƒΠΆΠ΅ подошли с историСй Ρ€Π΅ΠΏΠΎ, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅ΠΉ салат «ОливьС». Π’Π°ΠΊΠΎΠ΅ Π±Ρ‹Π²Π°Π΅Ρ‚, Ссли Ρ„ΠΈΡ‡Π° пилилась нСсколько нСдСль, ΠΈΠ±ΠΎ Π±Ρ‹Π»Π° ΠΏΠ»ΠΎΡ…ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΈΠ»ΠΈ, хотя Π·Π° это Π² ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π°Ρ… Π±ΡŒΡŽΡ‚ кандСлябром, трСбования измСнились Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ merge request, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ΅Ρ…Π°Π» ΠΊΠΎ ΠΌΠ½Π΅ Π½Π° Ρ€Π΅Π²ΡŒΡŽ Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ Π½Π°Π·Π°Π΄:

push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π£ мСня Ρ€ΡƒΠΊΠ° машинально ΠΏΠΎΡ‚ΡΠ½ΡƒΠ»Π°ΡΡŒ ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«Report abuseΒ», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊ Π΅Ρ‰Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСквСст ΠΈΠ· 50 ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² с ΠΏΠΎΡ‡Ρ‚ΠΈ 2000 ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Ρ… строк? И ΠΊΠ°ΠΊ Π΅Π³ΠΎ, ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ, Ρ€Π΅Π²ΡŒΡŽΠΈΡ‚ΡŒ?

ЧСстно говоря, Ρƒ мСня ΡƒΡˆΠ»ΠΎ Π΄Π²Π° дня просто Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбя ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ этому Ρ€Π΅Π²ΡŒΡŽ. И это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ рСакция для ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°; ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ситуации, просто Π½Π΅ глядя, ΠΆΠΌΡ‘Ρ‚ Approve, понимая, Ρ‡Ρ‚ΠΎ Π·Π° Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ΅ врСмя всё Ρ€Π°Π²Π½ΠΎ Π½Π΅ смоТСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΠΎΠ±Π·ΠΎΡ€Ρƒ этого измСнСния с достаточным качСством.

Но Π΅ΡΡ‚ΡŒ способ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Тизнь Ρ‚ΠΎΠ²Π°Ρ€ΠΈΡ‰Ρƒ. Помимо ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ Π»ΡƒΡ‡ΡˆΠ΅ΠΉ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, ΡƒΠΆΠ΅ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ написания основного ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ привСсти ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π΅Π³ΠΎ написания Π² Π±ΠΎΠ»Π΅Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ Π²ΠΈΠ΄, Ρ€Π°Π·Π±ΠΈΠ² Π½Π° Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ с Π·Π΅Π»Ρ‘Π½Ρ‹ΠΌΠΈ тСстами Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ: «создал Π½ΠΎΠ²Ρ‹ΠΉ сСрвис ΠΈ транспортный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ для Π½Π΅Π³ΠΎΒ», «построил ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ написал ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²Β», Β«Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉΒ», «написал тСсты».
ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π²ΡŒΡŽΠΈΡ‚ΡŒ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (ΠΈ GitHub, ΠΈ GitLab это ΡƒΠΌΠ΅ΡŽΡ‚) ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ это Π½Π°Π±Π΅Π³Π°ΠΌΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ своими Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π² ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²Π°Ρ….

50 (ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ вмСсто β€œ50” Π²Π°ΡˆΡƒ Ρ†ΠΈΡ„Ρ€Ρƒ).

ΠšΡΡ‚Π°Ρ‚ΠΈ, Ссли Π²Ρ‹ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΏΠΎΠ΄Π»ΠΈΠ²Π°Π»ΠΈ ΠΊ сСбС Π²Π΅Ρ‚ΠΊΡƒ master, Ρ‚ΠΎ сначала Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ rebase Π½Π° эту Π²Π΅Ρ‚ΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ merge-ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈΠ· мастСра Π½Π΅ ΠΏΡƒΡ‚Π°Π»ΠΈΡΡŒ Ρƒ вас ΠΏΠΎΠ΄ Π½ΠΎΠ³Π°ΠΌΠΈ.

Π’ΠΎΠΎΡ€ΡƒΠΆΠΈΠ²ΡˆΠΈΡΡŒ знаниями ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ устройствС git-рСпозитория, ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ дСйствия rebase Π½Π° master Π±ΡƒΠ΄Π΅Ρ‚ нСслоТно. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±Π΅Ρ€Ρ‘Ρ‚ всС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² нашСй Π²Π΅Ρ‚ΠΊΠ΅ ΠΈ мСняСт родитСля ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… Π½Π° послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Π²Π΅Ρ‚ΠΊΠ΅ master. Π‘ΠΌ. схСму:

push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅
Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ взяты ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ Pro Git

Если измСнСния Π² C4 ΠΈ C3 ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚, Ρ‚ΠΎ послС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΊΠΎΠΌΠΌΠΈΡ‚ C4 ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ своё содСрТаниС, поэтому ΠΎΠ½ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ схСмС Π² C4’.

Π”Π°, ΠΈ кстати, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ мСстами. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это создаст ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹, Π½ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ процСсс rebase Ρ€Π΅Π΄ΠΊΠΎ обходится совсСм ΡƒΠΆ Π±Π΅Π· ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ². Как говорится, снявши Π³ΠΎΠ»ΠΎΠ²Ρƒ, ΠΏΠΎ волосам Π½Π΅ ΠΏΠ»Π°Ρ‡ΡƒΡ‚.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ rebase нСсколько Ρ€Π°Π·, затрагивая Ρ‚ΠΎΠ»ΡŒΠΊΠΎ части истории, ΠΈ оставляя ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π½Π΅Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ pick, придавая своСй истории всё Π±ΠΎΠ»Π΅Π΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π²ΠΈΠ΄, ΠΊΠ°ΠΊ Π³ΠΎΠ½Ρ‡Π°Ρ€ ΠΊΡƒΠ²ΡˆΠΈΠ½Ρƒ. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΌ Ρ‚ΠΎΠ½ΠΎΠΌ, ΠΊΠ°ΠΊ я ΡƒΠΆΠ΅ написал Π²Ρ‹ΡˆΠ΅, Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ тСсты Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π΅Π»Ρ‘Π½Ρ‹ΠΌΠΈ (для этого ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ edit ΠΈ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ β€” squash).

push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ push file done Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

ΠŸΠΎΠ½Π°Ρ‡Π°Π»Ρƒ Π²Ρ‹, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π° этот процСсс (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ rebase Π½Π° master) час, Π° Ρ‚ΠΎ ΠΈ Π΄Π²Π°, Ссли Ρ„ΠΈΡ‡Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ развСсистая. Но Π΄Π°ΠΆΠ΅ это Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ ΠΆΠ΄Π°Ρ‚ΡŒ Π΄Π²Π° дня, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Π²ΡŒΡŽΠ²Π΅Ρ€ заставит сСбя Π½Π°ΠΊΠΎΠ½Π΅Ρ† Π²Π·ΡΡ‚ΡŒΡΡ Π·Π° ваш рСквСст, ΠΈ Π΅Ρ‰Ρ‘ ΠΏΠ°Ρ€Ρƒ Π΄Π½Π΅ΠΉ, ΠΏΠΎΠΊΠ° ΠΎΠ½ сквозь Π½Π΅Π³ΠΎ продСрётся. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΆΠ΅ Π²Ρ‹, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² 30-40 ΠΌΠΈΠ½ΡƒΡ‚. ОсобСнно ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π² этом ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ IntelliJ со встроСнным инструмСнтом Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² (full disclosure: компания FunCorp ΠΎΠΏΠ»Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ эти ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ своим сотрудникам).

ПослСднСС, ΠΎΡ‚ Ρ‡Π΅Π³ΠΎ хочСтся ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π΅Ρ€Π΅Ρ‡ΡŒ, β€” Π½Π΅ пСрСписывайтС ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π²Π΅Ρ‚ΠΊΠΈ Π² процСссС ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ добросовСстный Ρ€Π΅Π²ΡŒΡŽΠ΅Ρ€ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ ваш ΠΊΠΎΠ΄ ΠΊ сСбС локально, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· IDE ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ тСсты.

Бпасибо Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ всСм, ΠΊΡ‚ΠΎ Π΄ΠΎΡ‡ΠΈΡ‚Π°Π» Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°! НадСюсь, Ρ‡Ρ‚ΠΎ ΡΡ‚Π°Ρ‚ΡŒΡ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°ΠΌ, Π½ΠΎ ΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ваш ΠΊΠΎΠ΄ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π° Ρ€Π΅Π²ΡŒΡŽ. Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ»Ρ‘Π²Ρ‹Π΅ Ρ…Π°ΠΊΠΈ для git β€” Π΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ΠΈΠΌΠΈ Π² коммСнтариях!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

rdnvndr / MainGit.md

ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git

Git (ΠΏΡ€ΠΎΠΈΠ·Π½. Β«Π³ΠΈΡ‚Β») β€” распрСдСлённая систСма управлСния вСрсиями Ρ„Π°ΠΉΠ»ΠΎΠ². ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π±Ρ‹Π» создан Линусом Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠΎΠΌ для управлСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ядра Linux. На сСгодняшний дСнь поддСрТиваСтся Π”ΠΆΡƒΠ½ΠΈΠΎ Π₯Π°ΠΌΠ°Π½ΠΎ.

БистСма спроСктирована ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΈΡ… использования Π² скриптах. Π­Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ спСциализированныС систСмы контроля вСрсий Π½Π° Π±Π°Π·Π΅ Git ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ интСрфСйсы. НапримСр, Cogito являСтся ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π° ΠΊ рСпозиториям Git, Π° StGit ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Git для управлСния ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ.

Git ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ быстроС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ слияниС вСрсий, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ инструмСнты для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ истории Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Как ΠΈ Darcs, BitKeeper, Mercurial, SVK, Bazaar ΠΈ Monotone, Git прСдоставляСт ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию всСй истории Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ; измСнСния ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ рСпозитория Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

Π£Π΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ доступ ΠΊ рСпозиториям Git обСспСчиваСтся git-daemon, gitosis, SSH ΠΈΠ»ΠΈ HTTP-сСрвСром. TCP-сСрвис git-daemon Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² дистрибутив Git ΠΈ являСтся наряду с SSH Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространённым ΠΈ Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ доступа. ΠœΠ΅Ρ‚ΠΎΠ΄ доступа ΠΏΠΎ HTTP, нСсмотря Π½Π° ряд ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, ΠΎΡ‡Π΅Π½ΡŒ популярСн Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… сСтях, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сСтСвых Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ².

ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ

git clone β€” созданиС ΠΊΠΎΠΏΠΈΠΈ (ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ) рСпозитория

Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, слСдуСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ копию ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° со всСй Π΅Π³ΠΎ историСй локально.

ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» http:

ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ myrepo:

ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ бСзопасный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ssh:

Π£ git имССтся ΠΈ собствСнный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»:

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ svn Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» http:

git fetch ΠΈ git pull β€” Π·Π°Π±ΠΈΡ€Π°Π΅ΠΌ измСнСния ΠΈΠ· Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория

Для синхронизации Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git fetch ΠΈ git pull.

git fetch β€” Π·Π°Π±ΠΈΡ€Π°Π΅Ρ‚ измСнСния ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΠΈΠ· рСпозитория ΠΏΠΎ умолчания, основной Π²Π΅Ρ‚ΠΊΠΈ; Ρ‚ΠΎΠΉ, которая Π±Ρ‹Π»Π° использована ΠΏΡ€ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ рСпозитория. ИзмСнСния обновят ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ (remote tracking branch), послС Ρ‡Π΅Π³ΠΎ Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ провСсти слияниС с локальной Π²Π΅Ρ‚ΠΊΡƒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git merge.

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория:

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ синонимы для адрСсов, создаваСмыС ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git remote:

ЕстСствСнно, Ρ‡Ρ‚ΠΎ послС ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git diff, Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния с основной:

Команда git pull сразу Π·Π°Π±ΠΈΡ€Π°Π΅Ρ‚ измСнСния ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ слияниС с Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ. Π—Π°Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΈΠ· рСпозитория, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π»ΠΈ созданы ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

Π—Π°Π±ΠΈΡ€Π°Π΅Ρ‚ измСнСния ΠΈ ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория:

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сразу ΠΊΠΎΠΌΠ°Π½Π΄Π° git pull.

git push β€” вносим измСнСния Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

ПослС провСдСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅, слияния с основной, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ). Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git push.

ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ свои измСнСния Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ измСнСния ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ master Π² Π²Π΅Ρ‚ΠΊΡƒ experimental ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория:

Π’ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ origin удаляСт Π²Π΅Ρ‚ΠΊΡƒ experimental:

ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ master рСпозитория origin (синоним рСпозитория ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) Π²Π΅Ρ‚ΠΊΠΈ локальной Π²Π΅Ρ‚ΠΊΠΈ master:

ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΊΠΈ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ master рСпозитория origin:

Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ master рСпозитория origin (master Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ develop):

ДобавляСт Π²Π΅Ρ‚ΠΊΡƒ test Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ origin, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ Π²Π΅Ρ‚ΠΊΠΈ develop:

Π Π°Π±ΠΎΡ‚Π° с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ

git init β€” созданиС рСпозитория

git add ΠΈ git rm β€” индСксация ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ β€” ΠΊΠΎΠΌΠ°Π½Π΄Π° git add. Она позволяСт внСсти Π² индСкс β€” Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ β€” измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ Π²ΠΎΠΉΠ΄ΡƒΡ‚ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚.

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π»ΠΈΠ±ΠΎ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ:

Вносит Π² индСкс всС измСнСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹:

Из индСкса ΠΈ Π΄Π΅Ρ€Π΅Π²Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git rm.

УдаляСт ΠΈΠ· индСкса ΠΈ Π΄Π΅Ρ€Π΅Π²Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹:

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ удалСния ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΊ git, ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ сразу всС Ρ„Π°ΠΉΠ»Ρ‹ txt ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ:

Вносит Π² индСкс всС ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹:

Π‘Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ вСсь индСкс ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· Π½Π΅Π³ΠΎ измСнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git reset:

УдаляСт ΠΈΠ· индСкса ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»:

Команда git reset ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для сбрасывания индСкса, поэтому дальшС Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС внимания.

git status β€” состояниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, индСксированныС Ρ„Π°ΠΉΠ»Ρ‹

ΠšΠΎΠΌΠ°Π½Π΄Ρƒ git status, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ самой часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ наряду с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈ индСксации. Она Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ±ΠΎ всСх измСнСниях, внСсСнных Π² Π΄Π΅Ρ€Π΅Π²ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с послСдним ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ; ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ выводятся внСсСнныС Π² индСкс ΠΈ нСиндСксированныС Ρ„Π°ΠΉΠ»Ρ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΠΊΡ€Π°ΠΉΠ½Π΅ просто:

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, git status ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ„Π°ΠΉΠ»Ρ‹ с Π½Π΅Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌΠΈ слияния ΠΈ Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ git.

git commit β€” ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

ΠšΠΎΠΌΠΌΠΈΡ‚ β€” Π±Π°Π·ΠΎΠ²ΠΎΠ΅ понятиС Π²ΠΎ всСх систСмах контроля вСрсий, поэтому ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒΡΡ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»Π΅Π³ΠΊΠΎ ΠΈ ΠΏΠΎ возмоТности быстро. Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС достаточно послС индСксации Π½Π°Π±Ρ€Π°Ρ‚ΡŒ:

Если индСкс Π½Π΅ пустой, Ρ‚ΠΎ Π½Π° Π΅Π³ΠΎ основС Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ ΠΊΠΎΠΌΠΌΠΈΡ‚, послС Ρ‡Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ попросят ΠΏΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вносимыС измСнСния Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ edit. БохраняСмся, ΠΈ вуаля! ΠšΠΎΠΌΠΌΠΈΡ‚ Π³ΠΎΡ‚ΠΎΠ². Π•ΡΡ‚ΡŒ нСсколько ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρƒ с git commit.

Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚, автоматичСски индСксируя измСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. НовыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈ этом ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚! Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΆΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡ‡Ρ‚Π΅Π½ΠΎ:

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ прямо ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки вмСсто тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°:

Вносит Π² индСкс ΠΈ создаёт ΠΊΠΎΠΌΠΌΠΈΡ‚ Π½Π° основС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ СдинствСнного Ρ„Π°ΠΉΠ»Π°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ написания Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ сообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:

git reset β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ, ΠΎΡ‚ΠΊΠ°Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, «ТСсткий» ΠΈΠ»ΠΈ «мягкий»

Помимо Ρ€Π°Π±ΠΎΡ‚Ρ‹ с индСксом (см. Π²Ρ‹ΡˆΠ΅), git reset позволяСт ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ состояниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΄ΠΎ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² истории. Π’ git Π΄Π°Π½Π½ΠΎΠ΅ дСйствиС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π²ΡƒΡ… Π²ΠΈΠ΄ΠΎΠ²: «мягкого»(soft reset) ΠΈ «ТСсткого» (hard reset).

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ HEAD^, ΠΎΠ½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€Π΅Π΄ΠΊΡƒ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Β». ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅ΠΉ описан синтаксис Ρ‚Π°ΠΊΠΎΠΉ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ адрСсации Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΈΠΆΠ΅, Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«Π₯эши, тэги, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ адрСсация». БоотвСтствСнно, HEAD β€” ссылка Π½Π° послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚. Бсылка ORIG_HEAD послС «мягкого» Ρ€Π΅Π·Π΅Ρ‚Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.

ЕстСствСнно, ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΈ Π½Π° Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²,

Если ΠΊΠΎΠΌΠ°Π½Π΄Π° достигнСт Ρ‚ΠΎΡ‡ΠΊΠΈ вСтвлСния, удалСния ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚.

Для ΠΊΠΎΠΌΠ°Π½Π΄ слияния ΠΈΠ»ΠΈ выкачивания послСдних ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ с ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅Π·Π΅Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ….

git revert β€” ΠΎΡ‚ΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ситуация, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ трСбуСтся ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния, внСсСнныС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ. git revert создаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ измСнСния.

ΠžΡ‚ΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ Ρ‚Π΅Π³ΠΎΠΌ:

ΠžΡ‚ΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΅Π³ΠΎ Ρ…ΡΡˆ:

Для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° слияния (ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ нСсколько Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ), Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ…ΡΡˆ ΠΈ Π½ΠΎΠΌΠ΅Ρ€ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:

Для использования ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ состояниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°Π»ΠΎΡΡŒ ΠΎΡ‚ состояния, зафиксированного послСдним ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ.

git log β€” разнообразная информация ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ… Π² Ρ†Π΅Π»ΠΎΠΌ

Иногда трСбуСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²; ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ…, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ²ΡˆΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»; ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ… Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Для этих Ρ†Π΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git log.

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ приводится короткая справка ΠΏΠΎ всСм ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌ, ΠΊΠΎΡΠ½ΡƒΠ²ΡˆΠΈΠΌΡΡ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π² настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Π΅Ρ‚ΠΊΠΈ (ΠΎ Π²Π΅Ρ‚ΠΊΠ°Ρ… ΠΈ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π½ΠΈΠΆΠ΅, Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «ВСтвлСния ΠΈ слияния»):

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, достаточно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π΅Π³ΠΎ имя (кстати, Π² ΠΌΠΎΠ΅ΠΉ старой вСрсии git этот способ Π½Π΅ срабатываСт, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ » β€” » ΠΏΠ΅Ρ€Π΅Π΄ Β«READMEΒ»):

ΠΈΠ»ΠΈ, Ссли вСрсия git Π½Π΅ совсСм свСТая:

Π”Π°Π»Π΅Π΅ приводится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΠΎΠ»Π΅Π΅ соврСмСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ синтаксиса. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ врСмя, начиная Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° (Β«weeksΒ», Β«daysΒ», Β«hoursΒ», Β«sΒ» ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅):

измСнСния, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ:

МоТно ΠΎΡ‚Ρ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Ρ‚Π΅Π³ΠΎΠ².

ВсС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, начиная с Ρ‚Π΅Π³Π° v1:

ВсС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ измСнСния Ρ„Π°ΠΉΠ»Π° README, начиная с Ρ‚Π΅Π³Π° v1:

ВсС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ измСнСния Ρ„Π°ΠΉΠ»Π° README, начиная с Ρ‚Π΅Π³Π° v1 ΠΈ заканчивая Ρ‚Π΅Π³ΠΎΠΌ v2:

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΏΠΎ строчкС, состоящСй ΠΈΠ· Ρ…ΡΡˆΠ° (здСсь β€” ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅ΠΉ β€” дальшС):

Лаконичная информация ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ…, приводятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°Π²Ρ‚ΠΎΡ€ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ:

Π‘ΠΎΠ»Π΅Π΅ полная информация ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ…, с ΠΈΠΌΠ΅Π½Π΅ΠΌ Π°Π²Ρ‚ΠΎΡ€Π°, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅ΠΌ, Π΄Π°Ρ‚ΠΎΠΉ создания ΠΈ внСсСния ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ:

git diff β€” отличия ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π΅Ρ€Π΅Π²ΡŒΡΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ ΠΈ Ρ‚.Π΄.

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ измСнСния, Π½Π΅ внСсСнныС Π² индСкс:

ИзмСнСния, внСсСнныС Π² индСкс:

ИзмСнСния Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с послСдним ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ:

МоТно ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Β«Π³ΠΎΠ»ΠΎΠ²Ρ‹Β» Π²Π΅Ρ‚ΠΎΠΊ:

ΠΈΠ»ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ с ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ:

git show β€” ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ измСнСния, внСсСнныС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ измСнСния, внСсСнныС Π»ΡŽΠ±Ρ‹ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ Π² истории, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git show:

git blame ΠΈ git annotate β€” ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ часто трСбуСтся Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΡ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ написал ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π£Π΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git blame, Π²Ρ‹Π²ΠΎΠ΄ΡΡ‰ΡƒΡŽ ΠΏΠΎΡΡ‚Ρ€ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ послСднСм ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅, ΠΊΠΎΡΠ½ΡƒΠ²ΡˆΠ΅ΠΌΡΡ строки, имя Π°Π²Ρ‚ΠΎΡ€Π° ΠΈ Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:

МоТно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ строки для отобраТСния:

Аналогично Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° git annotate, выводящая ΠΈ строки, ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ…, ΠΈΡ… ΠΊΠΎΡΠ½ΡƒΠ²ΡˆΠΈΡ…ΡΡ:

git grep β€” поиск слов ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ, ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ

git grep, Π² Ρ†Π΅Π»ΠΎΠΌ, просто Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚ΠΎΠΉ юниксовой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Однако ΠΎΠ½ позволяСт слова ΠΈ ΠΈΡ… сочСтания ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.

Π˜Ρ‰Π΅Ρ‚ слова tst Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅:

ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ число ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΉ tst Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅:

Π˜Ρ‰Π΅Ρ‚ Π² старой вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

Команда позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ логичСскоС И ΠΈ Π˜Π›Π˜.

Π˜Ρ‰Π΅Ρ‚ строки, Π³Π΄Π΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ слово, ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ΅:

Π˜Ρ‰Π΅Ρ‚ строки, Π³Π΄Π΅ встрСчаСтся хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ ΠΈΠ· слов:

git branch β€” созданиС, пСрСчислСниС ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΎΠΊ

Π Π°Π±ΠΎΡ‚Π° с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ β€” ΠΎΡ‡Π΅Π½ΡŒ лСгкая ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π² git, всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ сконцСнтрированы Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅.

ΠŸΡ€ΠΎΡΡ‚ΠΎ пСрСчисляСт ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠ² Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ:

Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ new-branch:

УдаляСт Π²Π΅Ρ‚ΠΊΡƒ, Ссли Ρ‚Π° Π±Ρ‹Π»Π° Π·Π°Π»ΠΈΡ‚Π° (merged) с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ:

УдаляСт Π²Π΅Ρ‚ΠΊΡƒ Π² любом случаС:

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π΅ Π²Π΅Ρ‚ΠΊΠΈ, срСди ΠΏΡ€Π΅Π΄ΠΊΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚:

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ отвСтвлСния Π²Π΅Ρ‚ΠΊΠΈ new-name-branch ΠΎΡ‚ Π²Π΅Ρ‚ΠΊΠΈ master:

git checkout β€” ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ, ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

Команда git checkout позволяСт ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ послСдними ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ (Ссли ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎ) Π²Π΅Ρ‚ΠΎΠΊ:

Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ Π²Π΅Ρ‚ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅:

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ„Π°ΠΉΠ» (ΠΈΠ»ΠΈ просто Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ ΠΈΠ· ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°) позволяСт ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΈΠ΄Π°:

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ somefile ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ somefile ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° Π΄Π²Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π½Π°Π·Π°Π΄ ΠΏΠΎ Π²Π΅Ρ‚ΠΊΠ΅:

git merge β€” слияниС Π²Π΅Ρ‚ΠΎΠΊ, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²

БлияниС Π²Π΅Ρ‚ΠΎΠΊ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСм, Π² git происходит практичСски ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь. ЕстСствСнно, Ρ‡Ρ‚ΠΎ имССтся ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс ΠΊ популярной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

ΠŸΡ‹Ρ‚Π°Π΅Ρ‚ΡΡ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ Π²Π΅Ρ‚ΠΊΡƒ new-feature:

Π’ случаС возникновСния ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π½Π΅ происходит, Π° ΠΏΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ Ρ€Π°ΡΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ Π°-ля svn; сами ΠΆΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² индСксС ΠΊΠ°ΠΊ Β«Π½Π΅ соСдинСнныС» (unmerged). Π”ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΏΠΎΠΊΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π΅ΡˆΠ΅Π½Ρ‹, ΠΊΠΎΠΌΠΌΠΈΡ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ нСльзя.

НапримСр, ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊ Π² Ρ„Π°ΠΉΠ»Π΅ TROUBLE, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² git status.

ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° нСудачная ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° слияния:

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Π΅ мСста:

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΠ΅ΠΌ наши измСнСния, Ρ‚Π΅ΠΌ самым снимая ΠΌΠ΅Ρ‚ΠΊΠΈ:

Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния:

Π’ΠΎΡ‚ ΠΈ всС, Π½ΠΈΡ‡Π΅Π³ΠΎ слоТного. Если Π² процСссС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ΡƒΠΌΠ°Π»ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, достаточно Π½Π°Π±Ρ€Π°Ρ‚ΡŒ (это Π²Π΅Ρ€Π½Ρ‘Ρ‚ ΠΎΠ±Π΅ Π²Π΅Ρ‚ΠΊΠΈ Π² исходныС состояния):

Если ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния Π±Ρ‹Π» ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git rebase β€” построСниС Ρ€ΠΎΠ²Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π·Π°Π²Π΅Π» Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ возмоТности ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΠ» Π² Π½Π΅ΠΉ нСсколько ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π² основной Π²Π΅Ρ‚ΠΊΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Ρ‹ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π½Π΅Π΅ Π±Ρ‹Π»ΠΈ Π·Π°Π»ΠΈΡ‚Ρ‹ измСнСния с ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ сСрвСра, Π»ΠΈΠ±ΠΎ сам Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π» Π² Π½Π΅ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹.

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ git merge. Но Ρ‚ΠΎΠ³Π΄Π° услоТняСтся сама линия Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π² слишком Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Π³Π΄Π΅ участвуСт мноТСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, имССтся Π΄Π²Π΅ Π²Π΅Ρ‚ΠΊΠΈ, master ΠΈ Ρ‚ΠΎΠΏΠΈΠΊ, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π»ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ нСсколько ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² начиная с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° вСтвлСния. Команда git rebase Π±Π΅Ρ€Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ topic ΠΈ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡ… Π½Π° послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ Π²Π΅Ρ‚ΠΊΠΈ master.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ явно указываСтся, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΡƒΠ΄Π° накладываСтся:

Π½Π° master накладываСтся активная Π² настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Π΅Ρ‚ΠΊΠ°:

ПослС использования ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ история становится Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ. ΠŸΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΌ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ, Π° Π² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Π΅ мСстах Ρ„Π°ΠΉΠ»ΠΎΠ² появятся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΊΠΈ. ПослС рСдактирования, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ², Ρ„Π°ΠΉΠ»Ρ‹ слСдуСт внСсти Π² индСкс ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π°ΠΌΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ:

ΠΈ ΠΎΡ‚ΠΌΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ всСх внСсСнных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

git cherry-pick β€” ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ Π΄Π΅Ρ€Π΅Π²Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсСнных ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ

Если вСдСтся слоТная история Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, с нСсколькими Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсСнных ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, ΠΊ Π΄Π΅Ρ€Π΅Π²Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ (Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π² настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚).

ИзмСнСния, внСсСнныС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΊ Π΄Π΅Ρ€Π΅Π²Ρƒ, автоматичСски проиндСксированы ΠΈ станут ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅:

Git позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с нСсколькими Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ рСпозитория. Для добавлСния Π²Π΅Ρ‚ΠΊΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Для просмотра всСх Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ΅Π² с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ с Π²Π΅Ρ‚ΠΊΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ пСрСсти Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ПослС окончания Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Π΅Ρ‚ΠΊΠΎΠΉ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСпозитория с подмодулями

ΠŸΡ€ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ рСпозитория Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΠΈ:

Запуск Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ эквивалСнтСн запуску ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

послС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ клонирования рСпозитория

ΠŸΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ссылаСтся Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ состояниС всСх ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ:

Для получСния состояния послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° всСх ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git pull:

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° просто обновляСт Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию. ΠŸΡ€ΠΈ запускС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git status ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹ΠΌΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния:

Для получСния состояниС послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ подмодуля Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π’ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git Π² качСствС ΠΏΠ°ΠΏΠΊΠΈ, отслСТиваСмый Git:

Для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ подмодуля ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ мСста рСпозитория Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто рСпозитория Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Для удалСния подмодуля ΠΈΠ· рСпозитория Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ описаниС подмодуля ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ подмодуля:

ΠŸΡ€ΠΎΡ‡ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ возмоТности

Π₯эш β€” ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ идСнтификация ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Π’ git для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π»ΡŽΠ±Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ с ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ) Ρ…ΡΡˆ ΠΈΠ· 40 символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСтся Ρ…ΡΡˆΠΈΡ€ΡƒΡŽΡˆΠ΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π½Π° основС содСрТимого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ β€” это всС: ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Ρ„Π°ΠΉΠ»Ρ‹, тэги, Π΄Π΅Ρ€Π΅Π²ΡŒΡ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ…ΡΡˆ ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ для содСрТимого, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„Π°ΠΉΠ»Π°, Ρ‚ΠΎ ΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ β€” достаточно просто ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π΄Π²Π΅ строки Π² сорок символов.

Π‘ΠΎΠ»ΡŒΡˆΠ΅ всСго нас интСрСсуСт Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Ρ…ΡΡˆΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹. Π’ этом смыслС Ρ…ΡΡˆ β€” ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ Π°Π½Π°Π»ΠΎΠ³ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΉ Subversion. НСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² использования Ρ…ΡΡˆΠ΅ΠΉ Π² качСствС способа адрСсации.

Π˜Ρ‰Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π·Π° номСром… сами Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΈΠΌ:

Π’ΠΎ ΠΆΠ΅ самоС, Π½ΠΎ оставляСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡˆΠ΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… символов. Git ΠΏΠΎΠΉΠΌΠ΅Ρ‚, ΠΎ ΠΊΠ°ΠΊΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ ΠΈΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ, Ссли Π½Π΅ сущСствуСт Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° с Ρ‚Π°ΠΊΠΈΠΌ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ…ΡΡˆΠ°:

Иногда Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… символов:

Π§ΠΈΡ‚Π°Π΅Ρ‚ Π»ΠΎΠ³ с ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚:

РазумССтся, Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ…ΡΡˆΠ°ΠΌΠΈ Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠ°ΠΊ машинС, ΠΈΠΌΠ΅Π½Π½ΠΎ поэтому Π±Ρ‹Π»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ β€” тэги.

git tag β€” тэги ΠΊΠ°ΠΊ способ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚

Вэг (tag) β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, связанный с ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ; хранящий ссылку Π½Π° сам ΠΊΠΎΠΌΠΌΠΈΡ‚, имя Π°Π²Ρ‚ΠΎΡ€Π°, собствСнноС имя ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½Π° Ρ‚Π°ΠΊΠΈΡ… Ρ‚Π΅Π³Π°Ρ… ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ подпись.

ΠšΡ€ΠΎΠΌΠ΅ этого Π² git прСдставлСнныС Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ «лСгковСсныС тэги» (lightweight tags), состоящиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ссылки Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚. Π’Π°ΠΊΠΈΠ΅ тэги, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для упрощСния Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π΄Π΅Ρ€Π΅Π²Ρƒ истории; ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ.

Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ «лСгковСсный» тэг, связанный с послСдним ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ; Ссли тэг ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ, Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ создан Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚:

ΠŸΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚:

Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ тэг для послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, замСняСт ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ, Ссли Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ ΡƒΠΆΠ΅ Π±Ρ‹Π»:

ПослС создания тэга Π΅Π³ΠΎ имя ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто Ρ…ΡΡˆΠ° Π² Π»ΡŽΠ±Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… Π²Ρ€ΠΎΠ΄Π΅ git diff, git log ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅:

ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ тэги ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для прилоТСния ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π²Ρ€ΠΎΠ΄Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсии ΠΈ коммСнтария ΠΊ Π½Π΅ΠΌΡƒ. Π˜Π½Ρ‹ΠΌΠΈ словами, Ссли Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ пишСшь «исправил Ρ‚Π°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π±Π°Π³Β», Ρ‚ΠΎ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ тэгу ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Β«v1.0Β» Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ Β«ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия, готовая ΠΊ использованию».

Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тэг для послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°; Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ для составлСния коммСнтария:

Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тэг, сразу ΡƒΠΊΠ°Π·Π°Π² Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ:

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ пСрСчислСния, удалСния, пСрСзаписи для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… тэгов Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄ для «лСгковСсных» тэгов.

ВмСсто Ρ€Π΅Π²ΠΈΠ·ΠΈΠΉ ΠΈ тэгов Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡ€Π°Ρ‚ΡŒΡΡ Π½Π° Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ β€” ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ прямо ΠΊ ΠΏΡ€Π΅Π΄ΠΊΡƒ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π²Π΅Ρ‚ΠΊΠΈ master:

Если послС Β«ΠΏΡ‚ΠΈΡ‡ΠΊΠΈΒ» ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€Ρƒ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π°Π΄Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ нСскольким ΠΏΡ€Π΅Π΄ΠΊΠ°ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² слияния:

Π˜Ρ‰Π΅Ρ‚ измСнСния ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ со Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² master; HEAD здСсь β€” ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ.

Аналогично, Ρ‚ΠΈΠ»ΡŒΠ΄ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ просто ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, насколько Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π²Π΅Ρ‚ΠΊΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ.

Π§Ρ‚ΠΎ привнСс Β«Π΄Π΅Π΄ΡƒΡˆΠΊΠ°Β» Π½Ρ‹Π½Π΅ΡˆΠ½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π΄ΠΎ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:

Иногда ΠΏΠΎ дирСкториям ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ хочСтся постоянно Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² сводкС git status. НапримСр, Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠΉ мусор.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ содСрТимого Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°:

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ способы указания ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈΠ· справки git help gitignore.

Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ рСпозитория

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ сколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ потСряно ΠΈ ΠΎΠ±ΡŠΡ‘ΠΌ освобоТдаСмого мСста ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ рСпозитория:

ΠŸΠ΅Ρ€Π΅ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ пустого рСпозитория Π½Π° сСрвСрС

Π˜ΠΌΠΏΠΎΡ€Ρ‚ svn рСпозитория Π½Π° Git-сСрвСр

Бвязка локальной ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ

ΠžΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ local Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ установка локальной Π²Π΅Ρ‚ΠΊΠΈ local отслСТиваСмой с origin/local:

ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ° локальной Π²Π΅Ρ‚ΠΊΠΈ ΠΊΠ°ΠΊ отслСТиваСмой с origin/local:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ пустой Π²Π΅Ρ‚ΠΊΠΈ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ пустой Π²Π΅Ρ‚ΠΊΠΈ с ΠΈΠΌΠ΅Π½Π΅ΠΌ newbranch:

ИспользованиС Git для получСния вСрсии

Установка Π½Π°Ρ‡Π°Π»Π° Π½ΠΎΠ²ΠΎΠΉ вСрсии Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚:

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсии для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *