ΠΊΠ°ΠΊ ΡΠ·Π½Π°ΡΡ Π² ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΊΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ git
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠ°ΠΌΠΈ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΆΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π²Π΅ΡΠΊΠΈ, ΠΏΠΎΡΠ° ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ ΠΏΡΠΈΠ³ΠΎΠ΄ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΡΠ½ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ.
ΠΠΎΠΌΠ°Π½Π΄Π° git branch Π΄Π΅Π»Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΡΠ΄Π°Π»ΡΠ΅Ρ Π²Π΅ΡΠΊΠΈ. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Ρ Π²Π°Ρ Π²Π΅ΡΠΎΠΊ:
ΠΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΎΠΉ ΠΆΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π½ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ ΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ Π½Π° Π½Π΅Ρ.
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ
ΠΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΠΉΡΠ΅ Π²Π΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡ Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌΠΈ. ΠΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΠΉΡΠ΅ Π²Π΅ΡΠΊΡ Π² master/main/mainline, Π½Π΅ ΠΏΡΠΎΡΠΈΡΠ°Π² ΡΠ°Π·Π΄Π΅Π» Β«ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈΒ».
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, Π³Π΄Π΅ ΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ:
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠ°ΡΠΎΠ΅ ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Π²Π΅ΡΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ master/main/mainline/default, ΡΠ»ΠΎΠΌΠ°Π΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ, ΡΠ»ΡΠΆΠ±Ρ, Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ ΠΈ ΡΠΊΡΠΈΠΏΡΡ ΡΠ±ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠΊΠΎΠ½ΡΡΠ»ΡΡΠΈΡΡΠΉΡΠ΅ΡΡ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ. Π’Π°ΠΊΠΆΠ΅ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ Π² ΡΠ²ΠΎΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΠ°ΡΠΎΠ΅ ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡΠ°Ρ .
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ master Π² main Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π ΠΈΡΠΎΠ³Π΅, ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
Π’Π΅ΠΏΠ΅ΡΡ, Π΄Π»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ ΡΡΠΎΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ:
ΠΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ΄ΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ ΠΈ/ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.
ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π²ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ ΡΠ΅ΡΡΠΎΠ².
ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ².
ΠΠΎΠΏΡΠ°Π²ΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅: Π·Π°Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ»ΠΈΡΠ½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π²Π΅ΡΠΎΠΊ.
ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΈΡΠΏΡΠ°Π²ΠΈΠ² ΡΡΡΠ»ΠΊΠΈ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ Π½Π° ΡΡΠ°ΡΡΡ Π²Π΅ΡΠΊΡ.
Π‘Π»Π΅ΠΉΡΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΡΡΠ°ΡΡΡ Π²Π΅ΡΠΊΡ.
ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ Π² ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΊΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ git
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²
git init [project-name] β ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.
git clone [url] β Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
Π Π°Π±ΠΎΡΠ° Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ
git status β ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git diff β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° (staged).
git add [file] β ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π³ΠΎΡΠΎΠ²ΡΠΌ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git add ‘*.txt’ β Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
git diff HEAD β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git diff HEAD^ β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git diff [branch] β ΡΡΠ°Π²Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ.
git reset [file] β ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ° (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅ ΡΠ΅ΡΡΡΡΡΡ).
git commit β Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ.
Π Π°Π±ΠΎΡΠ° Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ
git branch β ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΎΠΊ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
git branch [branch-name] β ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ.
git checkout [branch-name] β ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
git checkout [filename] β Π²Π΅ΡΠ½ΡΡΡ ΡΠ°ΠΉΠ» Π² ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git merge [branch] β ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠΉ.
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ
git rm [file] β ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ.
git mv [file-original] [file-renamed] β ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
.gitignore β ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π°Π΄Π°ΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ²
git stash β ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π²ΡΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
git stash pop β Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
git stash list β ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
git stash drop β ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ
git log β ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ.
git diff [file-branch]..[second-branch] β ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ.
git show [commit] β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΠ°Π΄Π°ΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅.
git show [branch]:[file] β ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠ°ΠΉΠ» Π² Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡ Π½Π° Π½Π΅Ρ.
ΠΡΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
git reset β ΡΠ±ΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΡΠ°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΡΠ°Π½ΡΡΡΡ.
git reset [commit/tag] β ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ.
Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git fetch [bookmark] β Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π²ΡΡ ΠΈΡΡΠΎΡΠΈΡ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
git merge [bookmark]/[branch] β ΡΠ»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ.
git push β Π·Π°ΠΏΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ.
git push [remote] [branch] β Π·Π°ΠΏΡΡΠΈΡΡ Π²Π΅ΡΠΊΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ.
git push [bookmark] :[branch] β Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π·Π°Π΄Π°Π½Π½ΡΡ Π²Π΅ΡΠΊΡ.
git pull β Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ.
git pull [remote][branch] β ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ Π΄Π»Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ.
git remote β ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π².
git remote add [remote][url] β Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
git ΡΠ·Π½Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ
Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΎΠΊ
Π§ΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°:
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΎΠΊ
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΠΊΠΈ Ρ ΡΠ΅Π±Ρ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°:
git fetch Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ°ΠΉΠ»Ρ ΠΈ ΡΡΡΠ»ΠΊΠΈ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ°Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΄Π΅Π»Π°Π» Π² Π½Π΅ΠΌ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎ git fetch Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π²Π°ΡΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅.
Π‘ΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ Π²Π΅ΡΠΎΠΊ
ΠΠ°ΠΏΠΈΡΠ°Π» Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±Π΅ΡΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΊΡΡΠ΅Π³ΠΎ Π±ΡΠ°Π½ΡΠ° Π² Π³ΠΈΡΠ΅, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΅Π³ΠΎ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΡΡ .
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git branch.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ Π²Π΅ΡΠΎΠΊ, ΠΏΠΎΠΌΠ΅ΡΠ°Ρ ΡΠ°Π±ΠΎΡΡΡ Π²Π΅ΡΠΊΡ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΎΠΉ (*):
ΠΠ· Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΠ»Π΅Π½ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ dev, Π΄Π° Π΅ΡΠ΅ ΠΈ Π±Π΅Π· Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΈ.
ΠΡΡΡ ΡΠ΅ΡΠ²Π΅Ρ git, ΡΡΠ΄Π° Ρ ΠΏΠΎΡΡΠ°Π²ΠΈΠ» web-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΈ Π½Π°Π΄ΠΎ ΠΏΡΠΈΠΊΡΡΡΠΈΡΡ ctags Π½Π° ΡΠ°ΠΉΠ»Ρ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ push Π² hookβΠ°Ρ , ΡΠ΅ΡΠΈΠ» Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π²Π΅ Π²Π΅ΡΠΊΠΈ Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ origin:
ΠΠ°Π΄ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΊΠ°ΠΊ ΡΠΎ ΡΠ·Π½Π°Π²Π°ΡΡ ΡΠ»Π΅ΠΉΠ΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (origin ΠΈΠ»ΠΈ Π΄Ρ.), ΠΈ Π²Π΅ΡΠΊΡ, ΠΏΠΎ http ΡΠ°ΠΊΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ.
ΠΏΡΠΎΠ΄Π΅Π»Π°Π» Ρ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠ΅:
ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π» ΡΠ°ΠΉΠ» head:
Π² .git/HEAD Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅: ref: refs/heads/dev
Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ref: refs/heads/master
dev Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° ΠΏΠΎΡΠ»Π΅ master
Π½ΠΎ HEAD ΠΏΠΎ ΡΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΆΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² Π΄Π΅ΡΠ΅Π²Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ? ΠΠΎΡΠ΅ΠΌΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ master?
Π²ΠΎΡ Π΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ» Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅:
1 ΠΎΡΠ²Π΅Ρ 1
ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅
Π² git-Π΅ Π²Π΅ΡΠΊΠΎΠΉ (branch) Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΡΠΊΠΎΠ»ΡΠ·ΡΡΠΈΠΉΒ» ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° commit, Π° Π½Π΅ Π½Π°Π±ΠΎΡ commit-ΠΎΠ², ΠΊΠ°ΠΊ ΠΏΡΠΈΠ½ΡΡΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ Π²Π΅ΡΡΠΈΠΉ.
Π½ΠΎ HEAD ΠΏΠΎ ΡΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΆΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² Π΄Π΅ΡΠ΅Π²Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ? ΠΠΎΡΠ΅ΠΌΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ master?
Π² bare-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ°ΠΉΠ» HEAD ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° Β«Π²Π΅ΡΠΊΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡΒ», ΡΡΠΎ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ: Π΅ΡΠ»ΠΈ ΠΏΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ, Π½Π° ΠΊΠ°ΠΊΡΡ Π²Π΅ΡΠΊΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ (working directory) ΠΏΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΡΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ (Π‘ΠΠ) Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠΎΡΠΌΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅, ΠΡ ΠΎΡΠΊΠ»ΠΎΠ½ΡΠ΅ΡΠ΅ΡΡ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π½Π΅Ρ, Π½Π΅ Π²ΠΌΠ΅ΡΠΈΠ²Π°ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π»ΠΈΠ½ΠΈΡ. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π‘ΠΠ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ β ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π·Π°ΡΡΠ°ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΡΡΠΈΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΠ΄ΠΈ, Π³ΠΎΠ²ΠΎΡΡ ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ Git, Π½Π°Π·ΡΠ²Π°ΡΡ Π΅Π΅ Β«ΠΊΠΈΠ»Π»Π΅Ρ-ΡΠΈΡΠ°Β», ΡΡΠΎ Π²ΡΠ³ΠΎΠ΄Π½ΠΎ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ Git Π½Π° ΡΠΎΠ½Π΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π‘ΠΠ. Π§ΡΠΎ Π² Π½Π΅ΠΉ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΠ³ΠΎ? ΠΠ΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ Git ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΠΎ: ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ ΡΡΠ΄Π°-ΡΡΠ΄Π°, ΠΎΠ±ΡΡΠ½ΠΎ, ΡΠ°ΠΊΠΆΠ΅ Π±ΡΡΡΡΠΎ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ Π‘ΠΠ, Git ΠΏΠΎΠΎΡΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΎ, Π΄Π°ΠΆΠ΅ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π² Π΄Π΅Π½Ρ. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ Π΄Π°Π΅Ρ Π²Π°ΠΌ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΈ Π² Π΄Π²ΡΡ ΡΠ»ΠΎΠ²Π°Ρ
ΠΠ»Ρ ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π΅ΡΠ½ΡΡΡΡΡ Π½Π°Π·Π°Π΄ ΠΈ ΠΈΠ·ΡΡΠΈΡΡ ΡΠΎ, ΠΊΠ°ΠΊ Git Ρ ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅.
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΈΠ· Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Git?, Git Π½Π΅ Ρ ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ² (snapshot).
ΠΠΎΠ³Π΄Π° Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ, Git ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ½ΠΈΠΌΠΎΠΊ (snapshot) ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠΌΡ Π°Π²ΡΠΎΡΠ° ΠΈ email, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΌΡ (Π΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ): ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΎΠ΄ΠΈΠ½ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ»ΠΈΡΠ½ΠΈΡ Π΄Π²ΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π²Π΅ΡΠΎΠΊ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΡΡΠ΅ΠΌΡ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΠΈΡ Π²ΡΠ΅ Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (SHA-1 ΠΊΠ°ΠΊ ΠΌΡ ΡΠ·Π½Π°Π»ΠΈ ΠΈΠ· Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Git?), Π·Π°ΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ (Git Π½Π°Π·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ» Π±Π»ΠΎΠ± β Π±ΠΎΠ»ΡΡΠΎΠΉ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ), Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ° ΠΏΠΎΠΏΠ°Π΄ΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡ:
ΠΠ°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΡΠ°Π½ΠΈΡ ΠΏΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²: ΡΡΠΈ Π±Π»ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ»), ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π΅ΡΠ΅Π²Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΈΠΌ Π±Π»ΠΎΠ±ΠΎΠ², Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π΅ΡΠ΅Π²Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ².
ΠΡΠ»ΠΈ Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ
ΠΠ°ΠΊΠΎΠΉ Π² ΡΡΠΎΠΌ ΡΠΌΡΡΠ»? ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ:
ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΡΠΎ Π² Π΅Ρ Π²ΡΠ²ΠΎΠ΄Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ Π²Π΅ΡΠΊΠ° Β«testingΒ» ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
ΠΠ΅ΡΠΊΠ° Π½ΠΈΠΊΡΠ΄Π° Π½Π΅ ΠΈΡΡΠ΅Π·Π»Π°; ΠΏΡΠΎΡΡΠΎ Git Π½Π΅ Π·Π½Π°Π΅Ρ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π° Π²Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ, ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΏΠΎ Π΅Π³ΠΎ ΠΌΠ½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ git log ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ.
ΠΠ°ΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π²Π΅ΡΠΎΠΊ Π² Git ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ΡΡ Π½Π° ΡΡΠ°ΡΡΡ Π²Π΅ΡΠΊΡ, ΡΠΎ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄Π΅Π» Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΡΡ Π²Π΅ΡΠΊΡ. ΠΡΠ»ΠΈ Git ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ β ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π²ΠΎΠΎΠ±ΡΠ΅.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ:
ΠΠ΅ΡΠΊΠ° Π² Git β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°ΠΉΠ», ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ 40 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΡ SHA-1 ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ; ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ Π΄Π΅ΡΡΠ²ΡΠΌΠΈ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² Git ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΊ ΠΆΠ΅ Π±ΡΡΡΡΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΈΡΡ 41 Π±Π°ΠΉΡΠ° Π² ΡΠ°ΠΉΠ» (40 Π·Π½Π°ΠΊΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ).
ΠΡΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ Π² Git ΠΎΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, Π³Π΄Π΅ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ Π² ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠΈΠ½ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π² Git ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½Ρ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ ΠΌΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠΎ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ Π±Π°Π·Ρ Π΄Π»Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ Π²Π΅ΡΠΎΠΊ Π΄Π΅Π»Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈ, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π², ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡ. ΠΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ±ΡΠΆΠ΄Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ°ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΈ Π²Π°ΠΌ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» Π΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ ΠΆΠ΅.
Π Π°Π±ΠΎΡΠ° Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Π² GIT
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π±Π°Π³ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π½ΠΎΠ²ΡΡ ΡΠΈΡΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅, ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ. ΠΠ°ΡΠ΅ΠΌ? Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ. ΠΡΠ»ΠΈ Π±Ρ Π²ΡΠ΅ Π΄Π΅Π»Π°Π»ΠΎΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π½Π°Π΄ Π½ΠΈΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡΠ΄Π΅ΠΉ.
ΠΠΎΡΡΠΎΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²Π΅ΡΠΊΠ΅ ΡΠ»ΠΈΠ²Π°ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ master.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ testing Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π²Π΅ΡΠΊΠ΅, Π΄ΠΎΠΏΡΡΡΠΈΠΌ Π² master. Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΎ Π² Π²Π΅ΡΠΊΡ testing, ΠΈ Π² testing ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈ Π΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΊΠΈ, Π½Π΅ ΡΡΠΎΠ³Π°Ρ ΠΏΠΎΠΊΠ° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ master.
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΠΊΡ
ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ, Π½ΠΎ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡ Π½Π°Ρ Π½Π° Π½Π΅Π΅, ΠΌΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΡΡΠ°Π½Π΅ΠΌΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅. Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π²Π΅ΡΠΊΡ testing ΠΈ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π½Π΅ΠΉ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ GIT Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΠΊΡ, Π΅ΡΠ»ΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅ β Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ β Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ (commit) Π»ΠΈΠ±ΠΎ Π½Π΅ ΡΠΏΡΡΡΠ°Π½Ρ (stash). ΠΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π²Π΅Π΄Ρ ΠΏΡΠΈ ΡΠΌΠ΅Π½Π΅ Π²Π΅ΡΠΊΠ΅ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠΌΠ΅Π½ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΈ git-Ρ Π½Π°Π΄ΠΎ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ Π±ΡΡΡ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
Π§ΡΠΎΠ±Ρ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ:
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ testing ΠΈ ΡΡΠ°Π·Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡ Π½Π°Ρ Π½Π° Π½Π΅Π΅. ΠΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΡΡΡ-ΡΠΎ Π²Π΅ΡΠΊΡ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ GIT Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΡΠΆΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ. ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°ΠΊΠΎΠΉ β Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΡΠΆΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΠΈ Π½Π°Π΄ Π½Π΅ΠΉ ΡΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅.
ΠΠΎ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°Π΄ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ β ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π² Π½Π΅Π³ΠΎ Π²ΡΠ΅ Π²Π΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΊΠΈ Π΅ΡΡΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ:
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΠ°ΠΌ Π΅ΡΡΡ Π²Π΅ΡΠΊΠ° dev1. ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠΌΡΡ Π½Π° Π½Π΅Π΅, ΡΠΎΠ·Π΄Π°Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ:
ΠΠΎΠΎΠ±ΡΠ΅-ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅:
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ΄Π²Π΅ΡΠΊΡ Π²Π΅ΡΠΊΠΈ
ΠΠ±ΡΡΠ½ΠΎ ΠΌΡ ΠΎΡΠ²Π΅ΡΠ²Π»ΡΠ΅ΠΌΡΡ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ master, Π½ΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°. ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ β ΡΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΡ, ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°.
ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ Π²Π΅ΡΠΊΡ:
ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ master.
ΠΡΠ»ΠΈ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΎΡΠ²Π΅ΡΠ²ΠΈΡΡΡΡ Π½Π΅ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, Π° ΠΎΡ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ testing, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡ Π½Π°Ρ Π½Π° Π²Π΅ΡΠΊΡ testing.
ΠΡΠΎΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ subbranch_of_testing, ΠΎΡΠ²Π΅ΡΠ²Π»ΡΡΡΡΡΡΡ ΠΎΡ testing, ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡ Π½Π°Ρ Π½Π° Π½Π΅Π΅.
ΠΠ°ΠΊ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ, subbranch_of_testing β ΡΡΠΎ ΠΏΠΎΠ΄Π²Π΅ΡΠΊΠ° Π²Π΅ΡΠΊΠΈ testing.
ΠΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π΅ΡΠΊΠΈ
Π§ΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Π²Π΅ΡΠΊΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΡΠ²ΠΈΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²Π΅ΡΠΎΠΊ. Π’Π΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π° Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΎΠΉ.
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ
ΠΠ½ΠΎΠ³Π΄Π° ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ Π½Π΅ ΡΠ°ΠΌΠΎΠ΅ Π»ΡΡΡΠ΅Π΅. ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ.
ΠΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΡΠ»ΠΈ Π΅ΡΠ΅ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° push, ΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ.
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π²Π΅ΡΠΊΡ testing Π² Π²Π΅ΡΠΊΡ test:
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° Ρ Π½Π°Ρ subbranch_of_testing. ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π΅Π΅ Π² subbranch:
Π£Π΄Π°Π»Π΅Π½Π½ΡΡ
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ (Π²Π΅ΡΠΊΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ) Π½Π΅Π»ΡΠ·Ρ. ΠΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π΅Π΅ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ Ρ Π½ΠΎΠ²ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ:
Π·Π΄Π΅ΡΡ origin β ΠΈΠΌΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ),
old-name β ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ,
new-name β Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°Π΄ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ testing Π² test:
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄:
Π€Π»Π°Π³ΠΈ:
-D ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ βdelete βforce ΡΠ΄Π°Π»ΡΠ΅Ρ Π²Π΅ΡΠΊΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠ»ΠΈΡΡ Π»ΠΈ Π΅Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
-d ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ βdelete
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΄Π°Π»ΠΈΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ test:
ΠΠΎΠΎΠ±ΡΠ΅-ΡΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΄Π°Π»ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ»ΠΈΠ»ΠΈ Π΅Π΅ (Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ merge) Π² Π²Π΅ΡΠΊΡ master, ΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π·Π΄Π΅Π» Π² ΡΡΠ°ΡΡΠ΅ ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π²Π΅ΡΠΎΠΊ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²Π΅ Π·Π°ΠΏΠΈΡΠΈ.
ΠΠΈΠ±ΠΎ ΡΠ΅ΡΠ΅Π· Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΆΠ΅ Π΄Π΅Π»Π°Π»ΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ Π²Π΅ΡΠΊΠΈ:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΄Π°Π»ΠΈΠΌ Π²Π΅ΡΠΊΡ test ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ origin:
ΠΠΈΠ±ΠΎ Ρ ΡΠ»Π°Π³ΠΎΠΌ βdelete, ΡΠ°ΠΊ ΠΏΠΎΠ½ΡΡΠ½Π΅Π΅:
Π·Π΄Π΅ΡΡ origin β ΠΈΠΌΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΠ°ΠΊ ΡΠ»ΠΈΡΡ Π²Π΅ΡΠΊΠΈ
ΠΠ±ΡΡΠ½ΠΎ ΡΠ»ΠΈΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²Π΅ΡΠΊΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π΅ΡΠΊΡ-Π±Π°Π³ΡΠΈΠΊΡ) Π² Π²Π΅ΡΠΊΡ master. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π² Π²Π΅ΡΠΊΡ master (Π² ΡΡ Π²Π΅ΡΠΊΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ):
Π Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ»ΠΈΡΠ½ΠΈΠ΅. ΠΠΎΠΏΡΡΡΠΈΠΌ, Π² Π²Π΅ΡΠΊΡ master Π½Π°Π΄ΠΎ ΡΠ»ΠΈΡΡ Π²Π΅ΡΠΊΡ test :
Π‘Π»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π³Π»Π°Π΄ΠΊΠΎ, ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ Π²ΡΡΡΠ½ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈΡ commit.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ GIT ΠΈ ΡΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΡ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π΅ΡΠΎΠΊ.