Git ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²: ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Git
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Git
Β Β
Β
git
VCS
ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² β Π²Π°ΠΆΠ½Π°Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ. Π£Π²Ρ, Π²Π²ΠΈΠ΄Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ Ρ ΡΡΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΡΡΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ. ΠΠ±ΡΡΠ½ΠΎ Ρ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°ΠΌΠΈ, Π½ΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π΅ΡΡΡ ΡΠ°ΠΊΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ. ΠΡΠ΅ΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
git log. ΠΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ Π² ΡΡΠ΄Π΅ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅
ProGit
.
git log
ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡΠΉ Π²ΠΈΠ΄
git log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»Π½ΡΠΉ Π³ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² c ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΌΠΈ Ρ Π΅ΡΠ°ΠΌΠΈ, ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π΄Π°ΡΠΎΠΉ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ: ΡΠΈΠ½ΠΈΠΉ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΉ Ρ Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π·Π΅Π»ΡΠ½Π°Ρ Π΄Π°ΡΠ°, Π±Π΅Π»ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π²ΡΠΎΡ, ΠΆΡΠ»ΡΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ.
git log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»Π½ΡΠΉ Π³ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² c ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΌΠΈ Ρ Π΅ΡΠ°ΠΌΠΈ, ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠΉ Π΄Π°ΡΠΎΠΉ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ: ΡΠΈΠ½ΠΈΠΉ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΉ Ρ Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π³ΠΎΠ»ΡΠ±Π°Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½Π°Ρ Π΄Π°ΡΠ°, Π·Π΅Π»ΡΠ½Π°Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π΄Π°ΡΠ°, ΠΆΡΠ»ΡΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ, ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ, Π±Π΅Π»ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π²ΡΠΎΡ.
git log --graph --oneline --all
ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»Π½ΡΠΉ Π³ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΎΡΠ²ΠΎΠ΄Ρ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ.
git log --graph --date-order --pretty=format:"<%h> %ad [%an] %Cgreen%d%Creset %s" --all --date=short
ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»Π½ΡΠΉ Π³ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² c ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ Π΄Π°ΡΠ΅, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΉ Π² ΠΊΡΠ°ΡΠΊΠΎΠΉ ΡΠΎΡΠΌΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ: ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΉ Ρ Π΅Ρ, Π΄Π°ΡΠ°, Π°Π²ΡΠΎΡ, Π·Π΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΠΈΠ½Π΅ΠΉΠ½ΡΠΉ Π²ΠΈΠ΄
ΠΡΠ²ΠΎΠ΄ ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ diff Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ.
ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ.
Pro Git: ΠΡΠ½ΠΎΠ²Ρ Git — ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΈΠ»ΠΈ ΠΆΠ΅ Π²Ρ ΡΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π²Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ³Π»ΡΠ½ΡΡΡΡΡ Π½Π°Π·Π°Π΄ ΠΈ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΠΆΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ Ρ ΡΡΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ β ΠΊΠΎΠΌΠ°Π½Π΄Π° git log.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° Ρ ΡΠΎΠ·Π΄Π°Π» Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΉ Git. ΠΡΠ΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π΄Π²Π° ΡΠ°ΠΉΠ»ΠΈΠΊΠ°, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π» ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΈΠ» ΡΠ΅ΡΡΡΠ΅ ΡΠ°Π·Π°. ΠΠΎΡΠΎΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΈ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ git log Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π²ΠΈΠ΄ΠΈΠΌ ΡΡΠΎ:
ΠΠΈΠ΄ΠΈΠΌ ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ 5 ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², git log Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Ρ ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. Π’ΠΎ Π΅ΡΡΡ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ. ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΠΎΠΉ SHA-1, ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠΎΠΉ Π°Π²ΡΠΎΡΠ°, Π΄Π°ΡΠΎΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΠ΅Π²Π΅Π»ΠΈΠΊΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log ΠΈ ΠΈΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²Π°ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ Π²Ρ ΠΈΡΠ΅ΡΠ΅. ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²Π°ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ .
ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² β ΡΡΠΎ -p, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄Π΅Π»ΡΡΡ (ΡΠ°Π·Π½ΠΈΡΡ/diff), ΠΏΡΠΈΠ²Π½Π΅ΡΠ΅Π½Π½ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ -2, ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ Π΄ΠΎ 2-Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ:
ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡ ΠΆΠ΅ ΡΠ°ΠΌΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠ»ΡΡ Π²Π½Π΅ΡΡΠ½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΠΉ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅Π³ΠΎΠΉ.
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅ΠΉ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π²Π½Π΅ΡΡΠ½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ»ΠΎΠ², Π° Π½Π΅ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΡΠΎΠΊ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π΅Π»ΡΡΡ ΠΏΠΎ ΡΠ»ΠΎΠ²Π°ΠΌ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠΉ Π΄Π΅Π»ΡΡΡ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ, Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log -p ΠΎΠΏΡΠΈΡ —word-diff. ΠΠ΅Π»ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ»ΠΎΠ² ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π½ΠΎ ΠΎΠ½ΠΈ Π±ΡΠ΄Ρ ΠΎΡΠ΅Π½Ρ ΠΊΡΡΠ°ΡΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ Π΄Π»ΠΈΠ½Π½ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ ΠΊΠ½ΠΈΠ³Π° ΠΈΠ»ΠΈ Π΄ΠΈΡΡΠ΅ΡΡΠ°ΡΠΈΡ. Π― ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Β Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π² ΡΡΠΎΠΌ Π²ΡΠ²ΠΎΠ΄Π΅ Π½Π΅Ρ Π½ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ Π½ΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ ΡΡΡΠΎΠΊ, ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ diff’Π°. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π²Π½ΡΡΡΠΈ ΡΡΡΠΎΠΊΠΈ. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² {+ +}, Π° ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ΅ Π² [- -].
Π‘ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git log Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΡΡΠΏΠΏΡ ΡΡΠΌΠΌΠΈΡΡΡΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΡΠ°ΡΠΊΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ —stat:
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π»ΠΎΠ³Π°, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ —stat Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ ΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ ΡΡΡΠΎΠΊ Π² ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ . ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ²ΠΎΠ΄Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅.
ΡΡΠ³ΠΎΠΉ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ β ΡΡΠΎ —pretty. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π° Π»ΠΎΠ³Π°. ΠΠ»Ρ Π²Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ². ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ oneline Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΡΠΎΠΌΡ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ short, full, ΠΈ fuller, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΡ ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ:
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ β ΡΡΠΎ format, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π° Π»ΠΎΠ³Π°. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΠ·Π΄Π°ΡΡΠ΅ ΠΎΡΡΡΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ° (ΠΏΠ°ΡΡΠΈΠ½Π³Π°) β ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ ΡΠ²Π½ΠΎ Π·Π°Π΄Π°ΡΡΠ΅ ΡΠΎΡΠΌΠ°Ρ ΠΈ ΡΠ²Π΅ΡΠ΅Π½Ρ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΡ Git’Π°:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ |
---|---|
%H | Π₯Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° |
%h | Π‘ΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΉ Ρ Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° |
%T | Π₯Π΅Ρ Π΄Π΅ΡΠ΅Π²Π° |
%t | Π‘ΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΉ Ρ Π΅Ρ Π΄Π΅ΡΠ΅Π²Π° |
%P | Π₯Π΅ΡΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² |
%p | Π‘ΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠ΅ Ρ Π΅ΡΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² |
%an | ΠΠΌΡ Π°Π²ΡΠΎΡΠ° |
%ae | ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ° Π°Π²ΡΠΎΡΠ° |
%ad | ΠΠ°ΡΠ° Π°Π²ΡΠΎΡΠ° (ΡΠΎΡΠΌΠ°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ --date= ) |
%ar | ΠΠ°ΡΠ° Π°Π²ΡΠΎΡΠ°, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ (ΠΏΡ. «2 ΠΌΠ΅Ρ. Π½Π°Π·Π°Π΄») |
%cn | ΠΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ° |
%ce | ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ° |
%cd | ΠΠ°ΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ° |
%cr | ΠΠ°ΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ°, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ |
%s | ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ |
ΠΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡ, Π² ΡΡΠΌ ΠΆΠ΅ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π°Π²ΡΠΎΡΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠΎΠΌ. ΠΠ²ΡΠΎΡ β ΡΡΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°Π²ΡΠΈΠΉ ΡΠ°Π±ΠΎΡΡ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠ΅Ρ β ΡΡΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ» ΡΡΡ ΡΠ°Π±ΠΎΡΡ. Π’Π°ΠΊ ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠ»Π°Π»ΠΈ ΠΏΠ°ΡΡ (Π·Π°ΠΏΠ»Π°ΡΠΊΡ) Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ» ΡΡΠΎΡ ΠΏΠ°ΡΡ, Π²Ρ ΠΎΠ±Π° Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ Π·Π°Π±ΡΡΡ β Π²Ρ ΠΊΠ°ΠΊ Π°Π²ΡΠΎΡ, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠ΅Ρ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ oneline ΠΈ format ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ log β —graph. ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΌΠΈΠ»Π΅Π½ΡΠΊΠΈΠΉ ASCII-Π³ΡΠ°Ρ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ ΠΈΡΡΠΎΡΠΈΡ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΉ.
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΡΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° Π΄Π»Ρ git log β ΠΈΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅. Π’Π°Π±Π»ΠΈΡΠ° Π½ΠΈΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠ°ΠΊ ΡΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π½Π°ΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡΡ Π½Π° Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ log.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
-p | ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΄Π΅Π»ΡΡΡ Π²Π½Π΅ΡΡΠ½Π½ΡΡ ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. |
--word-diff | ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ»ΠΎΠ². |
--stat | ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ. |
--shortstat | ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊΡ changed/insertions/deletions ΠΎΡ Π²ΡΠ²ΠΎΠ΄Π° Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ --stat . |
--name-only | ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅. |
--name-status | ΠΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ/ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ/ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ. |
--abbrev-commit | ΠΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΡ SHA-1 Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ΅Ρ 40. |
--relative-date | ΠΡΠ²ΠΎΠ΄ΠΈΡΡ Π΄Π°ΡΡ Π² ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, «2 weeks ago») Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ Π΄Π°ΡΡ. |
--graph | ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ASCII-Π³ΡΠ°Ρ ΠΈΡΡΠΎΡΠΈΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΉ ΡΡΠ΄ΠΎΠΌ Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ Π»ΠΎΠ³Π°. |
--pretty | ΠΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: oneline , short , full , fuller ΠΈ format (Π³Π΄Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ). |
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ log
ΠΡΠΎΠΌΠ΅ ΠΎΠΏΡΠΈΠΉ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π°, git log ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ΄ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠΎ Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ°ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ -2, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ -<n>, Π³Π΄Π΅ n ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π²Π°ΠΌ Π²ΡΡΠ΄ Π»ΠΈ ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΠ°ΡΡΠΎ ΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Git ΡΠ΅ΡΠ΅Π· ΠΊΠ°Π½Π°Π» (pipe) ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²Π΅ΡΡ Π²ΡΠ²ΠΎΠ΄ Π½Π° pager, ΡΠ°ΠΊ ΡΡΠΎ Π²Ρ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΡΡΡΠ°Π½ΠΈΡΡ.
Π Π²ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ —since ΠΈ —until, Π²Π΅ΡΡΠΌΠ° ΠΏΠΎΠ»Π΅Π·Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ:
$ git log —since=2.weeks
Π’Π°ΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠ² β Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΡΠ½ΡΡ Π΄Π°ΡΡ (β2008-01-15β) ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ Π΄Π°ΡΡ, ΡΠ°ΠΊΡΡ ΠΊΠ°ΠΊ β2 years 1 day 3 minutes agoβ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡ-Π»ΠΈΠ±ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠΏΡΠΈΡ —author ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΠΏΠΎ Π°Π²ΡΠΎΡΡ, ΠΎΠΏΡΠΈΡ —grep ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΊΠ°ΡΡ ΠΏΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²Π°ΠΌ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ. (ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΈ ΠΎΠΏΡΠΈΡ author, ΠΈ ΠΎΠΏΡΠΈΡ grep, ΡΠΎ Π±ΡΠ΄ΡΡ Π½Π°ΠΉΠ΄Π΅Π½Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΠΠΠ Π²ΡΠΎΡΠΎΠΌΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡ. Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ Π Π²ΡΠΎΡΠΎΠΌΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠΏΡΠΈΡ —all-match.)
ΠΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΡΠΈΠ»ΡΡΡ ΡΡΠΎ ΠΎΠΏΡΠΈΡ βS, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π³Π΄Π΅ ΡΡΠ° ΡΡΡΠΎΠΊΠ° Π±ΡΠ»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π°.
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΠΎΠΏΡΠΈΡ-ΡΠΈΠ»ΡΡΡ Π΄Π»Ρ git log β ΡΡΠΎ ΠΏΡΡΡ. Π£ΠΊΠ°Π·Π°Π² ΠΈΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Π°, Π²Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π²ΡΠ²ΠΎΠ΄ log ΡΠ΅ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠ° ΠΎΠΏΡΠΈΡ Π²ΡΠ΅Π³Π΄Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΡΠ΅ΡΡΡ Π΄Π²ΡΠΌΡ ΠΌΠΈΠ½ΡΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° (—), ΡΡΠΎΠ±Ρ ΠΎΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΡΡΠΈ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΎΠΏΡΠΈΠΉ. ΠΠ»Ρ ΡΠ°ΠΉΠ»Π° Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Git ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΅Π³ΠΎ ΠΈΠΌΡ.
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ°ΡΡΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΡΡ ΠΎΠΏΡΠΈΠΉ.
ΠΠΏΡΠΈΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
-(n) | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ n ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² |
--since, --after | ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ΅ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄Π΅Π»Π°Π½Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π°ΡΡ. |
--until, --before | ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ΅ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄Π΅Π»Π°Π½Ρ Π΄ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π°ΡΡ. |
--author | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π°Π²ΡΠΎΡ ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. |
--committer | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΠΌΠΌΠΈΡΠ΅Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. |
--grep | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΈΡΠΊΠΎΠΌΡΡ ΡΡΡΠΎΠΊΡ. |
-S | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ΅Π½ΡΠ»Π°ΡΡ ΠΈΡΠΊΠΎΠΌΠ°Ρ ΡΡΡΠΎΠΊΠ°. |
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΡΡΠΎΡΠΈΠΈ
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΠΌΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Git’ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ gitk, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° Tcl/Tk. Π ΡΡΡΠ½ΠΎΡΡΠΈ gitk β ΡΡΠΎ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ git log, ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΎΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠΎΡΡΠΈ ΡΠ΅ ΠΆΠ΅ ΡΠΈΠ»ΡΡΡΡΡΡΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ, ΡΡΠΎ ΠΈ git log.
Π’Π°ΠΊ ΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Git, Π½ΠΎ ΠΎ Π½ΠΈΡ ΠΏΠΎΠ·ΠΆΠ΅.
Git Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ . Π§Π°ΡΡΡ 6. ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ git, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ Π²ΡΠ±ΠΎΡΠΊΡ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
Π ΠΏΡΠΎΡΠ»ΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.Β Π Π°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ git,Β Π² ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ (ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ):
- ΠΠ½Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
- ΠΡΠΏΡΠ°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² stage.
- Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½Π° Π±Π°Π·Π΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π»Π΅ΠΆΠΈΡ Π² stage, Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ, Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π°ΠΊΠΎΠΏΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ.Β Git ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ.Β ΠΠ»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ git, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» β README.md, ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅.
ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠΌ Π²Π°ΠΌΠΈ (ΠΈΠ»ΠΈ Π²Π°ΡΠΈΠΌΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ) ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git log.
> git log commit a98cce47b59256d00a853c421af4f7b9f0dc0a29 Author: Writer <writer@somecompany. com> Date: Mon Mar 5 23:10:51 2018 +0500 [create repository]
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±ΡΠ» ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ β[create repository]β, ΡΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ΄Π΅Π»Π°Π» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Writer, Π΅Π³ΠΎ email: [email protected], ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° a98cce47b59256d00a853c421af4f7b9f0dc0a29, ΠΈ Π΄Π°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°:Β 5 ΠΌΠ°ΡΡΠ° 2018 Π² 23:10:51.
ΠΠ½Π΅ΡΠ΅ΠΌ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π½Π°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.Β ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ΅ΠΊΡΡ Π² ΡΠ°ΠΉΠ» README.md.
> echo "Project 51" > README.md
ΠΠ°ΡΠΈΠΊΡΠΈΡΡΠ΅ΠΌ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
> git add . > git commit -m "[add]: caption into README file"
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ» main.c ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π³ΠΎ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
> touch main.c > git add . > git commit -m "[create]: main file of program"
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΡΠΎ.
> git log commit 2b826bb4929fb1c8166ef05b540ce2cc68f3ebb2 Author: Writer <[email protected]> Date: Mon Mar 5 23:17:08 2018 +0500 [create]: main file of program commit bc067c88c427dbedbb02817f9ae25241dcae4d07 Author: Writer <[email protected]> Date: Mon Mar 5 23:15:12 2018 +0500 [add]: caption into README file commit a98cce47b59256d00a853c421af4f7b9f0dc0a29 Author: Writer <[email protected]> Date: Mon Mar 5 23:10:51 2018 +0500 [create repository]
ΠΠΎΠΌΠΌΠΈΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΎΡ Π½ΠΎΠ²ΡΡ ΠΊ ΡΡΠ°ΡΡΠΌ.Β Π‘Π΄Π΅Π»Π°Π΅ΠΌ Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
> touch main.h > git add . > git commit -m "[create]: header for main" > touch .gitignore > git add . > git commit -m "[create]: git ignore file" > echo "*.tmp" > .gitignore > git add . > git commit -m "[add] ignore .tmp files">
Π‘Π½ΠΎΠ²Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
> git log commit cf3d9d8f7b283267a085986e85cc8f152cca420d Author: Writer <[email protected]> Date: Mon Mar 5 23:21:59 2018 +0500 [add] ignore .tmp files commit a7b88eed6110b6ebb1fc4d96f4399e4cbb8339e7 Author: Writer <[email protected]> Date: Mon Mar 5 23:21:11 2018 +0500 [create]: git ignore file commit c185b80ca916af7d6f068450f6cafb073d955c40 Author: Writer <[email protected]> Date: Mon Mar 5 23:20:26 2018 +0500 [create]: header for main commit 2b826bb4929fb1c8166ef05b540ce2cc68f3ebb2 Author: Writer <[email protected]> Date: Mon Mar 5 23:17:08 2018 +0500 [create]: main file of program commit bc067c88c427dbedbb02817f9ae25241dcae4d07 Author: Writer <[email protected]> Date: Mon Mar 5 23:15:12 2018 +0500 [add]: caption into README file commit a98cce47b59256d00a853c421af4f7b9f0dc0a29 Author: Writer <writer@somecompany. com> Date: Mon Mar 5 23:10:51 2018 +0500 [create repository]
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠΆΠ΅ ΡΠ°ΠΊΠΎΠ΅, ΡΡΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½ΠΈΡ Π² ΡΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠ΄Π°Π΅Ρ git log ΡΠΆΠ΅ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ»ΡΡΠΎΠΌ βoneline, ΠΏΡΠΈ ΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½Π° ΡΠ°ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
> git log --oneline cf3d9d8 [add] ignore .tmp files a7b88ee [create]: git ignore file c185b80 [create]: header for main 2b826bb [create]: main file of program bc067c8 [add]: caption into README file a98cce4 [create repository]
Π ΡΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ ΡΠΆΠ΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅.Β ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ n ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΡΡΠ° -n. ΠΡΠ²Π΅Π΄Π΅ΠΌ ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
> git log -n 3 --oneline cf3d9d8 [add] ignore .tmp files a7b88ee [create]: git ignore file c185b80 [create]: header for main
ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠ΅ΡΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΡΡ βsince=β<date> <time>β. Β ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»ΡΡΠΈΠΌ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅ 5-Π³ΠΎ ΠΌΠ°ΡΡΠ° 2018 Π³ΠΎΠ΄Π° 23:21.
> git log --since="2018-03-05 23:21:00" --oneline cf3d9d8 [add] ignore .tmp files a7b88ee [create]: git ignore file
ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π΄ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡ βuntil. ΠΠΎΠ»ΡΡΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ Π΄ΠΎ 5-Π³ΠΎ ΠΌΠ°ΡΡΠ° 2018 Π³ΠΎΠ΄Π° 23:21.
> git log --until="2018-03-05 23:21:00" --oneline c185b80 [create]: header for main 2b826bb [create]: main file of program bc067c8 [add]: caption into README file a98cce4 [create repository]
ΠΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ βauthor, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ Π°Π²ΡΠΎΡΠΎΠΌ.
> git log --author="Writer" --oneline cf3d9d8 [add] ignore .tmp files a7b88ee [create]: git ignore file c185b80 [create]: header for main 2b826bb [create]: main file of program bc067c8 [add]: caption into README file a98cce4 [create repository]
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΌΡ Π²ΡΠ²Π΅Π»ΠΈ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Writer. Π’.ΠΊ. Π² Π½Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ΄Π΅Π»Π°Π½Ρ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΡΠ°, ΡΠΎ ΠΏΡΠΈ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΈΠΌΠ΅Π½Π°Ρ , ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΒ βauthor, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ.Β
Π, Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ. ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Ρ Linux, ΡΠΎ Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΊΠ°ΠΊ grep β ΡΡΠΎ ΡΡΠΈΠ»ΠΈΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ, Π² ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠΌ Π΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅, Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.Β ΠΡΠ²Π΅Π΄Π΅ΠΌ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ»ΠΎΠ²ΠΎ create.
> git log --grep="create" --oneline a7b88ee [create]: git ignore file c185b80 [create]: header for main 2b826bb [create]: main file of program a98cce4 [create repository]
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠΎ ΡΠ»ΠΎΠ²ΠΎΠΌ add.
> git log --grep="add" --oneline cf3d9d8 [add] ignore .tmp files bc067c8 [add]: caption into README file
ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΡ grep. ΠΠ° ΡΡΠΎΠΌ ΠΌΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΠΌ ΠΎΠ±Π·ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log.
ΠΡΠ»ΠΈΡΠ½ΡΠΉ ΠΊΡΡΡ ΠΏΠΎ gitΒ Π΄Π΅Π»Π°ΡΡ ΡΠ΅Π±ΡΡΠ° ΠΈΠ· GeekBrains, Π½Π°ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ βΠΡΡΡΡβ ΠΊΡΡΡ βGit. ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡβ, ΠΎΠ½Β Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ!
<<< Π§Π°ΡΡΡ 5. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡΒ Π§Π°ΡΡΡ 7. ΠΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ HEAD ΠΈ tree-ish>>>
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² | Pro Git
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΈΠ»ΠΈ ΠΆΠ΅ Π²Ρ ΡΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π²Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π·Π°Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΠ³Π»ΡΠ½ΡΡΡΡΡ Π½Π°Π·Π°Π΄ ΠΈ ΡΠ·Π½Π°ΡΡ ΡΡΠΎ ΠΆΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΠ»ΠΎ Ρ ΡΡΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ β ΠΊΠΎΠΌΠ°Π½Π΄Π° git log
.
ΠΠ°Π½Π½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π°Π·Π²Π°Π½Π½ΡΠΉ simplegit
, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΉ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
git clone git://github.com/schacon/simplegit-progit.git
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ git log
Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ:
$ git log
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon
Date: Mon Mar 17 21:52:11 2008 -0700
changed the version number
commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon
Date: Sat Mar 15 16:40:33 2008 -0700
removed unnecessary test code
commit a11bef06a3f659402fe7563abf99ad00de2209e6
Author: Scott Chacon
Date: Sat Mar 15 10:31:28 2008 -0700
first commit
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², git log
Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Ρ
ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. Π’ΠΎ Π΅ΡΡΡ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ. ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΠΎΠΉ SHA-1, ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠΎΠΉ Π°Π²ΡΠΎΡΠ°, Π΄Π°ΡΠΎΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΠ΅Π²Π΅Π»ΠΈΠΊΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log
ΠΈ ΠΈΡ
ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²Π°ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ Π²Ρ ΠΈΡΠ΅ΡΠ΅. ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²Π°ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ
.
ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² β ΡΡΠΎ -p
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄Π΅Π»ΡΡΡ(ΡΠ°Π·Π½ΠΈΡΡ/diff) ΠΏΡΠΈΠ²Π½Π΅ΡΠ΅Π½Π½ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ -2
, ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ Π΄ΠΎ 2-Ρ
ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ:
$ git log -p -2
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon
Date: Mon Mar 17 21:52:11 2008 -0700
changed the version number
diff —git a/Rakefile b/Rakefile
index a874b73..8f94139 100644
— a/Rakefile
+++ b/Rakefile
@@ -5,7 +5,7 @@ require ‘rake/gempackagetask’
spec = Gem::Specification. new do |s|
— s.version = «0.1.0»
+ s.version = «0.1.1»
s.author = «Scott Chacon»
commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon
Date: Sat Mar 15 16:40:33 2008 -0700
removed unnecessary test code
diff —git a/lib/simplegit.rb b/lib/simplegit.rb
index a0a60ae..47c6340 100644
— a/lib/simplegit.rb
+++ b/lib/simplegit.rb
@@ -18,8 +18,3 @@ class SimpleGit
end
end
—
-if $0 == __FILE__
— git = SimpleGit.new
— puts git.show
-end
\ No newline at end of file
ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡ ΠΆΠ΅ ΡΠ°ΠΌΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠ»ΡΡ Π²Π½Π΅ΡΡΠ½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΠΉ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΠ»ΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ
ΠΊΠΎΠ»Π»Π΅Π³ΠΎΠΉ. Π‘ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git log
Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΡΡΠΏΠΏΡ ΡΡΠΌΠΌΠΈΡΡΡΡΠΈΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΡΠ°ΡΠΊΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ --stat
:
$ git log --stat
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon
Date: Mon Mar 17 21:52:11 2008 -0700
changed the version number
Rakefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon
Date: Sat Mar 15 16:40:33 2008 -0700
removed unnecessary test code
lib/simplegit. rb | 5 ——
1 files changed, 0 insertions(+), 5 deletions(-)
commit a11bef06a3f659402fe7563abf99ad00de2209e6
Author: Scott Chacon
Date: Sat Mar 15 10:31:28 2008 -0700
first commit
README | 6 ++++++
Rakefile | 23 +++++++++++++++++++++++
lib/simplegit.rb | 25 +++++++++++++++++++++++++
3 files changed, 54 insertions(+), 0 deletions(-)
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π»ΠΎΠ³Π°, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ --stat
Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ
ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΡΡΡΠΎΠΊ Π² ΡΡΠΈΡ
ΡΠ°ΠΉΠ»Π°Ρ
. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ²ΠΎΠ΄Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅. ΠΡΡΠ³ΠΎΠΉ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ β ΡΡΠΎ --pretty
. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π° Π»ΠΎΠ³Π°. ΠΠ»Ρ Π²Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ
Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ². ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ oneline Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΡΠΎΠΌΡ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ short
, full
, ΠΈ fuller
ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΡ ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ:
$ git log --pretty=oneline
ca82a6dff817ec66f44342007202690a93763949 changed the version number
085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7 removed unnecessary test code
a11bef06a3f659402fe7563abf99ad00de2209e6 first commit
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ β ΡΡΠΎ format
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π° Π»ΠΎΠ³Π°. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΎΡΡΠ΅ΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ°(ΠΏΠ°ΡΡΠΈΠ½Π³Π°) β ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ ΡΠ²Π½ΠΎ Π·Π°Π΄Π°Π΅ΡΠ΅ ΡΠΎΡΠΌΠ°Ρ ΠΈ ΡΠ²Π΅ΡΠ΅Π½Ρ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΡ
Git:
$ git log --pretty=format:"%h - %an, %ar : %s"
ca82a6d - Scott Chacon, 11 months ago : changed the version number
085bb3b - Scott Chacon, 11 months ago : removed unnecessary test code
a11bef0 - Scott Chacon, 11 months ago : first commit
Π’Π°Π±Π»ΠΈΡΠ° 2-1 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠ°.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ
Π΄Π°Π½Π½ΡΡ
`%H` Π₯Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°
`%h` Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΉ Ρ
Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°
`%T` Π₯Π΅Ρ Π΄Π΅ΡΠ΅Π²Π°
`%t` Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΉ Ρ
Π΅Ρ Π΄Π΅ΡΠ΅Π²Π°
`%P` Π₯Π΅ΡΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
`%p` Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠ΅ Ρ
Π΅ΡΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
`%an` ΠΠΌΡ Π°Π²ΡΠΎΡΠ°
`%ae` ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ° Π°Π²ΡΠΎΡΠ°
`%ad` ΠΠ°ΡΠ° Π°Π²ΡΠΎΡΠ° (ΡΠΎΡΠΌΠ°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ --date= )
`%ar` ΠΠ°ΡΠ° Π°Π²ΡΠΎΡΠ°, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ (ΠΏΡ. "2 ΠΌΠ΅Ρ. Π½Π°Π·Π°Π΄")
`%cn` ΠΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ°
`%ce` ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ°
`%cd` ΠΠ°ΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ°
`%cr` ΠΠ°ΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ°, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ
`%s` ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡ Π² ΡΡΠΌ ΠΆΠ΅ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π°Π²ΡΠΎΡΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠΎΠΌ. ΠΠ²ΡΠΎΡ β ΡΡΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°Π²ΡΠΈΠΉ ΡΠ°Π±ΠΎΡΡ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠ΅Ρ β ΡΡΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ» ΡΡΡ ΡΠ°Π±ΠΎΡΡ. Π’Π°ΠΊ ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠ»Π°Π»ΠΈ ΠΏΠ°ΡΡ(Π·Π°ΠΏΠ»Π°ΡΠΊΡ) Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ» ΡΡΠΎΡ ΠΏΠ°ΡΡ, Π²Ρ ΠΎΠ±Π° Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ Π·Π°Π±ΡΡΡ β Π²Ρ ΠΊΠ°ΠΊ Π°Π²ΡΠΎΡ, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠ΅Ρ. ΠΡ ΡΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ Π² ΠΠ»Π°Π²Π΅ Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ Git.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ oneline
ΠΈ format
ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ log
β --graph
. ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΌΠΈΠ»Π΅Π½ΡΠΊΠΈΠΉ ASCII Π³ΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ ΠΈΡΡΠΎΡΠΈΡ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΉ. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Grit:
$ git log --pretty=format:"%h %s" --graph
* 2d3acf9 ignore errors from SIGCHLD on trap
* 5e3ee11 Merge branch 'master' of git://github.com/dustin/grit
|\
| * 420eac9 Added a method for getting the current branch.
* | 30e367c timeout code and tests
* | 5a09431 add timeout protection to grit
* | e1193f8 support for heads with slashes in them
|/
* d6016bc require time for xmlschema
* 11d191e Merge branch 'defunkt' into local
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΡΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° Π΄Π»Ρ git log
β ΠΈΡ
Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅. ΠΠΈΠΆΠ΅ΡΠ»ΡΠ΄ΡΡΡΠ°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π½Π°ΠΌΠΈ ΡΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠΎΠ³ΡΡΠΈΠ΅ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΡΡΠ΅ΠΊΡΠ° ΠΎΡ ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
`-p` ΠΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠ°ΡΡ (Π·Π°ΠΏΠ»Π°ΡΠΊΡ/diff) Π²Π½Π΅ΡΠ΅Π½Π½ΡΠΉ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ.
`--stat` ΠΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΌ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅.
`--shortstat` ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊΡ Ρ changed/insertions/deletions ΠΎΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ `--stat`.
`--name-only` ΠΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
`--name-status` ΠΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ/ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ/ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ.
`--abbrev-commit` ΠΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΡ SHA-1 Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ΅Ρ
40.
`--relative-date` ΠΡΠ²ΠΎΠ΄ΠΈΡ Π΄Π°ΡΡ Π² ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, β2 Π½Π΅Π΄Π΅Π»ΠΈ Π½Π°Π·Π°Π΄β) Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π΄Π°ΡΡ.
`--graph` ΠΡΠ²ΠΎΠ΄ΠΈΡ ASCII Π³ΡΠ°Ρ ΠΈΡΡΠΎΡΠΈΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΉ ΡΡΠ΄ΠΎΠΌ Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ Π»ΠΎΠ³Π°.
`--pretty` ΠΡΠ²ΠΎΠ΄ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ oneline, short, full, fuller, ΠΈ format (Π³Π΄Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ).
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ log
ΠΡΠΎΠΌΠ΅ ΠΎΠΏΡΠΈΠΉ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π°, git log
ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ΄ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠΎ Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ°ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΠΈΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ -2
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ -, Π³Π΄Π΅
n
ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π²Π°ΠΌ Π²ΡΡΠ΄ Π»ΠΈ ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΠ°ΡΡΠΎ ΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Git ΡΠ΅ΡΠ΅Π· ΠΊΠ°Π½Π°Π» (pipe) ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²Π΅ΡΡ Π²ΡΠ²ΠΎΠ΄ Π½Π° pager
, ΡΠ°ΠΊ ΡΡΠΎ Π²Ρ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΡΡΡΠ°Π½ΠΈΡΡ.
Π Π²ΠΎΡ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ --since
ΠΈ --until
Π²Π΅ΡΡΠΌΠ° ΠΏΠΎΠ»Π΅Π·Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ΄Π΅Π»Π°Π½ΡΡ
Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ:
$ git log --since=2.weeks
Π’Π°ΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠ² β Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΡΠ½ΡΡ Π΄Π°ΡΡ (β2008-01-15
β) ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ Π΄Π°ΡΡ ΡΠ°ΠΊΡΡ ΠΊΠ°ΠΊ β2 years 1 day 3 minutes ago
β.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΠΊΠ°ΠΊΠΎΠΌΡ-ΡΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠΏΡΠΈΡ --author
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΠΏΠΎ Π°Π²ΡΠΎΡΡ, ΠΎΠΏΡΠΈΡ --grep
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΊΠ°ΡΡ ΠΏΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²Π°ΠΌ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ. (ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΈ ΠΎΠΏΡΠΈΡ author
, ΠΈ ΠΎΠΏΡΠΈΡ grep
, ΡΠΎ Π±ΡΠ΄ΡΡ Π½Π°ΠΉΠ΄Π΅Π½Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΠΠΠ Π²ΡΠΎΡΠΎΠΌΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡ. Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ Π Π²ΡΠΎΡΠΎΠΌΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠΏΡΠΈΡ --all-match
.)
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΠΎΠΏΡΠΈΡ-ΡΠΈΠ»ΡΡΡ Π΄Π»Ρ git log
ΡΡΠΎ ΠΏΡΡΡ. Π£ΠΊΠ°Π·Π°Π² ΠΈΠΌΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Π°, Π²Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π²ΡΠ²ΠΎΠ΄ log
ΡΠ΅ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠ° ΠΎΠΏΡΠΈΡ Π²ΡΠ΅Π³Π΄Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΡΠ΅ΡΡΡ Π΄Π²ΡΠΌΡ ΠΌΠΈΠ½ΡΡΠ°ΠΌΠΈ (--
), ΡΡΠΎΠ±Ρ ΠΎΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΡΡΠΈ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΠΎΠΏΡΠΈΠΉ.
Π Π½ΠΈΠΆΠ΅ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ Π΄Π»Ρ ΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΡΡΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΡΡ ΠΎΠΏΡΠΈΠΉ.
ΠΠΏΡΠΈΡ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
`-(n)` ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ n ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
`--since`, `--after` ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ΅ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄Π΅Π»Π°Π½Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π°ΡΡ.
`--until`, `--before` ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ΅ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄Π΅Π»Π°Π½Ρ Π΄ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π°ΡΡ.
Π Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π° ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌ Π³ΡΠ°ΡΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠ². ΠΡΠΎΡΠΌΠΎΡΡΡΠΈΠΊ Π΄Π΅Π»ΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ ΠΎΠΊΠ½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ. Π£ΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π»ΡΠΊΠ° ΠΌΡΡΡΡ.`--author` ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π°Π²ΡΠΎΡ ΠΊΠΎΡΠΎΡΡΡ
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
`--committer` ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΠΌΠΌΠΈΡΠ΅Ρ ΠΊΠΎΡΠΎΡΡΡ
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ· ΠΈΡΡΠΎΡΠΈΠΈ Git ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π½Ρ Junio Hamano, Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡΠΌΠΈ ΠΈ Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π½Ρ Π² ΠΎΠΊΡΡΠ±ΡΠ΅ 2008Π³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΠ°ΠΊΠΎΠ³ΠΎ:
$ git log --pretty="%h - %s" --author=gitster --since="2008-10-01" \
--before="2008-11-01" --no-merges -- t/
5610e3b - Fix testcase failure when extended attribute
acd3b9e - Enhance hold_lock_file_for_{update,append}()
f563754 - demonstrate breakage of detached checkout wi
d1a43f2 - reset --hard/read-tree --reset -u: remove un
51a94af - Fix "checkout --track -b newbranch" on detac
b0ad11e - pull: allow "git pull origin $something:$cur
ΠΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 20 000 ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΈΡΡΠΎΡΠΈΠΈ Git, Π΄Π°Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ±ΡΠ°Π»Π° Π²ΡΠ΅Π³ΠΎ 6 ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΡΡΠΎΡΠΈΠΈ
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΠΌΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Git ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ gitk
, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° Tcl/Tk. Π ΡΡΡΠ½ΠΎΡΡΠΈ gitk
β ΡΡΠΎ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ git log
, ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΎΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠΎΡΡΠΈ ΡΠ΅ ΠΆΠ΅ ΡΠΈΠ»ΡΡΡΡΡΡΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ, ΡΡΠΎ ΠΈ git log
. ΠΡΠ»ΠΈ Π½Π°Π±ΡΠ°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ gitk
Π½Π°Ρ
ΠΎΠ΄ΡΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π²Ρ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅ ΡΡΠΎ-ΡΠΎ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Π ΠΈΡ. 2-2.
Π ΠΈΡΡΠ½ΠΎΠΊ 2-2. ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΡΡΠΎΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ gitk
Π Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π° ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌ Π³ΡΠ°ΡΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠ². ΠΡΠΎΡΠΌΠΎΡΡΡΠΈΠΊ Π΄Π΅Π»ΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ ΠΎΠΊΠ½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ. Π£ΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π»ΡΠΊΠ° ΠΌΡΡΡΡ.
Pro Git
CΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Git: ΡΠ°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΠ°
Git — ΡΡΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ. \*\| master’ | xargs -n 1 git branch -d
git branch -vv
git branch -u origin/mybranch
git branch -d <local_branchname>
git push origin --delete <remote_branchname>
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git push origin :<remote_branchname>
git tag -d <tag-name>
git push origin :refs/tags/<tag-name>
git checkout -- <file_name>
git revert <commit-ish>
git reset <commit-ish>
git commit -v --amend
git cherry -v master
git commit --amend --author='Author Name <[email protected]>'
git commit --amend --reset-author --no-edit
git remote set-url origin <URL>
git remote
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git remote show
git branch -a
git branch -r
git add -p
curl http://git.io/vfhol > ~/.git-completion.bash && echo '[ -f ~/. git-completion.bash ] && . ~/.git-completion.bash' >> ~/.bashrc
git log --no-merges --raw --since='2 weeks ago'
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git whatchanged --since='2 weeks ago'
git log --no-merges --stat --reverse master..
git checkout <branch-name> && git cherry-pick <commit-ish>
git branch -a --contains <commit-ish>
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git branch --contains <commit-ish>
git config --global alias.<handle> <command> git config --global alias.st status
git stash
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git stash save
git stash -k
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git stash --keep-index
git stash save --keep-index
git stash -u
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git stash save -u
git stash save --include-untracked
git stash save <message>
git stash -a
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git stash --all
git stash save --all
git stash list
git stash apply <stash@{n}>
git checkout <stash@{n}> -- <file_path>
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git checkout stash@{0} -- <file_path>
git ls-files -t
git ls-files --others
git ls-files --others -i --exclude-standard
git worktree add -b <branch-name> <path> <start-point>
git rm --cached <file_path>
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git rm --cached -r <directory_path>
git clean -n
git clean -f
git clean -f -d
git submodule foreach git pull
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git submodule update --init --recursive
git submodule update --remote
git cherry -v master
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git cherry -v master <branch-to-be-merged>
git branch -m <new-branch-name>
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git branch -m [<old-branch-name>] <new-branch-name>
git archive master --format=zip --output=master. zip
git add --all && git commit --amend --no-edit
git fetch -p
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git remote prune origin
git log --pretty=oneline --graph --decorate --all
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
gitk --all
git subtree push --prefix subfolder_name origin gh-pages
git subtree add --prefix=<directory_name>/<project_name> --squash [email protected]:<username>/<project_name>.git master
git subtree pull --prefix=<directory_name>/<project_name> --squash [email protected]:<username>/<project_name>.git master
git bundle create <file> <branch-name>
git clone repo.bundle <repo-dir> -b <branch-name>
git rev-parse --abbrev-ref HEAD
git update-index --assume-unchanged Changelog; git commit -a; git update-index --no-assume-unchanged Changelog
git fetch origin pull/<id>/head:<branch-name>
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git pull origin pull/<id>/head:<branch-name>
git describe --tags --abbrev=0
git diff --word-diff
git update-index --assume-unchanged <file_name>
git update-index --no-assume-unchanged <file_name>
git clean -X -f
git checkout <deleting_commit>^ -- <file_path>
git checkout <commit-ish> -- <file_path>
git config --list
git config --global core. editor '$EDITOR'
git config --global help.autocorrect 1
git name-rev --name-only <SHA-1>
git commit --fixup <SHA-1>
git commit --only <file_path>
git check-ignore *
git status --ignored
git log -<n>
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git log -n <n>
git diff --name-only | uniq | xargs $EDITOR
git instaweb [--local] [--httpd=<httpd>] [--port=<port>] [--browser=<browser>]
git log --show-signature
git config --global --unset <entry-name>
git checkout --orphan <branch_name>
git show <branch_name>:<file_name>
git rebase --interactive HEAD~2
git checkout master && git branch --no-merged
git bisect start git bisect bad git bisect good v2.6.13-rc2 git bisect bad git bisect good git bisect reset
git log --follow -p -- <file_path>
git clone -b <branch-name> --single-branch https://github. com/user/repo.git
git checkout -b <branch-name>
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git branch <branch-name> && git checkout <branch-name>
git config --global color.ui false
git config --global <specific command e.g branch, diff> <true, false or always>
git clone https://github.com/user/repo.git --depth 1
git log --all --grep='<given-text>'
git log master..<branch-name> --oneline | tail -1
git shortlog
git rev-list --count <branch-name>
git config --global alias.undo '!f() { git reset --hard $(git rev-parse --abbrev-ref HEAD)@{${1-1}}; }; f'
git notes add -m 'Note on the previous commit....'
git log --show-notes='*'
git --git-dir=<source-dir>/.git format-patch -k -1 --stdout <SHA1> | git am -3 -k
git log --branches --not --remotes
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git log @{u}. alias\.//g'
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°:
git config -l | grep alias | cut -d '.' -f 2
git push -u origin <branch_name>
ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ Β«Git Concepts I Wish I Knew Years AgoΒ».
Π‘Π°ΠΌΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΡΠΎ Π²ΠΎΠ²ΡΠ΅ Π½Π΅ JavaScript.
ΠΡΠΎ Π½Π΅ Python ΠΈ Π½Π΅ HTML.
ΠΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π΄Π°ΠΆΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ Π½Π° ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡΡ ΠΈΠ»ΠΈ Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡΡ ΠΎ Π²Π°ΠΊΠ°Π½ΡΠΈΡΡ .
Π― Π³ΠΎΠ²ΠΎΡΡ ΠΎ Git ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Π² ΡΠ΅Π»ΠΎΠΌ.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½Π°Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄ΠΎΠ»Π³ΠΎ ΡΠΎΡΠΌΠΎΠ·ΡΡ Π½Π° ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ Git. ΠΡ ΠΎΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ ΡΠ°ΠΌΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ ΠΏΡΠΎΡΡΡΠΌ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ. ΠΠΏΡΠΎΡΠ΅ΠΌ, ΡΡΠΎΠ³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Ρ Π²Π°ΡΠΈΡΡ Π½Π° ΡΠ΅Π»ΡΠ΅ Π³ΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ.
ΠΠΎ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠ° ΠΎΡΠΎΠ·Π½Π°ΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Git Π²Π°ΠΆΠ΅Π½ Π΄Π»Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π² ΠΊΠ°ΡΡΠ΅ΡΠ΅, ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ Π΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ. ΠΡΠ° ΡΡΠ°ΡΡΡ Π·Π°Π΄ΡΠΌΠ°Π½Π° ΠΊΠ°ΠΊ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ, Π½ΠΎ, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌ Git. ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π°ΡΡ Π°ΠΈΡΠ½Ρ ΠΈ ΠΈΡ ΡΡΡΠ΄Π½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·Π±ΠΈΡΠΎ Π½Π° ΡΠ°Π·Π΄Π΅Π»Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌΠΈ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ Git, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ, Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ, ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΡΡΠΈΡΠ΅ ΡΡΡ ΡΡΠ°ΡΡΡ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΎΡΠ²ΠΎΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git, Π½Π°ΡΠ½ΠΈΡΠ΅ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π΄Π»Ρ ΠΏΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΈΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΈΡΠΊΠ° Π² ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Π°; ΠΎΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ Π²Ρ ΡΠΆΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΡΠ½Ρ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Git.
ΠΠΎΠΌΠ°Π½Π΄Ρ Git
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π§ΡΠΎ Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»?
git log git log --oneline # more succinct output git log --graph # with a visual graph of branches
ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π°ΡΡ Β«undoΒ»-ΠΈΡΡΠΎΡΠΈΡ
git reflog
ΠΠ½ΠΎΠ³Π΄Π° git log
Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². Π ΡΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ reflog
.
ΠΠΎΠΌΠ°Π½Π΄Π° reflog
ΡΡΠΎ Π²Π°ΡΠ° ΡΡΡΠ°Ρ
ΠΎΠ²ΠΎΡΠ½Π°Ρ ΡΠ΅ΡΠΊΠ° ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° Β«ΡΡΡΠ°ΡΠ½ΡΡ
Β» ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ git rebase
. Π‘ Π΅Π΅ ΠΏΠΎΠΌΠΎΡΡΡ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π²Π°ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π½ΠΎ ΠΈ Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π»ΠΈ Π²Π°Ρ ΠΊ ΡΠΎΠΉ ΡΠΎΡΠΊΠ΅, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ΡΡ. Π£Π·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ± ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· ΡΡΠ°ΡΡΠΈ Atlassian.
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ
git status
Π₯ΠΎΡΡ git status
ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π±Π°Π·ΠΎΠ²ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅ ΠΌΡ ΠΈΠ·ΡΡΠ°Π΅ΠΌ Π² ΡΠΈΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΡΡ
, ΠΎΠ½Π° ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π°. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² ΡΠ»ΠΎΠΆΠ½ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
rebase
ΠΈΠ»ΠΈ merge
.
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°Π·Π½ΠΈΡΡ Π² ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΈ Π½Π΅ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ
git diff --staged # Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³Π΅ git diff # Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ Π² ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³Π΅
ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ
Π₯ΠΎΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π΄Π΅Π»Π°Π» ΡΠ°Π½ΡΡΠ΅
git reset <commit-sha>
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ±Π΅ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³Π°, Π½ΠΎ ΡΠ°ΠΉΠ»Ρ ΠΎΡΡΠ°Π½ΡΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
ΠΠ΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅
git checkout -
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
Π― Π·Π°ΠΊΠΎΠΏΠ°Π»ΡΡ ΠΏΠΎ ΡΡΠΈ, Π΄Π°Π²Π°ΠΉΡΠ΅-ΠΊΠ° Π½Π°ΡΠ½Π΅ΠΌ ΡΠ½Π°ΡΠ°Π»Π°
git reset --hard HEAD
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Π΅ΡΠ½Π΅Ρ Π²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ ΠΎΡΠΌΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π΅ Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π² ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³.
Π― Ρ ΠΎΡΡ Π²Π΅ΡΠ½ΡΡΡ ΡΠ°ΠΉΠ» Π² ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅
git checkout -- <bad-filename>
Π― Ρ ΠΎΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΈΡΡΠΎΡΠΈΡ
git reset --hard HEAD~1
Π― Ρ ΠΎΡΡ Π²Π΅ΡΠ½ΡΡΡΡΡ Π½Π° n ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π½Π°Π·Π°Π΄
git reset --hard HEAD~n # n ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ n ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² git reset --hard <commit-sha> # ΠΈΠ»ΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΠ΅ΠΆΠ΄Ρ soft
, mixed
ΠΈ hard
reset Π΅ΡΡΡ Π²Π°ΠΆΠ½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ. ΠΡΠ»ΠΈ Π±ΡΠ°ΡΡ Π² ΡΠ΅Π»ΠΎΠΌ,
--soft
: ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈΡ Π² ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³Π΅.--mixed
(ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ): ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ±ΠΈΡΠ°ΡΡΡΡ ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³Π°, Π½ΠΎ ΠΎΡΡΠ°ΡΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.--hard
: ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ±ΠΈΡΠ°ΡΡΡΡ ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΈΠ· ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³Π° ΠΈ ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
Π― ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π» ΠΈΡΡΠΎΡΠΈΡ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΠΎΡΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
git push -f
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π΄Π»Ρ ΡΠ»ΡΡΠ°Π΅Π², ΠΊΠΎΠ³Π΄Π° Π²Π°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠ°ΡΡ ΠΎΠ΄ΠΈΡΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ.
Π― Ρ ΠΎΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
git commit --amend
Π₯ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ
git rebase -i <commit hash> # Π³Π΄Π΅ commit hash ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ΅ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΊΡΠΎΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π³Π΄Π΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ. Π’Π°ΠΊΠΆΠ΅ Π·Π΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΠΊ ΠΈΠ»ΠΈ Π»ΠΈΠ½ΡΠΈΠ½Π³Π° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ rebase ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΡ ΡΠ΅ΠΌ ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Git. ΠΠ°Π»ΡΡΠ΅ ΠΌΡ Π΅ΡΠ΅ ΠΊ Π½Π΅ΠΉ Π²Π΅ΡΠ½Π΅ΠΌΡΡ.
ΠΡΠΎΡ rebase Π½ΠΈ ΠΊ ΡΠ΅ΠΌΡ Ρ ΠΎΡΠΎΡΠ΅ΠΌΡ Π½Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π΅Π³ΠΎ ΠΏΡΠ΅ΡΠ²Π΅ΠΌ
git rebase --abort
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ rebase
. ΠΠ½Π΅ ΡΠ°ΡΡΠΎ ΡΠ»ΡΡΠ°Π΅ΡΡΡ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ rebase
Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ΅Π½, ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ Π±Ρ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ Π΄Π²ΡΡ
Π²Π΅ΡΠΊΠ°Ρ
ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠΎΡ
ΠΎΠΆΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠΎΠΊΠ° rebase
Π½Π΅ ΠΎΠΊΠΎΠ½ΡΠ΅Π½, Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅ΡΠ²Π°ΡΡ Π΅Π³ΠΎ.
Π― Ρ ΠΎΡΡ Π²Π½Π΅ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΈ
# ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΈΠ· Π²Π΅ΡΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π½Π΅ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡ git cherry-pick <commit-sha>
Π― Ρ ΠΎΡΡ Π²Π½Π΅ΡΡΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΈ
git checkout <ΠΈΠΌΡ-Π²Π΅ΡΠΊΠΈ> <ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°>
Π― Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Ρ ΠΎΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ°ΠΉΠ» Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ
git rm --cached <ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°>
ΠΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ, Π½ΠΎ ΠΌΠΎΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π°ΡΡΡΠ΅Π½ΠΎ
(ΠΡΠΈΠΌ. ΡΠ΅Π΄. Techrocks: ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ git stash ΡΠΈΡΠ°ΠΉΡΠ΅ Π·Π΄Π΅ΡΡ).
git stash # ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΡ Ρ ΡΡΠ΅ΠΊΠ° stash git stash save "ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΡΠ°ΡΡΠ΅Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ" git stash -u # stash untracked files as well
Π― Ρ ΠΎΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π² stash
git stash list
Π₯ΠΎΡΡ Π²Π΅ΡΠ½ΡΡΡ ΡΡΠΎ-ΡΠΎ ΠΈΠ· stash
git stash pop # "Π²ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅Ρ" ΡΠ°ΠΌΡΠΉ Π½Π΅Π΄Π°Π²Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ Π² ΡΡΠ΅ΠΊ stash git stash apply stash@{stash_index} # ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² stash (ΠΈΠ· git stash list)
Π― Ρ ΠΎΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΡ ΠΈΡΡΠΎΡΠΈΠΈ
git revert HEAD # ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ git revert <commit hash> # Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π² Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.(\+|\*|\s*(master|develop|dev)\s*$)» | command xargs -n 1 git branch -d’
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Oh My Zosh, Π²ΡΠ΅ ΡΡΠΎ ΡΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π·Π° Π²Π°Ρ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ β Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΡΠΎ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ.
ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π² ΠΌΡΡΠΎΡ ΡΡΠ°ΡΡΠ΅ Π²Π΅ΡΠΊΠΈ ΠΈ Π»ΠΈΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ
git fetch --all --prune
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ.
ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ
ΠΠΎΠΌΠ°Π½Π΄Ρ Git ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½ΡΠΌΠΈ ΠΈ ΡΡΡΠ΄Π½ΡΠΌΠΈ Π΄Π»Ρ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π·Π°Ρ ΠΎΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π½Π°Π±ΠΈΡΠ°ΡΡ ΠΈΡ Π·Π°Π½ΠΎΠ²ΠΎ ΠΈ ΡΡΠ°ΡΠΈΡΡ ΡΠ΅Π»ΡΠ΅ Π΄Π½ΠΈ Π½Π° ΠΈΡ Π·Π°ΡΡΠΈΠ²Π°Π½ΠΈΠ΅, Ρ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π»Ρ Π½ΠΈΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ.
ΠΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΅ΡΠ΅ Π»ΡΡΡΠ΅: ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π²ΡΠΎΠ΄Π΅ Oh My Zosh Π΄Π»Ρ Z shell (Zsh), ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π½Π°Π±ΠΎΡ ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΡΡ
ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠ² Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ Git. Π― Π²ΠΎΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π»Π΅Π½ΠΈΠ², ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ Π²ΠΊΡΡΡ, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π·Π° ΠΌΠ΅Π½Ρ. ΠΡΡΠ°ΡΠΈ, Oh My Zosh ΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΡΠ°ΡΠΈΠ²ΠΎ.(\+|\*|\s*(master|develop|dev)\s*$)» | command xargs -n 1 git branch -d
gfa — git fetch —all —prune
ΠΡΠ»ΠΈ Π·Π°Π±ΡΠ΄Π΅ΡΠ΅, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΠΎΠ»Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ·Π΄Π°Π½ ΡΠΎΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ, Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠΎΡΡΠ΅ΡΡ:
alias
ΠΠ»ΠΈ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ:
alias grep <ΠΈΠΌΡ-ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ°>
ΠΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ Git
ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ. Π Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ node_modules
, .vscode
ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ Π΄ΡΡΠ³ΠΈΡ
IDE ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
ΡΡΠ΅Π΄ Python. ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ global gitignore.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΡ
Π² .gitignore
Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΎΠ±ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠ°ΠΊ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅, ΡΡΠΎΠ±Ρ Git ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π» ΠΈΡ
ΠΈ Π½Π΅ ΠΏΡΠΎΠ΄ΡΡΠΈΡΠΎΠ²Π°Π» Π΄Π»ΠΈΠ½Π½ΡΠ΅ diff-Ρ. ΠΠ»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ Π² Git Π΅ΡΡΡ ΡΠ°ΠΉΠ» .gitattributes
. Π JavaScript-ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Ρ
ΠΎΡΠ΅ΡΡ Π²Π½Π΅ΡΡΠΈ Π² ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π²Π°Ρ yarn-lock.json
ΠΈΠ»ΠΈ package-lock.json
, ΡΡΠΎΠ±Ρ Git Π½Π΅ ΠΏΡΡΠ°Π»ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ diff ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠ°ΠΊ Π²Ρ Π²Π½ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.
# .gitattributes package-lock.json binary
Π Π°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Git
Rebase vs Merge
Π Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ»ΠΈ rebase, ΠΈΠ»ΠΈ merge. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, ΠΈ ΠΌΠ½Π΅ Π΄ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π²ΠΈΠ΄Π΅ΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, ΡΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ merge. ΠΡΠΎ Π΅ΡΠ»ΠΈ Π½Π΅ ΡΡΠΈΡΠ°ΡΡ ΡΠ»ΡΡΠ°Π΅Π², ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΠ΅.
ΠΠΎ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ merge, Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈ rebase. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ rebase β ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π°Π΄ ΠΊΠ°ΠΊΠΈΠΌ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ, Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΡΠ²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ Π² master. ΠΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git merge Π΄Π»Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠΌΠΈ Π²Π°ΡΠΈΠΌ ΡΠΎΠ²Π°ΡΠΈΡΠ΅ΠΌ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅. Π§ΡΠΎ Π²Π°ΠΌ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π° Π²Π΅ΡΡ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ master.
git rebase master
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΊΡΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΡΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
Π§ΡΠΎΠ±Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΡΠ°Π·Π½ΠΈΡΡ, Π½ΡΠΆΠ½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΡΠ°ΡΡΡ, ΠΈ Ρ Π΅Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΡ, Π½ΠΎ ΠΏΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΈΡΠ°ΡΡ, ΡΡΠΎ Π½Π° ΡΡΠΎΡ ΡΡΠ΅Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Atlassian. (ΠΡΠΈΠΌ. ΡΠ΅Π΄. Techrocks: Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅ Π΅ΡΡΡ ΡΡΠ°ΡΡΡ ΠΎ git rebase ΠΈ ΡΡΠ°ΡΡΡ ΡΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ revert, checkout, reset, merge ΠΈ rebase).
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
Π― Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ Ρ GitHub ΠΈ GitLab, Π½ΠΎ ΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°ΠΌΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π².
1. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ
ΠΠΎΠ³Π΄Π° Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΆΠ΅ ΡΠ»ΠΈΡΡ, Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ, Π²Π΅Π΄Ρ ΠΈΡΡΠΎΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡΠ°ΠΆΠ°ΡΡΡΡ Π² Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅ master/dev. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Π΅ΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ. Π’Π°ΠΊΠΆΠ΅ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git fetch --all --prune
ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π² Π΄Π΅Π»Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΈΡΡΠΎΡΡ Π²Π°ΡΠ΅Π³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
2. ΠΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π°ΠΏΡΡΠΌΡΡ Π² master
ΠΠ΅Π· ΡΡΠΎΠ³ΠΎ Π²Ρ ΡΠΈΡΠΊΡΠ΅ΡΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΡΡ Π²Π΅ΡΡΠΌΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π±ΡΡΡ, ΡΡΠΎ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² master, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ git push
, ΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎ ΡΠ»ΠΎΠΌΠ°ΡΡ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½-ΡΠ±ΠΎΡΠΊΡ. Π ΡΡΠΎ Π½Π΅ Ρ
ΠΎΡΠΎΡΠΎ.
3. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ
Π ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π·ΡΡΡ Π·Π° ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠΈΡΠ»Π° ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠΉ β ΡΡΡ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠΎ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π²ΡΠ΅Π³ΠΎ Π΄Π²Π° ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ΄Π½ΠΎ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ. ΠΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΡΠ°ΡΠΈΡΡ ΡΠ°ΡΡ Π½Π° Π΄ΠΎΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΡΠΊΠΈ ΠΊΠΎΠ΄Π°, Π½ΠΎ, ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ. ΠΎΠ΄Π½Π° Π³ΠΎΠ»ΠΎΠ²Π° Ρ ΠΎΡΠΎΡΠΎ, Π° Π΄Π²Π΅ β Π»ΡΡΡΠ΅. Π ΡΠΎΠΌΡ ΠΆΠ΅, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠΈΠ΄Π±ΡΠΊ ΠΎΡ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ, Π° ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ²ΡΠ·Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°.
4. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ CI-ΡΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ Π΄Π΅ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½. Π Π΅Π²ΡΡΠ΅ΡΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠΏΠΎΡΠΎΠ±Π½Ρ Π²ΡΠ»ΠΎΠ²ΠΈΡΡ 100% Π΄Π΅ΡΠ΅ΠΊΡΠΎΠ², ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ.
ΠΠ°Π·Π²Π°Π½ΠΈΡ Π²Π΅ΡΠΎΠΊ
ΠΠ»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Π²Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ Π²Π΅ΡΠΎΠΊ. ΠΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ Π²Π΅ΡΠΊΡ Ρ ΠΏΠ΅ΡΠ²ΡΡ Π±ΡΠΊΠ²Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΡΠ°ΠΌΠΈΠ»ΠΈΠΈ, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΊΠΎΡΠ°Ρ ΡΠ΅ΡΡΠ° ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ (ΡΠ»ΠΎΠ²Π° ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ Π΄Π΅ΡΠΈΡΠ°ΠΌΠΈ).
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΌΠ΅Π»ΠΎΡΡΡ, Π½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Ρ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΠΊΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ ΠΊΠ°ΠΊ grep, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΡΠ΄Π° Π±ΡΡΡΡΠ΅Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΠΊΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΠΎΠ·Π΄Π°Ρ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ:
git checkout -b gabud/implement-important-feature
ΠΠ΅Π΄Π΅Π»Ρ ΡΠΏΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π·Π°Π±ΡΠ΄Ρ, ΠΊΠ°ΠΊ Π½Π°Π·Π²Π°Π» Π²Π΅ΡΠΊΡ, Ρ ΡΠΌΠΎΠ³Ρ Π½Π°ΡΠ°ΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ git checkout gabud (ΠΈΠΌΡ Π°Π²ΡΠΎΡΠ° ΡΡΠ°ΡΡΠΈ β Gabriel Abud, β ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².), Π½Π°ΠΆΠ°ΡΡ TAB β ΠΈ ΠΌΠΎΡ Z shell (ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°) ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΌΠ½Π΅ Π²ΡΠ΅ ΠΌΠΎΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Ρ ΡΠΌΠΎΠ³Ρ Π²ΡΠ±ΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠ΅Π΄ΠΈ ΡΠ²ΠΎΠΈΡ Π²Π΅ΡΠΎΠΊ, Π½Π΅ ΠΏΡΡΠ°Ρ ΠΈΡ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ»Π»Π΅Π³.
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
Π―Π·ΡΠΊ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π ΡΠ΅Π»ΠΎΠΌ Ρ ΡΡΠΈΡΠ°Ρ Π·Π° Π»ΡΡΡΠ΅Π΅ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠΌΠ°Π½Π½ΠΎΠ³ΠΎ, Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π½ΠΎΡΡΡΡΡ. Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌΠΈ Git, Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π½Π°ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ Π² Π½Π°ΡΡΠΎΡΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° Ρ ΡΠΎΡΠΌΡΠ»ΠΈΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°/git, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ:
If this commit were applied, it wouldβ¦
(ΠΡΠ»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½, ΠΎΠ½β¦)
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² Π½Π°ΡΡΠΎΡΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎΠ²Π΅Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ Π½Π°ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΈ:
git commit -m "Add a name field to the checkout form"
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ»Π½Π°Ρ ΡΡΠ°Π·Π° Π±ΡΠ΄Π΅Ρ ΡΠΈΡΠ°ΡΡΡΡ ΡΠ°ΠΊ: Β«If this commit were applied, it would add a name field to the checkout formΒ» (Β«ΠΡΠ»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½, ΠΎΠ½ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΏΠΎΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ Π² ΡΠΎΡΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΒ»). ΠΡΠ°ΡΠΈΠ²ΠΎ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎ.
ΠΡΠΎΠ³ΠΈ
ΠΡΠΎ, Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Git, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·ΡΡΠΈΡΡ. Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅, Ρ ΡΠΎΠ²Π΅ΡΡΡ Π·Π°Π³Π»ΡΠ½ΡΡΡ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git help. ΠΠ΅ Π±ΠΎΠΉΡΠ΅ΡΡ ΠΏΡΠΎΡΠΈΡΡ ΡΠΎΠ²Π΅ΡΠ° Ρ ΠΊΠΎΠ»Π»Π΅Π³: Π²Ρ Π½Π΅ ΠΏΠΎΠ²Π΅ΡΠΈΡΠ΅, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ· Π½ΠΈΡ ΡΠ΅ΡΠ·Π°ΡΡΡΡ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ.
git_commit — Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Fastlane
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΡΠΊΠΎΡΠΎΡΡΠ½ΠΎΠΉ ΠΏΠΎΠ»ΠΎΡΡ
ΠΠΎΠΌ
- ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ
- iOS
ΠΠ°ΡΡΡΠΎΠΈΡΡ
ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΎΠ²
Π‘ΠΊΡΠΈΠ½ΡΠΎΡΡ
ΠΠ΅ΡΠ°-ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅
Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π² App Store
- Android
ΠΠ°ΡΡΡΠΎΠΈΡΡ
ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΎΠ²
Π‘ΠΊΡΠΈΠ½ΡΠΎΡΡ
ΠΠ΅ΡΠ°-ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅
Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π²ΡΠΏΡΡΠΊΠ°
- ΠΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ
React Native
Π€Π»Π°ΡΡΠ΅Ρ
NativeScript
- ΠΠ΅ΠΉΡΡΠ²ΠΈΡ
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ App Store Connect API
FAQs
- ΠΠΎΠ΄Ρ
ΠΠ°ΡΠΈΠ½Π°Ρ
ΠΡΠΎΠ΅ΠΊΡ Xcode
ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
ΠΠ±ΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
- ΠΠ»Π°Π³ΠΈΠ½Ρ
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½
Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²
- ΠΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ
ΠΠ΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ CI
Appcircle
Azure DevOps
ΠΠ°ΠΌΠ±ΡΠΊ
Bitrise
CircleCI
GitLab CI
ΠΠΆΠ΅Π½ΠΊΠΈΠ½Ρ
NeverCode
Π‘Π΅ΠΌΠ°ΡΠΎΡ
Π’ΡΡΠ²ΠΈΡ
ΠΠ»ΡΡΠΈ
- ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ
ΡΠΊΠΎΡΠΎΡΡΠ½Π°Ρ ΡΡΠ°ΡΡΠ°
Fastfile
Π€Π°ΠΉΠ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ΅ΡΠ΅ΡΠ»ΠΊΠΈ
ΠΠ΅ΠΉΡΡΠ²ΠΈΡ
ΠΡΡΠ³ΠΈΠ΅
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΡΠΊΠΎΡΠΎΡΡΠ½ΠΎΠΉ ΠΏΠΎΠ»ΠΎΡΡ
- ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ Β»
- ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Β»
- git_commit
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° GitHub
ΠΠ°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅ ΠΈ ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git — PyCharm
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ Π²Π΅ΡΡΠΈΠΉ Git, ΠΈ Π²Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½Ρ ΠΈΡ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ Π Π°Π±ΠΎΡΠ°.ΠΡΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΌΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΡΡΠ°Π»ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄ΡΡΠ³ΠΈΠΌ.
ΠΠ°Π΄Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠ΅ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Git
Git Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ Π²Π°ΡΠ΅ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΎΠ±Ρ ΡΠ²ΡΠ·Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Ρ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ ΡΠ²ΠΎΠ΅ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, PyCharm ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π²Π°ΠΌ ΡΠΊΠ°Π·Π°ΡΡ Π΅Π³ΠΎ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠ°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ
Π PyCharm Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ²:
Π ΠΎΠΊΠ½Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Alt + 0 : ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π½ΠΎΠ²ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ.ΠΡΠΎΡ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ: Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π²Ρ Π²ΡΠ΅Π³Π΄Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π³ΠΎΡΠΎΠ²Ρ, ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΉ, ΠΈ Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ.
Π§Π΅ΡΠ΅Π· Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«ΠΡΠΈΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΒ»: ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π°ΠΆΠΊΠ° ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΌΠΎΠ΄Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ | Π‘ΡΡΠ°Π½ΠΈΡΠ° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ / ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ Ctrl + Alt + S .
Π€ΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠΊΠ½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ
ΠΡΠΊΡΡΡΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Alt + 0 , ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ ΡΠ»Π΅Π²Π°:
ΠΠΎΠ³Π΄Π° Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΠΆΠΌΠ΅ΡΠ΅ Ctrl + K , Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΡΠ°Π½ Π²Π΅ΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ·Π»Π΅ Β«ΠΠ΅Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»ΡΒ» — PyCharm ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³.
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π»ΠΊΠ½ΡΡΡ Π² ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ·ΠΆΠ΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²Ρ Π½Π°ΠΆΠΌΠ΅ΡΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ / ΠΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡΒ». Ctrl + Alt + S Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ | ΠΠΈΠ°Π»ΠΎΠ³ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡΡ Π±ΡΡΡΡΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Β«ΠΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡΒ», ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ Π΄Π»ΠΈΠ½Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ, Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π² ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ ΠΎΠΊΠ½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°:
ΠΠΎΡΡΡΠΏΠ½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠ²ΡΠΎΡ: Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π°Π²ΡΠΎΡΠ° ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ: ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ.
- ΠΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ: Π²ΡΠ±Π΅ΡΠΈΡΠ΅, Ρ
ΠΎΡΠΈΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ Π²Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΡΠΎ Π²Ρ Π±Π΅ΡΠ΅ΡΠ΅ Π½Π° ΡΠ΅Π±Ρ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π·Π° ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΠ΅.
ΠΠΎΠ³Π΄Π° ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½, Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°: ΠΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΎ: <ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ>
Π ΠΎΠ±Π»Π°ΡΡΠΈ ΠΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ PyCharm Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Ρ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
Π ΠΎΠ±Π»Π°ΡΡΠΈ Β«ΠΠΎΡΠ»Π΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈΒ» Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ Ρ ΠΎΡΡ, ΡΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄ΠΈΡΠΊ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. Π‘ΠΌ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅Β».
ΠΠΎΠ³Π΄Π° Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ²Ρ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«ΠΡΠΈΠ½ΡΡΡΒ» ΠΈΠ»ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΡΡΠ΅Π»ΠΊΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«ΠΡΠΈΠ½ΡΡΡΒ», ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΡΠΈΠ½ΡΡΡ ΠΈ Π½Π°ΠΆΠ°ΡΡ ( Ctrl + Alt + K ): Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΠΊΡΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ. Π Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Create Patch Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΏΠ°ΡΡΠ° ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅, Π½ΡΠΆΠ΅Π½ Π»ΠΈ Π²Π°ΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΏΠ°ΡΡ.
Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΡΠΊ: Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π²Π°ΡΡ Π»ΠΈΡΠ½ΡΡ ΡΠ±ΠΎΡΠΊΡ.ΠΡΠ° ΠΎΠΏΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½Π°, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π²ΠΎΡΠ»ΠΈ Π² TeamCity. ΠΠ° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΠΌΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π° TeamCity.
Π€ΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«Π€ΠΈΠΊΡΠ°ΡΠΈΡΒ»
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΈΠ»ΠΈ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Β«ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΒ» ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl + K ΠΈΠ»ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«Π€ΠΈΠΊΡΠ°ΡΠΈΡΒ» Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
Π ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΡΠΈΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΒ» ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΅ Π½Π΅Π΄Π°Π²Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ Π½Π΅Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΈ ΡΠ½ΠΈΠΌΠΈΡΠ΅ ΡΠ»Π°ΠΆΠΊΠΈ ΡΡΠ΄ΠΎΠΌ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠΈΠΊΡΠ°ΡΠΈΡ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΈΡΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ ΠΎΡΡΠ°Π½ΡΡΡΡ Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΈ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ·Π»Π΅ Β«ΠΠ΅Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»ΡΒ» — PyCharm ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³.
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΠΠΎΠΆΠ½ΠΎ ΡΠ΅Π»ΠΊΠ½ΡΡΡ ΠΡΡΠΎΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Ctrl + M , ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ·ΠΆΠ΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²Ρ Π½Π°ΠΆΠΌΠ΅ΡΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ / ΠΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡΒ». Ctrl + Alt + S Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ | ΠΠΈΠ°Π»ΠΎΠ³ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡΡ Π±ΡΡΡΡΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Β«ΠΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡΒ», ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ Π΄Π»ΠΈΠ½Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ, Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. ΠΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°:
ΠΠ²ΡΠΎΡ: Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π°Π²ΡΠΎΡΠ° ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ: ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ.
- ΠΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ: Π²ΡΠ±Π΅ΡΠΈΡΠ΅, Ρ
ΠΎΡΠΈΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ Π²Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΡΠΎ Π²Ρ Π±Π΅ΡΠ΅ΡΠ΅ Π½Π° ΡΠ΅Π±Ρ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π·Π° ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΠ΅.
ΠΠΎΠ³Π΄Π° ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½, Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°: ΠΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΎ: <ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ>
Π ΠΎΠ±Π»Π°ΡΡΠΈ ΠΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ PyCharm Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Ρ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
Π ΠΎΠ±Π»Π°ΡΡΠΈ Β«ΠΠΎΡΠ»Π΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈΒ» Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ Ρ ΠΎΡΡ, ΡΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄ΠΈΡΠΊ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. Π‘ΠΌ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅Β».
ΠΠΎΠ³Π΄Π° Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ²Ρ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«ΠΡΠΈΠ½ΡΡΡΒ» ΠΈΠ»ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΡΡΠ΅Π»ΠΊΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«ΠΡΠΈΠ½ΡΡΡΒ», ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΡΠΈΠ½ΡΡΡ ΠΈ Π½Π°ΠΆΠ°ΡΡ ( Ctrl + Alt + K ): Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΠΊΡΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ. Π Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Create Patch Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΏΠ°ΡΡΠ° ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅, Π½ΡΠΆΠ΅Π½ Π»ΠΈ Π²Π°ΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΏΠ°ΡΡ.
Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΡΠΊ: Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π²Π°ΡΡ Π»ΠΈΡΠ½ΡΡ ΡΠ±ΠΎΡΠΊΡ.ΠΡΠ° ΠΎΠΏΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½Π°, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π²ΠΎΡΠ»ΠΈ Π² TeamCity. ΠΠ° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΠΌΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π° TeamCity.
ΠΠ°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΡ ΡΠ°ΠΉΠ»Π°
ΠΠ½ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π²Π½ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π½Π΅ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΉΠ». ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ Π»ΡΡΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΎΡΠΌΠ΅Π½ΠΈΡΡ, Π²ΡΠ±ΡΠ°ΡΡ ΠΈΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
PyCharm ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ²:
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΠΏΡΡΠΌΠΎ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«Π€ΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΒ» ΠΈ ΠΎΡΡΠ°Π²ΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΏΠΎΠ·ΠΆΠ΅.
ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π° Π² ΡΠ°Π·Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° Π»Π΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ ΡΠΏΠΈΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ, ΡΠΎΠ³Π΄Π° Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, ΠΏΠΎΠΏΠ°Π΄ΡΡ Π² ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π»ΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π²Π°ΠΌΠΈ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ, ΠΎΡΡΠ°Π½ΡΡΡΡ ΡΠ°ΠΌ, Π³Π΄Π΅ ΠΎΠ½ΠΈ Π΅ΡΡΡ.
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ
ΠΡΠΊΡΠΎΠΉΡΠ΅ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Alt + 0 ΡΠ»Π΅Π²Π° ΠΈΠ»ΠΈ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«ΠΡΠΈΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΒ».
Π§ΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π² ΠΎΠΊΠ½Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl + D .
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«ΠΡΠΈΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΒ», Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«Π Π°Π·Π½ΠΈΡΠ°Β».
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ»Π°ΠΆΠΎΠΊ ΡΡΠ΄ΠΎΠΌ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π²Π½ΠΎΠ²Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΈ ΠΎΡΡΠ°Π²ΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ:
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Β«ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΒ» Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
Π§ΡΠΎΠ±Ρ Π½Π°Π·Π½Π°ΡΠΈΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΡΠ»ΡΠΊ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ: Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ / ΠΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡΒ» Ctrl + Alt + S Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«Π Π°ΡΠΊΠ»Π°Π΄ΠΊΠ°Β» ΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Β«ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΡΡΠΎΠΊΠΈ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΒ» Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π‘ΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉΒ».
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ «ΠΡΠΈΠ½ΡΡΡ». ΠΠ΅Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΡΠ°Π½ΡΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠ°ΠΊ ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°Π·Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΠΎΠ³Π΄Π° Π²Ρ Π²Π½ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ» Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅, ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΌΠ°ΡΠΊΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΆΠ΅Π»ΠΎΠ±Π΅.
ΠΡΠ»ΠΈ Π² ΠΆΠ΅Π»ΠΎΠ±Π΅ Π½Π΅Ρ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«ΠΡΠ΄Π΅Π»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ Π² ΠΆΠ΅Π»ΠΎΠ±Π΅Β» Π²ΠΊΠ»ΡΡΠ΅Π½ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ / ΠΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡΒ» Ctrl + Alt + S Π½ΠΈΠΆΠ΅.
ΠΠ° ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΉΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π° (ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ):
ΠΠ°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
ΠΡΠΏΡΠ°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΠ΅ΡΠ΅Π΄ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Π°ΡΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π°ΠΊΡΡΠ°Π»ΡΠ½Π°, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ².
PyCharm ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π»ΡΠ±ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π²Π΅ΡΠΊΡ ΠΈΠ»ΠΈ Π² Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ:
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΎΠ»ΠΊΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl + Shift + K ΠΈΠ»ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ VCS | Git | ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ.
Π§ΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π»ΡΠ±ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΠΈΠΌΠ΅ΡΡΠ΅ΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΡ Π²Π΅ΡΠ²Ρ Π²ΠΎ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅ΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΠ΅ΡΠ²ΠΈΒ» ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΡΠΏΡΠ°Π²ΠΈΡΡΒ» ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΡΠΊΡΠΎΠ΅ΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«Push-ΠΊΠΎΠΌΠΌΠΈΡΡΒ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π²ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Git (Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ) ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ (Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·Π΄Π΅Π»Ρ Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ: GitΒ»).
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΆΠ°ΡΡ Ctrl + Q Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ°ΠΊΡΡ ββΠΊΠ°ΠΊ Π°Π²ΡΠΎΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π²ΡΠ΅ΠΌΡ, Ρ ΡΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΠΡΠ»ΠΈ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π΅Ρ ΠΏΡΠ»ΡΡΠΎΠ² ΠΠ£, ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΡΡΠ»ΠΊΠ° Β«ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉΒ». Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΡΡ ΡΡΡΠ»ΠΊΡ ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΈ URL-Π°Π΄ΡΠ΅Ρ Π² ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅. ΠΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½, ΠΈ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅ ΡΠ΅ΡΠ΅Π· VCS | Git | ΠΡΠ»ΡΡΡ (ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ).
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π»Π΅Π²ΡΡ Π²Π΅ΡΠ²Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π»ΠΊΠ½ΡΡΡ ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ. ΠΠ΅ΡΠΊΠ° ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅, Π³Π΄Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π²Π΅ΡΡΠΈ ΠΈΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π»ΠΊΠ½ΡΡΡ ΡΡΡΠ»ΠΊΡ Β«ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΡΠ΅Π»ΠΈΒ» Π² ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ, ΡΡΠΎΠ±Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° Π²ΡΠ΅Ρ Π²Π΅ΡΠΎΠΊ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠ²Ρ: ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π°.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π°ΠΆΠ°Π² ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΠ»ΠΈ F2 Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ. ΠΠ° ΠΏΡΠ°Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΈΠ·ΡΡΠΈΡΡ Π΄Π΅ΡΠ°Π»ΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΠΡΠ»ΠΈ Π°Π²ΡΠΎΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠ° ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΎΠΉ.
ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠ±Π΅ΡΠ΅ΡΠ΅ Π²Π΅ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π½Π° ΠΏΡΠ°Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.
ΠΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΉΠ» Π±ΡΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠ±Π΅ΡΠ΅ΡΠ΅ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ»ΠΈ Π²Π΅ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠ·ΠΎΠ²Π΅ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π·Π°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Ρ Π²ΠΌΠ΅ΡΡΠ΅.
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠ°ΠΆΠ°ΡΡΒ», ΠΊΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ²Ρ, ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ, ΠΈΠ· ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ ΠΌΠ΅Π½Ρ: Β«ΠΠ°ΠΆΠ°ΡΡΒ» ΠΈΠ»ΠΈ Β«ΠΠ°ΠΆΠ°ΡΡ Ρ ΡΠΈΠ»ΠΎΠΉΒ».
ΠΡΠΈ Π²Π°ΡΠΈΠ°Π½ΡΡ Π²ΡΠ±ΠΎΡΠ° Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠ²Ρ Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π° Π² ΠΏΠΎΠ»Π΅ ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΠΊΠΈ (ΡΠΌ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ: Git), Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ
push
.
ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ Π²Π°ΡΡ ΡΠ°Π±ΠΎΡΡΡ ΠΊΠΎΠΏΠΈΡ, Π΅ΡΠ»ΠΈ push ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½
ΠΡΠ»ΠΈ push ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ°Ρ ΠΊΠΎΠΏΠΈΡ ΡΡΡΠ°ΡΠ΅Π»Π°, PyCharm ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Push Rejected ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Auto-update if push of the current branch was rejected Π² Git ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈΒ» Π½Π΅ Π²ΡΠ±ΡΠ°Π½Π°. Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΡΠ΅ΠΊ.
. ΠΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Git, ΡΠΊΠ°ΠΆΠΈΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ.ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π±ΡΠ» Π»ΠΈ Π΄Π»Ρ Π½ΠΈΡ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ push, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΎΠΏΡΠΈΡ ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈ Π½Π΅ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½Π½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΡΠ»ΠΈ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½, Π±ΡΠ΄ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΡΡΠΎΠ½ΡΡΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ PyCharm ΠΏΡΠΈΠΌΠ΅Π½ΡΠ» ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΠΊΠΎΠ³Π΄Π° Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π· push Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π²ΡΠ±ΡΠ°Π»ΠΈ Π² ΡΡΠΎΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌΒ».
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΏΠΎΠΊΠΈΠ½Π΅ΡΠ΅ ΡΡΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠ»Π°ΠΆΠΎΠΊ Β«ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ Π±ΡΠ»ΠΎ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΎΒ» Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Git Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈΒ», ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΡΠ½ΠΈΠΌΠΈΡΠ΅ ΡΡΠΎΡ ΡΠ»Π°ΠΆΠΎΠΊ, ΡΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«Push RejectedΒ», ΠΊΠΎΠ³Π΄Π° Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π· Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΎ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ Π΄ΡΡΠ³ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ½ΠΎΠ²Π° Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΒ».
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ (ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ), ΡΠ΅Π»ΠΊΠ½ΡΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΊΠ½ΠΎΠΏΠΊΡ Rebase ΠΈΠ»ΠΈ Merge.
ΠΠΎΠ³Π΄Π° ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅?
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ push, Git ΠΎΡΠΊΠ°ΠΆΠ΅ΡΡΡ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π΅ΡΠ»ΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΏΡΠΎΠΏΡΡΡΠΈΠ»ΠΈ ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ±ΡΡΠ½ΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ pull Π΄Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Ρ ΠΏΡΠ»ΡΡΠΎΠΌ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²Π½ΠΎΡΠΈΡΡ Π² Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠΎΠΌΠ°Π½Π΄Π° --force push
ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΡΠΈΡΠ°Ρ Π΅Π³ΠΎ ΠΈΡΡΠΎΡΠΈΡ ΠΈ Π²ΡΠ·ΡΠ²Π°Ρ ΠΏΠΎΡΠ΅ΡΡ Π΄Π°Π½Π½ΡΡ
.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ --force push
, — ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΡΠ΅ΡΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Π²Π΅ΡΠΊΡ, Π° Π·Π°ΡΠ΅ΠΌ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΅Π΅ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π½Π°ΠΆΠ°ΡΡ, Git ΠΎΡΠΊΠ»ΠΎΠ½ΠΈΡ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ΄Π°Π»Π΅Π½Π½Π°Ρ ΡΡΡΠ»ΠΊΠ° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΊΠΎΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ.ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π²ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ Π΄Π²Π΅ ΠΊΠΎΠΏΠΈΠΈ Π²Π΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠΎΠ»ΠΊΠ½ΡΡΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ:
ΠΠΈΠΊΡΠΎ Π½Π΅ Π²ΡΡΠ°ΡΠΈΠ» Π²Π°ΡΡ Π²Π΅ΡΠΊΡ ΠΈ Π½Π΅ Π²Π½Π΅Ρ Π² Π½Π΅Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
ΠΡΠ΅ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ Π½Π°ΠΆΠ°ΡΠ°
Π£ Π²Π°Ρ Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠΈ
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: 11 Π½ΠΎΡΠ±ΡΡ 2020 Π³.
ΠΠ°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» | ΠΠ°Π΄Π΅ΡΠΆΠΊΠ°
1
git-commit
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Git Ρ Backlog
- Git Tutorial
- ΠΠ·ΡΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ Git
- Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ git?
- Π Π°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Git
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
- ΠΠ°ΠΏΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
- ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
- Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²
- ΠΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ ΠΈΡΡΠΎΡΠΈΠΈ
- ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ Git Collaboration
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ
- Π£Π΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ
- ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ
- ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π²Π΅ΡΠΊΡ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
- Π Π°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ
- ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π²Π΅ΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π²Π΅ΡΠ²Π΅ΠΉ
- ΠΠ΅ΡΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ
- ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ
- Π’Π΅Π³ΠΈ
- ΠΠ°ΠΏΡΠΎΡΡ Π½Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅
00 Π£Π΄Π°Π»Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΠΊΠΈ
- Π Π°Π±ΠΎΡΠ° Ρ G
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ git
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
- ΠΠ°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»
- Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
- ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
- ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
- ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠ· ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
- ΠΠ·Π²Π»Π΅ΡΡ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
- Π‘Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ
- Π Π°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ
- ΠΠ΅ΡΠ²Π»Π΅Π½ΠΈΠ΅
- Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠ²Ρ
- ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ Π²Π΅ΡΠΊΠΈ
- ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²Π΅ΡΠΊΠΈ
- Π£Π΄Π°Π»ΠΈΡΡ Π²Π΅ΡΠΊΠΈ
- Π Π°Π±ΠΎΡΠ°ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ
- Π Π°Π±ΠΎΡΠ°ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΡΠ»ΠΈΡΠ½ΠΈΡ
- ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ
- Π’Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅Π³
- Π£Π΄Π°Π»ΠΈΡΡ ΡΠ΅Π³
- ΠΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΡΡΠΎΡΠΈΡ
- ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ — ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ
- ΠΡΠΌΠ΅Π½ΠΈΡΡ
- Π‘Π±ΡΠΎΡΠΈΡΡ
- 9264 9264 Cherry pick
.