Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ

Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² git control version ΠΈ Π½Π΅ знаю, ΠΊΠ°ΠΊ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ /Π²Ρ‹Ρ‚ΡΠ½ΡƒΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Ρ€Π΅ΠΏΠΎ. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ master ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ½Π° вСтвится test_1

Как ΠΌΠ½Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ я ΠΌΠΎΠ³ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния ΠΈ Π²Ρ‹Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ Π΅Π΅?

5 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²

Π’Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ

— [Π½Π΅Ρ‚-] ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ

— Π³Π»ΡƒΠ±ΠΈΠ½Π°

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠΉ ΠΊΠ»ΠΎΠ½ с историСй, усСчСнной Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ количСства ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠ»ΠΎΠ½Π° Π²Π΅Ρ‚Π²ΠΈ:

Π― Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ git ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ прСдоставляСт Π²Π°ΠΌ всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ всСх Π²Π΅Ρ‚Π²Π΅ΠΉ.

Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько Π²Π΅Ρ‚ΠΎΠΊ. КаТдая Π²Π΅Ρ‚Π²ΡŒ слСдуСт Π·Π° Π»ΠΈΠ½ΠΈΠ΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ своС происхоТдСниС Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ master Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° начинаСтся ΠΊΠ°ΠΊ Π²Π΅Ρ‚ΠΊΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΏΠΎΠΊΠ° ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ измСнится, Ρ‡Π΅Π³ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ происходит)

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ обновлСния для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ git pull origin
, ΠΈ ΠΎΠ½ Β«Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Β» Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ (измСнСния). Если Π²Ρ‹ Π½Π΅ сдСлали Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, всС Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π»Π΅Π³ΠΊΠΎ. Если Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ внСсли измСнСния Π² эти Π²Π΅Ρ‚Π²ΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹. Π΄Π°ΠΉΡ‚Π΅ ΠΌΠ½Π΅ Π·Π½Π°Ρ‚ΡŒ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация ΠΏΠΎ этому Π΄Π΅Π»Ρƒ Ρ‚Π°ΠΊΠΆΠ΅

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ git

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

Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ· ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ GIT?

Π•ΡΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° Π³ΠΈΡ‚Π»Π°Π±Π΅. Π’ Ρ€Π΅ΠΏΠ΅ 2 Π²Π΅Ρ‚ΠΊΠΈ.

Π’ ΠΎΠ΄Π½ΠΎΠΉ вСсь сайт (master), вмСстС с ΠΏΠ°ΠΏΠΊΠΎΠΉ uploads, logs ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠΌ шлаком, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠ½Π΅ локально Π½ΠΈΠΊΡƒΠ΄Π° Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ упСрся. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Боздаю ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² PhpStorm ΠΈΠ· ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½ΠΎ ΡˆΡ‚ΠΎΡ€ΠΌ ΠΆΠ΅ тянСт мастСр,Π° мастСр ΠΏΠΎΡ‡Ρ‚ΠΈ 7 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚. МоТно ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡˆΡ‚ΠΎΡ€ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°?

Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git. OZndo. Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git Ρ„ΠΎΡ‚ΠΎ. Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git-OZndo. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° OZndo

Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git. photo. Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git Ρ„ΠΎΡ‚ΠΎ. Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git-photo. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° photo

2 ΠΎΡ‚Π²Π΅Ρ‚Π° 2

МоТно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΠΎ Π½ΡƒΠΆΠ½ΠΎΠΉ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎ Π½Π΅ΠΉ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² PHPStorm:

Но Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρƒ вас Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ upload, logs ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π² Π²Π΅Ρ‚ΠΊΠ΅ master, Π΄Π° ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΠΎΠ΄ git’ΠΎΠΌ.

Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git. dVTjR. Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git Ρ„ΠΎΡ‚ΠΎ. Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git-dVTjR. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dVTjR

Π½ΠΎ ΡˆΡ‚ΠΎΡ€ΠΌ ΠΆΠ΅ тянСт мастСр, Π° мастСр ΠΏΠΎΡ‡Ρ‚ΠΈ 7 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚

Π’Ρ‹ Π½Π΅ слишком сэкономитС мСсто Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈ Π²ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ. Команда git clone выполняСтся Π² Π΄Π²Π° этапа:

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

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ‡Π½ΠΎ Π½Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ эти Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· рСпозитория ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π•ΡΡ‚ΡŒ сущСствСнноС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅: это ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡˆΠ΅Ρ‚ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ рСпозитория. Если Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΈΠΌ потрСбуСтся ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π·Π°Π½ΠΎΠ²ΠΎ.

Π•ΡΡ‚ΡŒ нСсколько способов ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ bfg-repo-cleaner, которая Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ filter-branch, Π½ΠΎ быстрСС ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅:

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

Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π² Git?

Π£ мСня Π΅ΡΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «скСлСт», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ для хранСния скСлСтов ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π£ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ нСсколько Π²Π΅Ρ‚ΠΎΠΊ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²:

Если я Ρ…ΠΎΡ‡Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ для Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, я ΠΌΠΎΠ³Ρƒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ

И всС Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ я Ρ…ΠΎΡ‡Ρƒ. Π’ частности, новая главная Π²Π΅Ρ‚Π²ΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ скСлСта, ΠΈ я ΠΌΠΎΠ³Ρƒ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ Ρ‚ΡΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ измСнСния Π² Π±Π°Π·ΠΎΠ²ΠΎΠΉ настройкС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π•ΡΡ‚ΡŒ Π»ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это? Или, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Git Π½Π΅ Ρ…ΠΎΡ‡Π΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ я структурировал Π²Π΅Ρ‰ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈ я ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ для этого. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΠ½Π΅ слСдуСт ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π², ΠΏΡ€ΠΈ этом Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ скСлСтов Ruby on Rails отслСТиваСт Π³Π»Π°Π²Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ скСлСтов? И любой ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ скСлСтный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Ruby on Rails.

22 ΠΎΡ‚Π²Π΅Ρ‚Π°

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. git1.7.10 (Π°ΠΏΡ€Π΅Π»ΡŒ 2012 Π³.) фактичСски позволяСт Π²Π°ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‚ΠΊΡƒ :

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ это Π² t5500-fetch-pack.sh :

Β«ΠžΡ‚ΠΌΠ΅Π½Π°Β» ΠΌΠ΅Π»ΠΊΠΎΠ³ΠΎ ΠΊΠ»ΠΎΠ½Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описана Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Π»ΠΊΠΈΠΉ ΠΊΠ»ΠΎΠ½ Π² ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠ»ΠΎΠ½Β» (git 1.8.3+)

Подписано: Π­ΠΌΠΈΠ»ΠΈ Π¨Π°Ρ„Ρ„Π΅Ρ€
АктСр: Π”ΠΆΠ΅Ρ„Ρ„ Кинг

ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, начиная с Git 1.7.10, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ git pull (ΠΈΠ»ΠΈ git fetch ) Ρ‚Π°ΠΊΠΆΠ΅ просто загрузят Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ способ:

НадСюсь, это Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‚ΠΊΡƒ. Π­Ρ‚ΠΎ самый простой способ:

Для клонирования ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅:

Π—Π΄Π΅ΡΡŒ Π΅ΡΡ‚ΡŒ достаточно ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… упоминаСтся:

. ΠΈΠ»ΠΈ какая-Ρ‚ΠΎ Π΅Π³ΠΎ вСрсия, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… упоминаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ:

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ вас Π΅ΡΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΠΏΠΎ Π½Π° GitHub ΠΏΠΎ адрСсу https://github.com/micronucleus/micronucleus.git с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌΠΈ вСтвями master ΠΈ version_2.5 (это Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ прямо сСйчас).

Π Π°Π·Π±ΠΈΠ²ΠΊΠ° 2-ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ свСрху:

Π Π°Π·Π±ΠΈΠ²ΠΊΠ° 1-ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ свСрху:

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Ρƒ Π²Π΅Ρ‚ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ, ΠΈ всС!

РСзюмС:

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

ΠžΡΠ½ΠΎΠ²Ρ‹ Git Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚

Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git. 1 Q6vk5YDnLxNQluhJtT0X8A. Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git Ρ„ΠΎΡ‚ΠΎ. Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git-1 Q6vk5YDnLxNQluhJtT0X8A. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ git. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1 Q6vk5YDnLxNQluhJtT0X8A

По ΠΌΠ΅Ρ€Π΅ своСго становлСния Π² Ρ€ΠΎΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ большая Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ вСдСтся Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅. И ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½ΡƒΠΆΠ½Π° систСма контроля вСрсий, которая ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ измСнСниями Π² ΠΊΠΎΠ΄Π΅, сдСланными Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ.

Git β€” это ΠΎΠ΄Π½Π° ΠΈΠ· самых популярных систСм контроля вСрсий. И, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ½Π° ΠΏΠΎΠ²Π΅Ρ€Π³Π°Π΅Ρ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² шок β€” ΠΏΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π° слово, сам ΠΏΡ€ΠΎΡˆΠ΅Π» Ρ‡Π΅Ρ€Π΅Π· это. К слову ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, я побаивался Git Π½Π° протяТСнии Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»Π΅Ρ‚.

Если Π²Ρ‹ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈ Π½Π΅ Π΄Ρ€ΠΎΠΆΠΈΡ‚Π΅ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ упоминания Git, Ρ‚ΠΎ смСло Π·Π°ΠΊΡ€Ρ‹Π²Π°ΠΉΡ‚Π΅ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€ΡƒΠ΄Π½Π΅Π΅. Но Ссли Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² Git ΠΈΠ»ΠΈ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² своих знаниях, Ρ‚ΠΎ посвятитС ΠΏΠ°Ρ€Ρƒ ΠΌΠΈΠ½ΡƒΡ‚ своСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ основных, Π½ΠΎ вСсьма Π²Π°ΠΆΠ½Ρ‹Ρ…, аспСктов Git.

Π’ΠΎΡ‚ ΠΎ Ρ‡Π΅ΠΌ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ:

Git clone

ВсСгда ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Π·Π°ΠΊΠ°Ρ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΏΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² рСпозитория Π½Π° свой Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. БущСствуСт мноТСство способов клонирования рСпозитория. Однако я объясню Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Для клонирования ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ рСпозитория сдСлайтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Git checkout

Π’ процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ рСпозитория. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.

Если Π²Π΅Ρ‚ΠΊΠ° ΡƒΠΆΠ΅ создана:

git checkout branch-name

Если Π²Ρ‹ создаСтС Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΎΠΏΡ†ΠΈΠΉ:

Git pull

Git add ΠΈ commit

ПослС создания снимков рСпозитория ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π­Ρ‚ΠΎ дСлаСтся Ρ‡Π΅Ρ€Π΅Π· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ½ΠΈΡ‚ΡŒ спСцифику сохраняСмых снимков. НапримСр:

Π”Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ && :

Git stash ΠΈ merge

git merge – это ΠΊΠΎΠΌΠ°Π½Π΄Π°, которая сливаСт Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… снимка рСпозитория. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ снимки ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π²Π΅Ρ‚Π²ΠΈ, сдСланныС Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. Π›ΠΈΠ±ΠΎ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ снимки Ρ€Π°Π·Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ.

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π² Π²Π΅Ρ‚ΠΊΡƒ master ΠΊΠΎΠΌΠ°Π½Π΄Π° git merge сливаСт Π²Π΅Ρ‚ΠΊΡƒ dev с master ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

Git push

По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ сохраняСтС снимки Π² Google Π€ΠΎΡ‚ΠΎ, ΠΈ ΠΈΡ… видят Π΄Ρ€ΡƒΠ³ΠΈΠ΅ люди, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ доступ, git push отправляСт Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° сСрвСр, доступный Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.

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

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 Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *