Update project git Ρ‡Ρ‚ΠΎ это

БовмСстная Ρ€Π°Π±ΠΎΡ‚Π° ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²

НС Ρ‚Π°ΠΊ ΡƒΠΆ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Π² Git Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ сСтСвого ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ для своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹, практичСски всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ с локальной ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Когда Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своими Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ, всСго нСсколько ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌΠΈ рСпозиториями.

git fetch

Команда git fetch связываСтся с ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΈ Π·Π°Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΈΠ· Π½Π΅Π³ΠΎ всС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρƒ вас ΠΏΠΎΠΊΠ° Π½Π΅Ρ‚ ΠΈ сохраняСт ΠΈΡ… локально.

ΠœΡ‹ познакомились с Π½Π΅ΠΉ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория β€” Fetch ΠΈ Pull Π³Π»Π°Π²Ρ‹ 2 ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ»ΠΈ знакомство Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π£Π΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ Π³Π»Π°Π²Ρ‹ 3.

ΠœΡ‹ использовали эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° УчастиС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

ΠœΡ‹ использовали Π΅Ρ‘ для скачивания запросов Π½Π° слияниС (pull request) ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Бсылки Π½Π° запрос слияния Π³Π»Π°Π²Ρ‹ 6, Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΡ‹ рассмотрСли использованиС git fetch для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ рСпозиториями Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π³Π»Π°Π²Ρ‹ 7.

ΠœΡ‹ рассмотрСли Ρ‚ΠΎΠ½ΠΊΡƒΡŽ настройку git fetch Π² Π³Π»Π°Π²Π΅ ΠΈ Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ссылок.

git pull

ΠœΡ‹ познакомились с Π½Π΅ΠΉ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория β€” Fetch ΠΈ Pull Π³Π»Π°Π²Ρ‹ 2 ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния Π±ΡƒΠ΄ΡƒΡ‚ приняты Π² случаС примСнСния Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория Π³Π»Π°Π²Ρ‹ 2.

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ слоТностСй ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π²Π΅Ρ‚ΠΎΠΊ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ МСняя Π±Π°Π·Ρƒ, мСняй основаниС Π³Π»Π°Π²Ρ‹ 3.

ΠœΡ‹ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ URL ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория Π±Π΅Π· сохранСния Π΅Π³ΠΎ Π² спискС ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ Π³Π»Π°Π²Ρ‹ 5.

git push

Команда git push ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для установлСния связи с ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, вычислСния Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² Π½Ρ‘ΠΌ, ΠΈ собствСнно ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π² Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π­Ρ‚ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΎ Π½Π° запись Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, поэтому ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ.

На протяТСнии Ρ€Π°Π·Π΄Π΅Π»Π° УчастиС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² использования git push для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Ρ… рСпозиториях ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

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

git remote

Команда git remote слуТит для управлСния списком ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π². Она позволяСт ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ URL Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Π² Π²ΠΈΠ΄Π΅ понятных ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… строк, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Β«originΒ», Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ придётся Π·Π°Π±ΠΈΠ²Π°Ρ‚ΡŒ Π³ΠΎΠ»ΠΎΠ²Ρƒ всякой Π΅Ρ€ΡƒΠ½Π΄ΠΎΠΉ ΠΈ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· для связи с сСрвСром. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ git remote ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΡ….

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

git archive

Команда git archive ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π² Π°Ρ€Ρ…ΠΈΠ² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈΠ»ΠΈ всСго рСпозитория.

ΠœΡ‹ использовали git archive для создания Ρ‚Π°Ρ€Π±ΠΎΠ»Π° ( tar.gz Ρ„Π°ΠΉΠ»Π°) всСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠΎ сСти Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ€Π΅Π»ΠΈΠ·Π° Π³Π»Π°Π²Ρ‹ 5.

git submodule

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° упомянута ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ раскрыта Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠŸΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π³Π»Π°Π²Ρ‹ 7.

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

Π—Π°ΠΏΠΈΡΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Π˜Ρ‚Π°ΠΊ, Ρƒ вас имССтся настоящий Git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ рабочая копия Ρ„Π°ΠΉΠ»ΠΎΠ² для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния ΠΈ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ «снимки» состояния (snapshots) этих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² вашСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ достигаСт состояния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Π°ΠΌ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ.

Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² вашСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… состояний: ΠΏΠΎΠ΄ вСрсионным ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ (отслСТиваСмыС) ΠΈ Π½Π΅Ρ‚ (нСотслСТиваСмыС). ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ β€” это Ρ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π² послСднСм снимкС состояния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°; ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹ΠΌΠΈ, ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ. Если ΠΊΡ€Π°Ρ‚ΠΊΠΎ, Ρ‚ΠΎ отслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹ β€” это Ρ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π½Π°Π΅Ρ‚ Git.

НСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹ β€” это всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅, Π»ΡŽΠ±Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² вашСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ Π² ваш послСдний снимок состояния ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ. Когда Π²Ρ‹ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, всС Ρ„Π°ΠΉΠ»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ отслСТиваСмыми ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹ΠΌΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Git Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΈΡ… ΠΈΠ·Π²Π»Π΅ΠΊ ΠΈ Π²Ρ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ.

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Git Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΈΡ… с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π’Ρ‹ индСксируСтС эти измСнСния, Π·Π°Ρ‚Π΅ΠΌ фиксируСтС всС проиндСксированныС измСнСния, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ†ΠΈΠΊΠ» повторяСтся.

Update project git Ρ‡Ρ‚ΠΎ это

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ состояния Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²

Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±Π° Ρ„Π°ΠΉΠ»Π° проиндСксированы ΠΈ Π²ΠΎΠΉΠ΄ΡƒΡ‚ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, вспомнили ΠΎΠ΄Π½ΠΎ нСбольшоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² CONTRIBUTING.md Π΄ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π’Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ„Π°ΠΉΠ», вноситС ΠΈ сохраняСтС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ измСнСния ΠΈ Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ. Но Π΄Π°Π²Π°ΠΉΡ‚Π΅-ΠΊΠ° Π΅Ρ‰Ρ‘ Ρ€Π°Π· Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ git status :

Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ статуса

Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠŸΠ΅Ρ€Π²Π°Ρ строка прСдписываСт Git ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° Β«.oΒ» ΠΈΠ»ΠΈ Β«.aΒ» β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΈ Π°Ρ€Ρ…ΠΈΠ²Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π²ΠΎ врСмя сборки ΠΊΠΎΠ΄Π°. Вторая строка прСдписываСт ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° Ρ‚ΠΈΠ»ΡŒΠ΄Ρƒ (

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ рСкурсивно для всСго Π΄Π΅Ρ€Π΅Π²Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ рСкурсии ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ символ слСш (/) Π² Π½Π°Ρ‡Π°Π»Π΅ шаблона.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ слСш (/) Π² ΠΊΠΎΠ½Π΅Ρ† шаблона.

МоТно ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ шаблон, использовав Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊ (!) Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ индСксированных ΠΈ нСиндСксированных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ, Π½ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ проиндСксировали, Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ git diff Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²:

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° сравниваСт содСрТимоС вашСго Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с содСрТимым индСкса. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΅Ρ‰Ρ‘ Π½Π΅ проиндСксированныС измСнСния.

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ git diff сама ΠΏΠΎ сСбС Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ всС измСнСния сдСланныС с послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Ρ‘ Π½Π΅ проиндСксированы. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ±ΠΈΠ²Π°Ρ‚ΡŒ с Ρ‚ΠΎΠ»ΠΊΡƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ссли Π²Ρ‹ проиндСксируСтС всС свои измСнСния, Ρ‚ΠΎ git diff Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Π΅Ρ€Π½Ρ‘Ρ‚.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π²Ρ‹ проиндСксировали Ρ„Π°ΠΉΠ» CONTRIBUTING.md ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π΅Π³ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git diff для просмотра ΠΊΠ°ΠΊ проиндСксированных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² этом Ρ„Π°ΠΉΠ»Π΅, Ρ‚Π°ΠΊ ΠΈ Ρ‚Π΅Ρ…, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ проиндСксированы. Если нашС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ выглядит Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ git diff для просмотра нСпроиндСксированных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

ΠšΠΎΠΌΠΌΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Π²Π°ΠΌΠΈ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€.

Π’ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΡ‘Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст (это ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π° Vim):

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ΠΊΠΎΠΌΠΌΠΈΡ‚Π° содСрТит Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git status ΠΈ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Ρƒ ΠΏΡƒΡΡ‚ΡƒΡŽ строку свСрху. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ эти ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ своё сообщСниС ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… для напоминания ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ фиксируСтС.

Π˜Ρ‚Π°ΠΊ, Π²Ρ‹ создали свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚! Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π²Ρ‹Π²Π΅Π» Π²Π°ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ сСбС: Π½Π° ΠΊΠ°ΠΊΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ ( master ), какая ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма SHA-1 Ρƒ этого ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ( 463dc4f ), сколько Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ, Π° Ρ‚Π°ΠΊΠΆΠ΅ статистику ΠΏΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌ/ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌ строкам Π² этом ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅.

Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ сохраняСт снимок состояния вашСго индСкса. Всё, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ проиндСксировали, Ρ‚Π°ΠΊ ΠΈ висит Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½ΠΎΠ΅; Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ эти измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π²Ρ‹ сохраняСтС снимок состояния вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·ΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС.

Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ индСксации

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

Если Π²Ρ‹ просто ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΈΠ· своСго Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π² сСкции Β«Changes not staged for commitΒ» (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅, Π½ΠΎ Π½Π΅ проиндСксированныС) Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git status :

Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git rm ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΈΠ»ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° удаляСт всС Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π°

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм контроля вСрсий, Git Π½Π΅ отслСТиваСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² явно. Когда Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ„Π°ΠΉΠ» Π² Git, Π² Π½Ρ‘ΠΌ Π½Π΅ сохраняСтся Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, говорящих ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½. Однако, Git довольно ΡƒΠΌΡ‘Π½ Π² ΠΏΠ»Π°Π½Π΅ обнаруТСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ постфактум β€” ΠΌΡ‹ рассмотрим ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ пСрСмСщСния Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² Git ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ mv выглядит нСсколько странным. Если Π²Π°ΠΌ хочСтся ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π² Git, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

ΠΈ это ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ сработаСт. На самом Π΄Π΅Π»Π΅, Ссли Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого ΠΈ посмотритС Π½Π° статус, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Git считаСт, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°:

Однако, это эквивалСнтно Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄:

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

НСдавно Π½Π°Ρ‡Π°Π» Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Git ΠΈ столкнулся со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ситуациСй:

Π£ сСбя Π½Π° локальном сСрвСрС я Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π·Π°Π»ΠΈΠ» Π΅Π³ΠΎ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π”Π°Π»Π΅Π΅ я зашСл Π½Π° сСрвСр, ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, установил ΠΈ настроил Π΅Π³ΠΎ.

Бпустя врСмя я ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° локальном сСрвСрС ΠΈ снова ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠΈΠ½Π΅ Ρ‚Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ.

Update project git Ρ‡Ρ‚ΠΎ это

Π’Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ смоТСтС Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ваши Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git push (с любого ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°), ΠΈ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ смоТСтС Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈΡ… Π² любоС мСсто, Π³Π΄Π΅ Ρƒ вас этот Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ склонирован, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git pull. Π‘ΠΌ. Ρ€Π°Π·Π΄Π΅Π» ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌΠΈ рСпозиториями Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ Git.

Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, git позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎ это Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΌΠ΅Π½Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ.

Π’Π°ΠΊ Π²ΠΎΡ‚. Π‘Π°ΠΌΠΎΠ΅ простоС β€” Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ услугами Github, Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρƒ Π½ΠΈΡ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ получаСтся Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎ ΠΈ Π½Π΅Π΄ΠΎΡ€ΠΎΠ³ΠΎ.

Или, Ссли Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ сами ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π° Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅, Ρ‚ΠΎ размСститС Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ bare-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ прямо Ρƒ сСбя ΠΆΠ΅ Π½Π° сСрвСрС.

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ, описана здСсь.

Π’ΠΊΡ€Π°Ρ‚Ρ†Π΅ β€” создаётС bare-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚Π΅ Π½Π° сСрвСр, ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Π΅Π³ΠΎ адрСс Π² качСствС origin Ρƒ сСбя Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ (Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… мСстах, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ этот Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρƒ вас ΠΆΠ΅ Π½Π° сСрвСрС):

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый адрСс рСпозитория ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…:

ΠŸΡ€ΠΈ этом remote ΠΏΡ€ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ выставляСтся автоматичСски.

А Π²ΠΎΠΎΠ±Ρ‰Π΅, Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ git, ΠΏΡ€ΠΎΠ³ΡƒΠ³Π»ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠ΅ вопросы, ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΈ, ΠΏΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, станСт Ρ€Π΅Π·ΠΊΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ понятнСС.

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

Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ Git. РСшСниС основных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

Update project git Ρ‡Ρ‚ΠΎ это

ВосстановлСниС Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Π’ Ρ‚ΠΎΠΌ случаС, Ссли измСнСния, внСсённыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, находятся Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ накоплСния, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ… ΠΊ Π²Π΅Ρ‚ΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git stash apply. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ git diff β€” эта ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ различия. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Если сущСствуСт Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ накоплСния, Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

git stash list Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, воспользовавшись Π΅Π³ΠΎ индСксом:

НСобходимо ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ отсчёт индСксов вСдётся ΠΎΡ‚ нуля.

ВосстановлСниС ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ‚Π΅Π³Π°

Π’ Ρ‚ΠΎΠΌ случаС, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ случайно ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ‚Π΅Π³, Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ с Π΅Π³ΠΎ поиска:

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ‚Π΅Π³ Π½Π°ΠΉΠ΄Π΅Π½, Π΅Π³ΠΎ слСдуСт Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ:

ВосстановлСниС ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

Если Π²Ρ‹ случайно ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ», Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ быстро Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ:

Если трСбуСтся Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², слСдуСт ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ…Π΅Ρˆ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ВосстановлСниС ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹ git reflog ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ…Π΅Ρˆ (SHA1) послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ этот Ρ…Π΅Ρˆ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅:

ПослС этого Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ИзмСнСниС сообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π³ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

ИзмСнСниС сообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚Π° послС Π΅Π³ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: подобная насильная ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈΠ· внСшнСй Π²Π΅Ρ‚ΠΊΠΈ, Ссли с Π½Π΅ΠΉ Π΄Π°Π²Π½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ синхронизации, ΡΠΎΠ±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅ ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ.

ИспользованиС алиасов ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС

Устали ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ git status? Π­Ρ‚ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ простой алиас, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ быстрСС Π²Π±ΠΈΠ²Π°Ρ‚ΡŒ Π² git.

β€” Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ git st

МоТно ΠΏΠΎΠΉΡ‚ΠΈ дальшС ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ алиасы Π±ΠΎΠ»Π΅Π΅ слоТным ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ алиас git logme Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ всС наши ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹.

ΠšΠΎΠΌΠΌΠΈΡ‚ Π² Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ

НуТно ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π·Π°Π±Ρ‹Π»ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ:

А Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅:

. ΠΈ Β«ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡΒ» Π΄ΠΎ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ.

Π§Ρ‚ΠΎΠ±Ρ‹ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git log ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ…Π΅Ρˆ (SHA1) послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ.. НапримСр, это a31a45c.

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ отправлял ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π²ΠΎ врСмя выполнСния Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС эти измСнСния Π±ΡƒΠ΄ΡƒΡ‚ потСряны!

ОбновлСниС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ подмодуля

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŽ:

ΠžΡ‚ΠΊΠ°Ρ‚ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ Π² истории

Если вас Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ бСспокоят измСнСния Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Β«ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡΒ» ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ Π² истории с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° установит HEAD Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ…Π΅ΡˆΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

ΠžΡ‚ΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π΄ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Если Π²Ρ‹ сдСлали ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ впослСдствии понадобилось ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° git reset.

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ остороТны ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ измСнСния Π²Π°ΡˆΠΈΡ… Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ потСряны.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ сообщСниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅: :

ΠžΡ‚ΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π° послС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΅Π³ΠΎ Π² master-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Рассмотрим ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΅Π³ΠΎ Ρ…Π΅ΡˆΠ°:

ΠžΡ‚ΠΌΠ΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ послС послСднСго:

ΠŸΡ€ΠΎΡΡ‚Π°Ρ ΠΎΡ‚ΠΌΠ΅Π½Π° послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:

ΠžΡ‚ΠΌΠ΅Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌ способом ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ являСтся восстановлСниС состояния послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ:

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ всСх ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

АргумСнт β€”follow позволяСт вывСсти всС измСнСния Π½Π°Π΄ Ρ„Π°ΠΉΠ»ΠΎΠΌ, Π΄Π°ΠΆΠ΅ Ссли Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ½ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½.

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ числа ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΎΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ участника

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ, сколько ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² сдСлал ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ участник ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, содСрТащиС ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹

Π£Π·Π½Π°Ρ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ… содСрТатся ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Она ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ список ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠ΄Π°Π»ΡΠ»ΠΈΡΡŒ Ρ„Π°ΠΉΠ»Ρ‹.

ΠžΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΏΠΎ Π°Π²Ρ‚ΠΎΡ€Ρƒ

Π§Ρ‚ΠΎΠ±Ρ‹ вывСсти список ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Π°Π²Ρ‚ΠΎΡ€Ρƒ, слСдуСт Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° всСх скрытых состояний

ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ всС скрытыС состояния ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ локальной ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠΌ, Ρƒ вас Π΅ΡΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠ° Β«fix-bug25Β», ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π² Β«hotfix-usersΒ». ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ:

А Π·Π°Ρ‚Π΅ΠΌ β€” ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ: ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ нСльзя, поэтому Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Ρ‘ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ, ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ ΡƒΠΆΠ΅ с Π½ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ этим ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌ, слСдуСт ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΡ‚ΠΎ ΠΈΠ· Ρ‡Π»Π΅Π½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с этой Π²Π΅Ρ‚ΠΊΠΎΠΉ! УдаляСм Π²Π΅Ρ‚ΠΊΡƒ: git push origin :fix-bug25

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ Π΅Ρ‘ с Π½ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ: git push origin hotfix-users

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π΅Π³Π°

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Π³:

ΠŸΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΆΠ΅Π»Π°Π΅Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ локально, осущСствитС ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ запуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Она ΡƒΠ΄Π°Π»ΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· Π·ΠΎΠ½Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (staging area). Π—Π°Ρ‚Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ локально, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Если трСбуСтся ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡƒΡ‚ΡŒ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

Поиск ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ сообщСния Π²ΠΎ всСх ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ…

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ тСкст сообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ, Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

ΠŸΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ», ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½Π½Ρ‹ΠΉ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½Π½Ρ‹Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ git commit, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ измСнСния.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ всСх Π½Π΅ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Ρ‘ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ старой Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°

БущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ содСрТимоС Ρ„Π°ΠΉΠ»Π° Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ. Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ локальной Π²Π΅Ρ‚ΠΊΠΈ для ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСдактирования

Если Π²Ρ‹ создали Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ с Π½Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ΠΈ Ρ‚ΠΎΠΆΠ΅ смогут Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² эту Π²Π΅Ρ‚ΠΊΡƒ.

Бброс локальной Π²Π΅Ρ‚ΠΊΠΈ Π΄ΠΎ состояния ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ

Π’ Ρ‚ΠΎΠΌ случаС, Ссли ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ, ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π΄ΠΎ состояния ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π²ΡƒΡ… простых ΠΊΠΎΠΌΠ°Π½Π΄.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свСТиС обновлСния ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ:

А Π·Π°Ρ‚Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ git, Ρ‡Ρ‚ΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ слСдуСт Β«ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΒ» Π΄ΠΎ состояния ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ:

Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ с master-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ послСдниС измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ master (ΠΈΠ»ΠΈ с любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Β«ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π°Π΄ Π²Π΅Ρ‚ΠΊΠΎΠΉ foobar:

А Π·Π°Ρ‚Π΅ΠΌ осущСствляСтС Β«ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β»:

ПослС этого Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ origin ΠΈΠ· master. ПослС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² процСсс ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git rebase β€”continue. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ своСй Π²Π΅Ρ‚ΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π΅Ρ‘ слияниС (merge) с Π³Π»Π°Π²Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ.

БлияниС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ прямо Π² процСссС стандартного слияния (merge). Π’Π°ΠΌ стоит ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ слияний ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„Π»Π°Π³ β€”no-ff, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ no fast forward.

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π²Π΅Ρ‚ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄ΡƒΡ‚ Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ измСнСния, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Π² Π΅Ρ‘ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ запуститС процСсс:

Π—Π°Ρ‚Π΅ΠΌ появится сообщСниС ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ merge X into Y branch, послС Ρ‡Π΅Π³ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ смСло Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡŒ вашС слияниС.>

Π‘ΠΎΠ²ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

Если Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² совмСщСнии Π΄Π²ΡƒΡ… послСдних ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

ПослС Π΅Ρ‘ Π²Π²ΠΎΠ΄Π° появятся инструкции ΠΏΠΎ Π²Ρ‹Π±ΠΎΡ€Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². Π’ Ρ‚ΠΎΠΌ случаС, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ всС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΡΡ‚Π°Ρ€Π΅ΠΉΡˆΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ pick, Π° для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±ΡƒΠΊΠ²Ρƒ Π½Π° f. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ здСсь

Π‘ΠΎΠ²ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для добавлСния Π² Π²Π΅Ρ‚ΠΊΡƒ Ρ€Π΅Π»ΠΈΠ·Π°

Если Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Ρ‚ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Π²Π΅Ρ‚ΠΊΠ΅ Ρ€Π΅Π»ΠΈΠ·Π°, поэтому история Π²Π΅Ρ‚ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ останСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ.

НиТС прСдставлСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ эффСкта:

Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ останСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Π²Π΅Ρ‚ΠΊΠ΅ Ρ€Π΅Π»ΠΈΠ·Π°, Π° история ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π²Π΅Ρ‚ΠΊΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ останСтся Π½Π΅Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚ΠΎΠΉ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ с измСнСниями Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ситуация, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² Π²Π΅Ρ‚ΠΊΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, ΠΈ лишь ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ создали Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π΅ΡΡ‚ΡŒ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΡƒΠΆΠ΅ Π² процСссС:

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° пСрСнСсёт Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π² Π½ΠΎΠ²ΡƒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Β«Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒΒ».

Π£Π±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π°

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎ ошибкС Ρ„Π°ΠΉΠ» ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π°, Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ простой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ внСшнСй Π²Π΅Ρ‚ΠΊΠΈ

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ нСотслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π§Ρ‚ΠΎΠ±Ρ‹ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΡ…:

Подсказка: Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ лишними, ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡ… нСпосрСдствСнным ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ, Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅:

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ старых Π²Π΅Ρ‚ΠΎΠΊ, стёртых ΠΈΠ· внСшнСго рСпозитория

Если Π²Π΅Ρ‚ΠΊΠ° ΡƒΠ΄Π°Π»Π΅Π½Π° ΠΈΠ· внСшнСго рСпозитория, Π΅Ρ‘ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ ΠΈΠ· локального рСпозитория с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Она ΡƒΠ΄Π°Π»ΠΈΡ‚ ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅-ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ-Π²Π΅Ρ‚ΠΊΠΈ, которая ΡƒΠΆΠ΅ Π±Ρ‹Π»Π° стёрта ΠΈΠ· внСшнСго рСпозитория, Π½ΠΎ всё Π΅Ρ‰Ρ‘ доступна локально Π² remotes/Π½Π°Π·Π²Π°Π½ΠΈΠ΅-ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ-Π²Π΅Ρ‚ΠΊΠΈ.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΈΠ· git с сохранСниСм Π΅Π³ΠΎ локальной ΠΊΠΎΠΏΠΈΠΈ

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· git, Π½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ локально Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π‘Π΅Π· Π“ΠΈΡ‚Π° ΠΈ Тизнь Π½Π΅ Ρ‚Π°

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ Π² Git Π½Π° курсах HTML Academy. ΠœΡ‹ расскаТСм всё, Ρ‡Ρ‚ΠΎ Π·Π½Π°Π΅ΠΌ сами, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΏΡ€ΠΎΠΊΠ°Ρ‡Π°Π»ΠΈ Π½Π°Π²Ρ‹ΠΊΠΈ Π² Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

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

Командная Ρ€Π°Π±ΠΎΡ‚Π° Π² Git

Π’ΠΎ всСм мноТСствС статСй ΠΏΠΎ git’Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я смог Π½Π°ΠΉΡ‚ΠΈ Π² сСти, Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ сущСствСнного ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° β€” описания ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π½Π° самом Π΄Π΅Π»Π΅ являСтся просто Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ.

НиТС я Ρ…ΠΎΡ‡Ρƒ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ свой ΠΎΠΏΡ‹Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ с использованиСм git’Π°.

1. ΠžΠ±Ρ‰ΠΈΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ

Π Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Ρƒ мСня ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π― Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ‚ΠΈΡ€Π΅ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΎΡ‚Π΄Π΅Π»Π° Ρ‚ΠΈΡ€Π΅ ΠΏΡ€ΠΎΠ΄ΠΆΠ΅ΠΊΡ‚ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€. Π£ мСня Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π΅ΡΡ‚ΡŒ нСсколько Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Моя Ρ€Π°Π±ΠΎΡ‚Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ:

1) ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ с Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ
2) ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ смутноС ΠΈ ΠΏΡƒΡ‚Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° Π² Ρ‡Π΅Ρ‚ΠΊΠΎ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ
3) ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ эту Π·Π°Π΄Π°Ρ‡Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ
4) ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ
5) Π½Π΅ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π½Π° Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΡƒ
6) ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ Π½Π° ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ сразу ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½
7) ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π½Ρ‹ΠΉ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½
8) Π½Π΅ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π½Ρ‹ΠΉ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π½Π° Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΡƒ

Π Π°Π±ΠΎΡ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, соотвСтствСнно, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ:

1) ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ мСня Π·Π°Π΄Π°Ρ‡Ρƒ
2) Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π΅
3) ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ½Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
4) Ссли Π·Π°Π΄Π°Ρ‡Π° Π²Π΅Ρ€Π½ΡƒΠ»Π°ΡΡŒ Π½Π° Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΡƒ β€” Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ снова ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ½Π΅

Для управлСния Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Trac. Π’Π°ΠΊ ΠΆΠ΅ Π² Trac’Π΅ вСдСтся докумСнтация ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ, ΠΊΠ°ΠΊ программСрская, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ.

Π‘Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π² Π·Π°Π΄Π°Ρ‡Ρƒ, я Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽ Π΅Π΅ Π² Trac ΠΈ Π½Π°Π·Π½Π°Ρ‡Π°ΡŽ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² Π·Π°Π΄Π°Ρ‡Ρƒ, ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΅Π΅ ΠΌΠ½Π΅. Π― ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈ, Π»ΠΈΠ±ΠΎ снова ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π°ΡŽ Π΅Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ, Π»ΠΈΠ±ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽ ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΡƒΡŽ.

Алгоритм Ρ€Π°Π±ΠΎΡ‚Ρ‹ с git’ΠΎΠΌ ΠΈ общая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° происходящСго схСматичСски прСдставлСны Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅:

Update project git Ρ‡Ρ‚ΠΎ это

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ тСорСтичСской части ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ практичСской ΠΈ разбСрСмся, Ρ‡Ρ‚ΠΎ всС это Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

2. Git

УстановитС Git. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΠ°Π½ΡƒΠ°Π». Π Π°Π·Π±Π΅Ρ€ΠΈΡ‚Π΅ΡΡŒ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ β€” эта ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ ΠΏΡ€ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git’Π°, Π° ΠΏΡ€ΠΎ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΡƒΠ²ΡΠ·Π°Ρ‚ΡŒ эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π»Π΅Π΅ я Π±ΡƒΠ΄Ρƒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git’Π° Π±Π΅Π· ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… объяснСний, прСдполагая, Ρ‡Ρ‚ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π°ΠΌ извСстно.

3. Доступ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ

ΠŸΡ€ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ потрСбуСтся ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ нСскольким ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. Для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ разруливания ΠΏΡ€Π°Π² доступа ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ gitosis.

Gitosis β€” это Π½Π°Π±ΠΎΡ€ скриптов, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ git-рСпозиториями ΠΈ доступом ΠΊ Π½ΠΈΠΌ. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ это Ρ‚Π°ΠΊ:

β€” Π½Π° сСрвСрС заводится ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ всС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ
β€” всС обращСния ΠΊ рСпозиториям происходят ΠΏΠΎ SSH, ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ этого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, авторизация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ производится ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π°ΠΌ
β€” ΠΏΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ ΠΏΠΎ SSH автоматичСски Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ скрипты gitosis, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π² зависимости ΠΎΡ‚ настройки, Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ ΠΈΠ»ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‰Π°ΡŽΡ‚ дальнСйшиС дСйствия с рСпозиториями

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ gitosis сами хранятся Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡƒΡ‚Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² этот Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π—Π²ΡƒΡ‡ΠΈΡ‚ Π±Π΅Π·ΡƒΠΌΠ½ΠΎ, Π½ΠΎ Π½Π° Π΄Π΅Π»Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ особо Ρ…ΠΈΡ‚Ρ€ΠΎΠ³ΠΎ, Π²ΠΏΠΎΠ»Π½Π΅ просто ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ.

4. Установка gitosis

Для установки gitosis’Π° Π½ΡƒΠΆΠ½ΠΎ (ΡΡŽΡ€ΠΏΡ€ΠΈΠ·!) Π²Ρ‹Ρ‚ΡΠ½ΡƒΡ‚ΡŒ установочный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ gitosis’Π° с сСрвСра Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° gitosis’Π°:

$ git clone git://eagain.net/gitosis.git

$ cd gitosis
$ su
# python setup.py install

Установочный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ большС Π½Π΅ понадобится, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² систСмС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ всС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ:

$ su
# adduser gituser

А Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ gitosis Π² домашнСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ созданного ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ администратором gitosis’Π°. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, понятно, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΊΡƒΠ΄Π°-Ρ‚ΠΎ, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π΅Π³ΠΎ смоТСт ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ gituser:

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

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

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