ΠΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ git: GIT. ΠΡΠΌΠ΅Π½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ / Π’ΡΠΏΠΊ
ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Git β Zencoder
ΠΠ±ΡΠΈΡΠ½Π°Ρ ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΡΠ΅ΠΌΠ°. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ, Π΅ΡΠ»ΠΈ ΡΡΠΎΠΈΡ Π·Π°Π΄Π°ΡΠ° ΠΈΠ·ΡΡΠΈΡΡ ΠΈ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Git.
ΠΡΠ° ΡΠ΅ΠΌΠ° ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΎΡΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Git. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ ΡΡΠΈ Π²Π΅ΡΠΊΠΈ — ΡΠ°Π±ΠΎΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π±ΡΡΠ΅Ρ, ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ — ΡΠΎ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π²ΡΠ΅ ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π°.
ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
ΠΠ»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ΄Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git checkout -- name_of_file
ΠΠ°Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π³ΠΎΠ²ΠΎΡΠΈΡ Git Π²Π΅ΡΠ½ΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠ±ΡΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»Π° Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π΄Π΅ΡΠΈΡ. ΠΡΠΎ βΠ³ΠΎΠ²ΠΎΡΠΈΡβ ΠΊΠΎΠΌΠ°Π½Π΄Π΅
, ΡΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅ (branche).
ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π±ΡΡΠ΅ΡΠ΅
ΠΠ»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π±ΡΡΠ΅ΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git reset HEAD name_of_file
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° βΠ²Π΅ΡΠ½Π΅Ρβ ΡΠ°ΠΉΠ» ΠΈΠ· Π±ΡΡΠ΅ΡΠ° Π² ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΡΠΎ Π·Π΄Π΅ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. Π‘Π²ΡΠ·Π°Π½ΠΎ ΡΡΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ.
ΠΠ΅Π»ΡΠ·Ρ ΠΏΡΠΎΡΡΠΎ ΡΠ°ΠΊ Π²Π·ΡΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ — Π²ΡΠ΅ ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠ²ΠΎΠ΅ΠΎΠ±ΡΠ°Π·Π½ΠΎΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ ΠΏΡΠΎΠΈΡΡΠ΅ΠΊΠ°Π΅Ρ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π΅ΡΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ-ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ-ΠΏΠΎΡΠΎΠΌΠΎΠΊ. ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ — ΡΡΠΎ Π·Π½Π°ΡΠΈΡ Π²ΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΈΠ· ΡΡΠΎΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠΈ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π΅ΠΉ. Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ Π½Π°ΡΡΡΠΈΡΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΠ° Git ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΡΡΠΈΡΡΡ. ΠΠ΅Π΄Ρ Π΄Π΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΌΠ° ΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Git ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΡΠ°ΠΊΠΎΠΉ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² — ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ ΠΏΡΠΎΠΈΡΡΠ΅ΠΊΠ°Π΅Ρ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ, Π²ΡΠΎΡΠΎΠΉ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ, ΡΡΠ΅ΡΠΈΠΉ ΠΈΠ· Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠ°ΠΊ ΠΆΠ΅ ΠΏΠΎΡΡΡΠΏΠΈΡΡ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ?
ΠΠ΅ Π²ΡΠ΅ ΡΠ°ΠΊ ΠΌΡΠ°ΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΡΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠΈΠΆΠ΅ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ Π½ΠΈΠΌΠΈ.
ΠΠΏΡΠΈΡ amend
ΠΡΠ»ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΈΠ· Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅, ΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ — ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π²Π½Π΅ΡΠ΅Π½ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅Π΄Π°Π²Π½ΠΎ. Π£ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π΅ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡ-ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ, Π½ΠΎ Π½Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°-ΠΏΠΎΡΠΎΠΌΠΊΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ — ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ°Π· Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½Π΅Ρ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ², ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½Π΅ ΠΏΠΎΠ²Π»Π΅ΡΠ΅Ρ Π·Π° ΡΠΎΠ±ΠΎΠΉ Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π²ΡΠ΅ΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ — ΠΈ ΡΠΎΠ»ΡΠΊΠΎ.
ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π² Π΅Π³ΠΎ. ΠΠ»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ ΡΠ»ΡΠΆΠΈΡ ΠΊΠ»ΡΡ . ΠΠΎΠΌΠ°Π½Π΄Π° Π² ΡΠ΅Π»ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
git commit --amend -m "Add some commit"
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ (ΡΠΎΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD) Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½ ΠΈ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΡ — Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠΌΠΌΡ SHA ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π΄ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΠΎΠΌΠ°Π½Π΄Π° checkout
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΡΠΊΠ°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π΄ΠΎ Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΠ°Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΠ°ΠΌΠΎΠΌ ΡΠ°ΠΊΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π² ΡΠΎΠ»ΠΈ ΡΠ·Π»ΠΎΠ² Π²ΡΡΡΡΠΏΠ°ΡΡ ΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ.
ΠΠ±ΡΠ°Π·Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΎΡΠ΅Π½Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ — ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΡ ΠΌΠ°Π³Π½ΠΈΡΠΎΡΠΎΠ½Π½ΡΡ Π»Π΅Π½ΡΡ Π² ΡΡΠ°ΡΡΡ ΠΊΠ°ΡΡΠ΅ΡΠ½ΡΡ ΠΌΠ°Π³Π½ΠΈΡΠΎΡΠΎΠ½Π°Ρ . Π’ΠΎ ΠΌΠ΅ΡΡΠΎ Π½Π° Π»Π΅Π½ΡΠ΅, Π³Π΄Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π·Π²ΡΠΊΠΎΠ·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΠ°Ρ Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° — ΡΡΠΎ ΠΈ Π΅ΡΡΡ ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ — ΡΡΠΎ ΠΌΠ΅ΡΡΠ° Π½Π° Π»Π΅Π½ΡΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»Π° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ΅ ΡΠ°ΠΌΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ.
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD Π²Π΅ΡΠ½ΡΡΡΡΡ Π½Π°Π·Π°Π΄, Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ — Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. Π Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ — ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΡΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΠΌ.
ΠΡΠ΅ ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ — ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅ΡΠ½ΡΡΡΡΡ HEAD. Π£ΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ ΠΏΡΠΎΡΡΠΎ — Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ — ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ SHA-ΡΡΠΌΠΌΠ°.
ΠΠΎΠΌΠ°Π½Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
git checkout -- 4a2f59a32bd1074c42 name_of_file
ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ SHA-ΡΡΠΌΠΌΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅.
Π ΡΠΎΠ³Π΄Π° Git ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Ρ ΡΠ±ΡΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ (ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π½Ρ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅) ΡΠ°ΠΉΠ»Π° Π² Π±ΡΡΠ΅Ρ. ΠΡΠ»ΠΈ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π² Π±ΡΡΠ΅ΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π³ΠΎΡΠΎΠ²ΡΠ΅ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΡΠΎ ΡΠ΅ ΡΠ°ΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ βΠ²ΡΠ±ΡΠΎΡΠΈΠ»ΠΈβ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΠ°Π»ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ βΠ²ΡΠ±ΡΠΎΡβ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»Π° ΠΈΠ· Π±ΡΡΠ΅ΡΠ° Π² ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΌΡ ΡΠΌΠΎΠ³Π»ΠΈ Π²Π½Π΅ΡΡΠΈ ΠΏΡΠ°Π²ΠΊΠΈ Π² ΡΡΠΎΡ ΡΠ°ΠΉΠ»:
git reset HEAD name_of_file
ΠΡΠ΅, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²Π½Π΅ΡΠ΅Π½ΠΎ Π² ΡΡΠΎΡ ΡΠ°ΠΉΠ», Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½ΠΎ — Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΆΠ΅ Π΄ΡΡΠ³ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠΌΠΌΡ. Π ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ — ΡΡΠΎ ΡΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠ΅ΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ Git Π΄Π»Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° .
Π‘ΡΡΡ Π΅Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ° — ΠΎΠ½Π° ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΠΊΡΠ°ΠΉΠ½Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅; ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π½ΠΎ Π² ΡΠΎΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ Π·Π΅ΡΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ, ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ revert ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΡ:
git revert 4a2f59a32bd1074c42
Π³Π΄Π΅ — ΡΡΠΎ ΡΠ°ΡΡΡ SHA-ΡΡΠΌΠΌΡ ΠΊΡΠ°ΠΉΠ½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΠΎΠΌΠ°Π½Π΄Π° reset
ΠΠΎΠΌΠ°Π½Π΄Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git. ΠΠ΅Π»Π°Π΅Ρ ΠΎΠ½Π° ΡΡΠΎ ΠΏΡΡΠ΅ΠΌ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD Π½Π° Π½ΡΠΆΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠΎΡΠ»Π΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ HEAD Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½ΠΈΠΊΡΠ΄Π° Π½Π΅ ΠΏΡΠΎΠΏΠ°Π΄ΡΡ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ — ΠΎΠ½ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠ°ΠΌ. ΠΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π»ΡΠ±ΠΎΠ΅ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² — ΠΈ ΡΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Ρ Π½Π°Π²ΡΠ΅Π³Π΄Π°.
Π‘ΠΈΡΡΠ°ΡΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° ΡΠΎ ΠΎΠ±ΡΠ°Π·Π½ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Git Ρ ΠΌΠ°Π³Π½ΠΈΡΠΎΡΠΎΠ½Π½ΠΎΠΉ Π»Π΅Π½ΡΠΎΠΉ. Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠΎΡΠ°ΡΡ Π»Π΅Π½ΡΡ Π½Π° 10-20 ΠΌΠΈΠ½ΡΡ Π½Π°Π·Π°Π΄ ΠΈ ΡΠ½ΠΎΠ²Π° Π½Π°ΡΠ°ΡΡ Π·Π°ΠΏΠΈΡΡ, ΡΠΎ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ (ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°) Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½Ρ.
Π£ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΅ΡΡΡ ΡΡΠΈ ΠΊΠ»ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΠΈΠ΄ΠΎΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΅Π΅ ΡΠ°Π±ΠΎΡΡ:
ΠΠΎΠΌΠ°Π½Π΄Π°
1 | git reset --soft 4a2f59a32bd1074c42 |
ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Ρ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ 4a2f59a32bd1074c42. ΠΡΠΈ ΡΡΠΎΠΌ Git ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Ρ ΡΠ±ΡΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π±ΡΡΠ΅Ρ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΡΡΠ΅Ρ ΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π±ΡΠ΄ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ; Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
ΠΠΎΠΌΠ°Π½Π΄Π°
1 | git reset --mixd 4a2f59a32bd1074c42 |
Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ. Π’Π°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD. ΠΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Git ΡΠ±ΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ. Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ Π±ΡΡΠ΅Ρ Π±ΡΠ΄ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΌΠΈ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½Π΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.
ΠΠΎΠΌΠ°Π½Π΄Π°
1 | git reset --hard 4a2f59a32bd1074c42 |
ΡΠ°ΠΌΠ°Ρ βΠΆΠ΅ΡΡΠΊΠ°Ρβ. Π’Π°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ ΡΠ±ΡΠΎΡ Π²ΡΠ΅Ρ ΡΡΠ΅Ρ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π² Git — ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π±ΡΡΠ΅ΡΠ° ΠΈ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΡΠ΅ ΡΡΠΈ Π±ΡΠ΄ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΌΠΈ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ.
ΠΠΎΠΌΠ°Π½Π΄Π° clean
Π ΡΠΈΡΡΠ΅ΠΌΠ΅ Git ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈ
Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΎΠ½ΠΈ Π²ΡΠΎΠ΄Π΅ ΠΊΠ°ΠΊ ΡΠ΄Π°Π»ΡΡΡΡΡ. ΠΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΡΡΠ°ΡΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Git. ΠΡΠΎΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ Π² ΡΠ°Π·Π΄Π΅Π» ΠΌΡΡΠΎΡΠ° ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡΡΠΎΡΠΎΠΌ.
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΡΠΈΡΡΠΊΡ ΠΌΡΡΠΎΡΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠ½Π° ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΈ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΠΎ Π΄Π°ΠΆΠ΅ ΡΡΠΎ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ. ΠΡΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ , ΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ. Π‘ΠΈΡΡΠ΅ΠΌΠ° Git ΡΠΊΠ°ΠΆΠ΅Ρ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π»ΠΈΠ±ΠΎ Ρ ΠΊΠ»ΡΡΠΎΠΌ
, Π»ΠΈΠ±ΠΎ Ρ ΠΊΠ»ΡΡΠΎΠΌ
.
ΠΠ°ΠΏΡΡΠΊ — ΡΡΠΎ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ. ΠΠΈΡΠ΅Π³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ — ΡΠΈΡΡΠ΅ΠΌΠ° Π»ΠΈΡΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΡΡΠΎ ΠΎΠ½Π° ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠ΄Π°Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ.
Π Π²ΠΎΡ Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Git ΡΡΠΈΡΠ°Π΅Ρ ΠΌΡΡΠΎΡΠΎΠΌ. Π Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Ρ Π½Π°Π²ΡΠ΅Π³Π΄Π°.
ΠΠ° ΡΡΠΎΠΌ Π²ΡΠ΅.
git
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ commit ΠΈ Π½Π΅ ΠΎΠ±Π»Π°ΠΆΠ°ΡΡΡΡ / Π₯Π°Π±Ρ
ΠΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ-Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ, Π½ΠΎ ΠΈ ΡΡΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Π°ΠΌ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠ±Π΅Π³Π°ΡΡ ΠΊ ΠΎΡΠΌΠ΅Π½Π΅ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π ΡΠΎΠ³Π΄Π°, ΠΏΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΌ, β ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° git revert
, ΠΊΠ°ΠΊ ΡΠ°ΠΌΡΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±. Π ΡΡΡ Π΅ΡΡΡ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ, ΠΏΡΠΎ ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Ρ
ΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ.
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΏΡΠΎΡΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ: ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ΅ΡΠ°Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎ Π½Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ ΠΏΡΡΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΡΡΠΎ Π΄Π°Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡ Π±ΡΠ»ΠΎ Π±Ρ Ρ ΠΎΡΠΎΡΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ, Π΄ΠΎΠΏΡΡΡΠΈΠΌ, Π½Π° Π΄Π²Π΅ ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠΈ:
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ Ρ.Π΄.)
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΈΡΠ»Π° ΠΈ Ρ.Π΄.)
ΠΡΠΎΠ²Π΅ΡΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅ Π΄Π° ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΠΎ ΠΎΠ½ ΡΠΆΠ΅ Π½Π°ΡΠ°Π» Π΅Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ, ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π½Ρ, ΠΈ ΡΡΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°ΡΡ? ΠΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΆΠ΅!
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ·Π΄Π°Π» Π²Π΅ΡΠΊΡ functions
, ΠΊΠ»Π°ΡΡ Arithmetic, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΉ Π·Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (ΠΊΠΎΠΌΠΌΠΈΡ Π), ΠΈ ΠΊΠ»Π°ΡΡ Numerical, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΉ Π·Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (ΠΊΠΎΠΌΠΌΠΈΡ N). ΠΡΠΎΠ³ΠΎ Π΄Π²Π° ΠΊΠ»Π°ΡΡΠ° ΠΈ Π΄Π²Π° ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git revert
Π Π΅ΡΠ΅Π½ΠΎ, Π΄Π°Π±Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ, Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡΡΡ ΠΎΡ functions
ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π²Π΅ Π²Π΅ΡΠΊΠΈ numerical
ΠΈ arithmetic
. Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ. Π’ΠΎ Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ git revert N
Π² Π²Π΅ΡΠΊΠ΅ arithmetic ΠΈ git revert A
Π² Π²Π΅ΡΠΊΠ΅ numerical. ΠΠ΅Π½ΠΈΠ°Π»ΡΠ½ΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ!
Π Π°Π±ΠΎΡΠ° ΠΊΠΈΠΏΠΈΡ ΠΈ ΠΎΡΡΠ°Π»ΠΎΡΡ Π΄Π΅Π»ΠΎ Π·Π° ΠΌΠ°Π»ΡΠΌ β ΡΠΌΠ΅ΡΠ΄ΠΆΠΈΡΡ ΠΌΠ°ΡΡΠ΅Ρ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ.
Π ΡΡΠΎ ΠΆΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ? ΠΠΈ ΠΊΠ»Π°ΡΡΠ° Arithmetic, Π½ΠΈ ΠΊΠ»Π°ΡΡΠ° Numerical!
Π Π²ΡΠ΅ Π΄Π΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° git revert
ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΎΡΠΌΠ΅Π½ΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π½Π΅ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΈΠ· ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ. Π Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΠ»Π΅ ΡΠ»ΠΈΡΠ½ΠΈΡ Π²Π΅ΡΠΎΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ 4 ΠΊΠΎΠΌΠΌΠΈΡΠ°:
A βΆ N βΆ revert A βΆ revert N
Π’ΠΎ Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½Ρ Ρ ΠΎΡΠΌΠ΅Π½ΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ revert
Π²ΡΡΠ΅Π» Π½Π°ΠΌ Π±ΠΎΠΊΠΎΠΌ.
git reset
Π ΡΡΡ ΠΌΡ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ, ΡΡΠΎ Π΅ΡΡΡ ΡΠ°ΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΠ°ΠΊ reset
, Π²ΠΎΡ ΠΎΠ½Π° Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ revert
ΡΠΎΡΠ½ΠΎ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· ΠΈΡΡΠΎΡΠΈΠΈ. ΠΠΎ Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΠβ¦ ΠΎΠ½Π° ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π΄ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π°ΠΌ Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ΄Π°Π»ΠΈΡΡ.
git rebase
ΠΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rebase
Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΠ΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π²ΡΡ
Π²Π΅ΡΠΎΠΊ numerical
ΠΈ arithmetic
ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ
git rebase -i βroot
Π’Π΅ΠΏΠ΅ΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ pick Π½Π° drop. Π ΡΠΎΠ³Π΄Π° Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ Π½Π°ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ±ΡΠΎΡΡΡΡΡ ΠΈΠ· ΠΈΡΡΠΎΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π² Π²Π΅ΡΠΊΠ΅ numerical
:
Π’ΠΎΠ³Π΄Π° Π² ΠΈΡΡΠΎΡΠΈΠΈ Ρ Π½Π°Ρ ΠΎΡΡΠ°Π½ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ Π½Π°ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π²Π΅ΡΠΎΠΊ Π² master
ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ±Π° ΠΊΠ»Π°ΡΡΠ°.
ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°Π±ΠΎΡΠΈΠΉ, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ°ΡΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΡΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π² ΠΎΠ±ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅, ΡΠΎ ΠΏΡΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ (git push
) git
ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Π΅ΡΠΊΠ° ΡΡΡΠ°ΡΠ΅Π»Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² Π½Π΅ΠΉ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ.
Π§ΡΠΎΠ±Ρ Π½Π΅ Π±ΠΎΡΠΎΡΡΡΡ Ρ git, ΡΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π΄Π°ΡΠΈ Π·Π°ΡΠ°Π½Π΅Π΅, Π° ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ»ΠΎΠ²ΠΈΡΡ ΡΡΡΠΏΡΠΈΠ·. Π‘ΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Π»ΠΈ Π²Ρ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠΈΡΡΠ°ΡΠΈΡΠΌ, ΠΈ Π΅ΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΠΊΠ°ΠΊ Π²ΡΡ ΠΎΠ΄ΠΈΠ»ΠΈ ΠΈΠ· Π½ΠΈΡ ?
ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² GIT
Π‘Π»ΡΡΠ°ΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ΅Π΄ΠΊΠΎ, Π½ΠΎ ΠΌΠ΅ΡΠΊΠΎ — ΡΡΠΎ «ΠΠ°Π°Π°Π°, Ρ Π½Π°ΠΊΠΎΡΡΡΠΈΠ» Π² git!!!». Π£ ΠΌΠ΅Π½Ρ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅Π³ΠΎΠ΄Π½Ρ, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠ΄Π΅Π»Π°Π» rebase ΡΠΎ squash’Π΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, Π½Π΅ ΠΈΠΌΠ΅Ρ ΡΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠ΅. Git Π½Π΅ Π·Π°Π΄ΡΠΌΡΠ²Π°ΡΡΡ ΡΠ»ΠΈΠ» ΠΌΠΎΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΡΡ Π΅Π³ΠΎ, Π° ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π²Π΅ΡΠΊΡ, ΡΠΎΠ·Π΄Π°Π² Π½ΠΎΠ²ΡΠΉ squash-ΠΊΠΎΠΌΠΌΠΈΡ.
Π ΠΎΠ±ΡΠ΅ΠΌ, Π·Π΄Π΅ΡΡ Ρ Π²ΡΠΏΠΎΠΌΠ½ΠΈΠ» ΠΏΡΠΎ Π»ΠΎΠ³ΠΈ ΠΈ ΠΎΡΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Git ΡΠΌΠ΅Π΅Ρ ΠΎΡΠΌΠ΅Π½ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ Ρ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ HEAD’Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ reset’ΠΎΠΌ. Π ΠΌΠΎΡΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΌΠ΅Π½Π° rebase Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ…
Π‘ΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ):
git reflog # Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΆΠΌΠ΅ΠΌ q # ΠΈΠ»ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 10 Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ git reflog -n 10 # ΠΈΠ»ΠΈ ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π½ΠΎ ΠΊΠΎΡΠΎΡΠ΅ git reflog -10
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΉ Π²ΡΠ²ΠΎΠ΄
$ git reflog -n 6 703952e HEAD@{0}: rebase -i (finish): returning to refs/heads/BPN-3546 703952e HEAD@{1}: rebase -i (squash): BPN-3546 Add content type for Gauge in Drupal 9a23f7e HEAD@{2}: rebase -i (squash): # This is a combination of 2 commits. c1b984f HEAD@{3}: rebase -i (pick): BPN-3546 Add content type for Gauge in Drupal c6be61c HEAD@{4}: rebase -i (start): checkout refs/heads/Gauge cf81cc3 HEAD@{5}: commit (amend): BPN-3546 Add content type for Gauge in Drupal
ΠΠ°Π»ΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΠΎΡΠΊΡ ΠΈ ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ΄ Π΄ΠΎ Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΠ΄Π΅ΡΡ Ρ Π²ΠΈΠΆΡ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 5 ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΠΎΠ² ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΡΠ΅Π±Π΅ΠΉΠ·ΠΎΠΌ. Π― ΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠ°Ρ ΠΈ Π΄Π²ΠΈΠ³Π°Ρ HEAD Π½Π°Π·Π°Π΄ Π½Π° 6 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΠ΄Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΠΎΠ΄Π½ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠΎΠ²Π΅ΡΡΡΠ½Π½ΠΎΠ΅ ΡΠ°Π½Π΅Π΅ (Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π² ΠΈΡΡΠΎΡΠΈΠΈ). ΠΠΎΠΆΠ½ΠΎ Π»ΠΈΡΡ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΎΡΠΊΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΎΡΠΌΠ΅Π½ΠΈΠ² Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°.
Π€Π»Π°Π³ --hard
Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ», ΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΊΠ°ΡΠ° ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»ΡΠ½ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π°Π³ --soft
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΊΠ°ΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠ°ΠΉΠ» ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΠΊΠ°ΠΊ Π½Π΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
git reset --hard HEAD@{5} # Π΄Π»Ρ Windows ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΊΠ°Π²ΡΡΠΊΠΈ git reset --hard "HEAD@{5}"
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ
git ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ Π½Π΅ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ — git
Π― ΠΏΡΡΠ°ΡΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π΄ΡΠΈΠ΅ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. Π― ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» git reset --hard
ΠΈ git reset --hard HEAD
ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° . Π― ΠΎΡΠ²Π΅ΡΠ°Ρ Ρ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π° 18c3773… Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΡΠΌΠΎΡΡΡ Π½Π° ΡΠ²ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ, Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠ°ΠΌ. Π§ΡΠΎ Ρ ΡΠΏΡΡΠΊΠ°Ρ ΠΈΠ· Π²ΠΈΠ΄Ρ?
git
command-line
undo
git-reset
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Antarr Byrd Β Β
28 Π΄Π΅ΠΊΠ°Π±ΡΡ 2012 Π² 20:46
6 ΠΡΠ²Π΅ΡΠΎΠ²
1345
ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Ρ
git add
:git reset
ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠΌΠ΅Π½Π΅ Π²ΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ Π ΠΠΠ):
git checkout .
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π΅ΡΠ½ΡΡΡ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ:
git checkout [some_dir|file.txt]
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (Π΄ΠΎΠ»ΡΡΠ΅ Π²Π²ΠΎΠ΄ΠΈΡΡ, Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°):
git reset --hard HEAD
ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ°ΠΊ ΡΡΠΎ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ git ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²:
git clean -fdx
WARNING:
-x
ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π°Π»ΠΈΡ Π²ΡΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·Π°Π½Ρ Π².gitignore
! ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ-n
Π΄Π»Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ΄Π°Π»ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠΎΠ΄Π²ΠΎΠ΄Ρ ΠΈΡΠΎΠ³: Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ
Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ fresh git clone
ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (Π½ΠΎ ΠΎΠ½ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠ΅Π΅):
git reset
git checkout .
git clean -fdx
ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ ΡΠ±ΠΎΡΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²Π°ΡΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠΈΡΡΠΎΠ΅ — Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ² ΡΠ±ΠΎΡΠΊΠΈ, ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ ΠΈ Π½Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π»ΠΎ Π²Π΅ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
mvp Β Β
28 Π΄Π΅ΠΊΠ°Π±ΡΡ 2012 Π² 21:04
127
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ «ΠΎΡΠΌΠ΅Π½ΠΈΡΡ» Π²ΡΠ΅ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅:
git stash
git stash drop
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ (ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π·Π°ΠΏΡΡΡΠΈΠ² git status
), ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅:
git clean -fdx
git stash
ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ½ΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ°Π½Π΅Ρ stash@{0} . ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ½Π°ΡΠ°Π»Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ git stash list
, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²Π°ΡΠΈΡ
ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
stash@{0}: WIP on rails-4: 66c8407 remove forem residuals
stash@{1}: WIP on master: 2b8f269 Map qualifications
stash@{2}: WIP on master: 27a7e54 Use non-dynamic finders
stash@{3}: WIP on blogit: c9bd270 some changes
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ½ΠΈΠΊ Π½Π°Π·Π²Π°Π½ Π² ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Abram Β Β
18 ΠΈΡΠ»Ρ 2014 Π² 20:59
18
ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ git stash
-which «stashes» Π²Π°ΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ Π² Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½, Π΅ΡΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ
Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ°ΠΉΠ½ΠΈΠΊΠ°Ρ
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
keshav Β Β
28 Π΄Π΅ΠΊΠ°Π±ΡΡ 2012 Π² 21:17
11
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ…. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ Π½Π΅ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² 2 ΠΏΡΠΎΡΡΡΡ ΡΠ°Π³Π°:
1) ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ±ΡΠΎΡΠΈΡΡ ΡΡΠ°ΡΡΡ ΡΠ°ΠΉΠ»Π° ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°
2) ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ unstage (command +a), ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π£Π΄Π°Π»ΠΈΡΡ
ΠΡΠΎ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ π
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
user1872384 Β Β
14 ΠΈΡΠ»Ρ 2016 Π² 17:19
5
ΠΠ»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Π΄ΠΎΠ±ΡΠ°Π»ΡΡ ΡΡΠ΄Π° Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ git clean -f -d
, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ» ΡΠ΄Π°Π»Π΅Π½ ΡΠ°ΠΉΠ», ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π² eclipse ,
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΈΠ· UI, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ «restore from local history» Π΄Π»Ρ ref: Restore from local history
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Abdul Rahman K Β Β
28 Π°Π²Π³ΡΡΡΠ° 2015 Π² 09:31
2
ΠΠΎΡΡΠ΄Π°ΡΡΡΠ²Π°, ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΊ Π½ΠΎΠ²ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ
0. last commit,i.e. HEAD commit
1. Working tree changes, file/directory deletion,adding,modification.
2. The changes are staged in index
3. Staged changes are committed
ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅
0->1: manual file/directory operation
1->2: git add .
2->3: git commit -m "xxx"
ΠΡΠΎΠ²Π΅ΡΠΊΠ° diff
0->1: git diff
0->2: git diff --cached
0->1, and 0->2: git diff HEAD
last last commit->last commit: git diff HEAD^ HEAD
ΠΠ΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ
2->1: git reset
1->0: git checkout . #only for tracked files/directories(actions include modifying/deleting tracked files/directories)
1->0: git clean -fdx #only for untracked files/directories(action includes adding new files/directories)
2->1, and 1->0: git reset --hard HEAD
ΠΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ git clone, Π±Π΅Π· ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ
git reset; git checkout .; git clean -fdx
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Zii Β Β
01 ΠΈΡΠ»Ρ 2016 Π² 08:54
ΠΠΎΡ ΠΎΠΆΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
ΠΠ΅Π»Π°Π΅Ρ Π»ΠΈ git stash stash Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅
ΠΡΠ»ΠΈ Ρ Π±ΡΠ΄Ρ ΠΏΡΡΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git, Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΠΎΠ½ ΠΏΡΡΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΡΠ°ΡΡ Π²ΡΠ΅, ΡΡΠΎ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΎ Π² git?
SourceTree ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠ°ΠΊ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Ρ Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SourceTree, ΠΎΠ½ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ Π²ΡΡΠ°ΡΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠ°ΠΊ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°ΡΡ/ΡΠΎΠ»ΠΊΠ°ΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅…
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ git —abort
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΎΡΠΌΠ΅Π½Ρ git? Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Ρ Π±ΡΠ» ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π΄Π²ΡΡ Π²Π΅ΡΠ²Π΅ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ git ΡΠ»ΠΈΡΡ Π΅Π³ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ…
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Perforce?
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° p4 , ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠΎΡΠΈΡΡ Π²ΡΠ΅ ΠΌΠΎΠΈ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΌΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Perforce? ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Git Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: git reset —hard
ΠΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΠ°ΠΊ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΡΠ±ΡΠΎΡΠΈΡΡ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Git? Π― ΡΠΈΡΠ°Ρ ΡΡΠΎ, Π½ΠΎ Ρ ΠΎΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π³. git ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ Π½Π΅ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ git…
ΠΡΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΌΠ΅ΡΡΠ½ΡΡ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ³ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, svn Π²Π΅ΡΠ½ΡΡΡΡΡ)
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ: Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Ρ ΠΎΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΈ Π²Π΅ΡΠ½ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ» Π² Π΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. Π ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ git Ρ Π±Ρ ΡΠ΄Π΅Π»Π°Π» git…
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²Π΅ΡΠ²Π΅ΠΉ Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΊΠ°ΠΊ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅?
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠΎ Ρ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ branchA , ΠΈ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π’Π°ΠΊ ΡΡΠΎ Ρ ΡΠΎΠ·Π΄Π°Ρ branchB ΠΈ Π²ΡΠ΅ ΡΠΈΠΊΡΠΈΡΡΡ. Π§Π΅ΡΠ΅Π· Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΡΠΈ…
Π‘Π΄Π΅Π»Π°ΡΡ git ΠΏΡΡ ΠΏΠ»ΠΎΡ ΠΎ, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡΡ Π½Π΅ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
ΠΠ±ΡΡΠ½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΌΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΈ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ: mvn install && git push ΠΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π·Π°…
Git — ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠ²Π΅ΠΉ Π²ΡΠ΅ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡΡΠ΅Π·Π»ΠΈ
Π― ΡΠ΄Π΅Π»Π°Π» ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡΠΎΠ»ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ Π² ΠΌΠΎΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Π ΠΠΠ git. ΠΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠ» Π²Π΅ΡΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ mac Git-Client Π±Π΅Π· ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΠΎΠΊΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π΅ΡΡΡ…
ΠΠ°ΠΊ Π²Π΅ΡΠ½ΡΡΡ ΠΌΠΎΠΈ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ git rebase?
Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΠΌΠΎΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅,ΠΈ Ρ Ρ ΠΎΡΠ΅Π» ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° Π²ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅. Π― ΡΠ΄Π΅Π»Π°Π» git pull —rebase ΠΈ Π·Π°Π±ΡΠ» ΡΠΎΠ²Π΅ΡΡΠΈΡΡ ΡΠ²ΠΎΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. git…
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Git-ΠΊΠΎΠΌΠΌΠΈΡ
ΠΠ· ΡΡΠ°ΡΡΠΈ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Git-ΠΊΠΎΠΌΠΌΠΈΡ. ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΎΡΠΈΡ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Π Π°Π±ΠΎΡΠ°Ρ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Git, Π²Ρ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΠ΅ΡΡ Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ: ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π½Π΅Π½ΡΠΆΠ½ΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ΅ΠΏΠ»ΠΎΡ ΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΡΠ΅ΠΌ-ΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ°ΡΡΡΠ°Π±Π½ΠΎΠΌ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΌ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠ°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΡΠ΅Π½Ρ Π½Π΅ΠΏΡΠΈΡΡΠ½ΡΠΌΠΈ. Π Π°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ.
ΠΠ²ΡΡΠΈΡ ΠΊΠ°ΠΊ Π½ΠΎΠ½ΡΠ΅Π½Ρ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄. Π‘ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΡΡΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π°Π»ΡΠ΅Ρ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
git revert HEAD
ΠΠΎΠΌΠ°Π½Π΄Π° revert
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊ HEAD
β ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Π²Π΅ΡΠΊΠ΅.
ΠΠΎΡΠ²ΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅:
ΠΡΠ»ΠΈ ΠΎΡΠΊΡΡΡΠΈΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π½Π΅ Π½ΡΠΆΠ½ΠΎ, ΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ --no-edit
. Π‘ΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
git revert HEAD --no-edit
Π§ΡΠΎΠ±Ρ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ:
git log
ΠΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π² Π»ΠΎΠ³Π°Ρ , Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅:
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Git-ΡΡΠ°ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
git status
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π²ΠΌΠ΅ΡΡΠΎ HEAD Π²ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΅Π³ΠΎ Ρ
Π΅Ρ ΠΈΠ»ΠΈ ΡΠ΅Π³ (ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² Π»ΠΎΠ³Π°Ρ
/ΠΈΡΡΠΎΡΠΈΠΈ). ΠΠ½ΠΎΠ³Π΄Π° ΡΠ°ΠΊΠ°Ρ ΠΎΡΠΌΠ΅Π½Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΈΠ·-Π·Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², ΡΠΎ Π΅ΡΡΡ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Git Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ. Π£Π²ΠΈΠ΄Π΅ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ git status
.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, revert
ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Β«ΡΠ»Π΅Π΄ΡΒ» Π² ΠΈΡΡΠΎΡΠΈΠΈ Π²Π΅ΡΠΊΠΈ, Π° ΠΈΠ½ΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΡΠΊΡΡΡΡ. Π Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ reset
ΠΎΡΠ½ΠΎΡΡΡΡΡ:
- ΠΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
- Π‘Π±ΡΠΎΡ Π±ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·ΠΎΠ½Ρ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ).
- Π‘Π±ΡΠΎΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ).
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΎΡΠΌΠ΅ΡΡΡΠ΅ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΠΊΡ:
git tag oops
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ±ΡΠΎΡ Π΄ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° oops:
git reset --hard t1
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΈΡΡΠΎΡΠΈΡ:
git hist
ΠΠ΄Π½Π°ΠΊΠΎ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π½ΠΈΡΡΠΎ Π½Π΅ ΡΠ΅ΡΡΠ΅ΡΡΡ. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²:
git hist --all
ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π° ΠΌΠ΅ΡΡΠ΅, ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π°Π»Π΅Π½Ρ ΠΈΠ· Π½Π°ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ. ΠΠΏΠ°ΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΡΠΊΠ°ΡΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ±ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ±ΠΈΡΡ Ρ ΡΠΎΠ»ΠΊΡ Π΄ΡΡΠ³ΠΈΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ revert
.
Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Git — git
ΠΡΠΈΡΠΈΠ½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ° Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ :
ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ» Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ «ΠΎΡΠ²Π΅ΡΡ» ΠΊ ΡΠ°ΠΌΠΎΠΌΡ ΠΌΠΎΠ΅ΠΌΡ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌΡ Π²ΠΎΠΏΡΠΎΡΡ, Π΄Π΅Π»Π°Ρ Π²ΠΎΠΏΡΠΎΡ ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½ΡΠΌ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌΡ ΠΎΡΠ²Π΅ΡΡ.
Π― ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΌΠ½Π΅ Π½Π° git, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΊΠΎΠΌΡ-ΡΠΎ Π΅ΡΠ΅.
Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ Π²ΡΠ΅Ρ
Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
$ git reset --hard
ΠΈ
$ git clean -d -f
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ email, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π²Π°ΡΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ.
#Sets ΠΈΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠΈΡΡ ΠΊ Π²Π°ΡΠΈΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ
$ git config --global user.name "[name]"
#Sets ΡΠΎΡ email, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
$ git config --global user.email "[email address]"
#List Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
$ git config --list
#List ΠΏΡΠ»ΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ URL
$ git remote show origin
#check ΡΡΠ°ΡΡΡ
git status
#List Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΡΠΈΠ»ΠΈΠ°Π»Ρ
git branch -a
#create ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠ²Ρ ΠΈ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΡΠΎΠΉ Π²Π΅ΡΠ²ΡΡ
git checkout -b "branchname"
ΠΈΠ»ΠΈ ΠΆΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡΡ ΡΡΠ°ΠΏΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°
ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ: git branch branchname
ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ: git checkout branchname
#commit Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ [Π΄Π²ΡΡ ΡΡΠ°ΠΏΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ: — Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΠΈΠ½Π΄Π΅ΠΊΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ. ΠΠ°ΡΠ΅ΠΌ Π·Π°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π² ΡΡΠΎΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ]
git add <path to file>
git commit -m "commit message"
#checkout ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ΅ΡΡΠ½ΡΠΉ ΡΠΈΠ»ΠΈΠ°Π»
git checkout "local branch name"
#remove Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ [ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Ρ Π²Π½Π΅ΡΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ», ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ]
git clean -d -f
ΠΈ git reset --hard
[ΠΎΡΠΈΡΡΠΈΡΡ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠ²Ρ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ]
git stash -u
ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΈΠ±ΠΎ
(1) ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ git clean βd βf
ΠΈ git reset --hard
OR
(2) git stash -u
Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ 1: ΡΠ°ΠΉΠ½ΠΈΠΊ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ»ΠΎΠ²ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ » Ρ ΡΠ°Π½ΠΈΡΡ (ΡΡΠΎ-ΡΠΎ) Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΈ ΡΠ°ΠΉΠ½ΠΎ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅.- ΠΡΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git stash pop. Π’Π°ΠΊ ΡΡΠΎ Π²ΡΠ±ΠΎΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ-ΡΡΠΎ Π²ΡΠ·ΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ 2: git reset --hard
ΡΠ΄Π°Π»ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. ΠΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ.
# ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ Π½Π° Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠ²Ρ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ Π² ΠΊΡΡΡΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉ.
git checkout master
git fetch
[ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ git) Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π½Π° origin / master ]
git pull
# ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²Π΅ΡΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠ²Ρ.
git merge feature_branch
# Π‘Π±ΡΠΎΡ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
git reset origin/master
#Accidentally ΡΠ΄Π°Π»ΠΈΠ» ΡΠ°ΠΉΠ» ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ?
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git status
, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°
git checkout branchname <file path name>
Π²ΠΎΡ ΠΈ Π²ΡΠ΅!
#Merge Π³Π»Π°Π²Π½Π°Ρ Π²Π΅ΡΠ²Ρ Ρ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΡΠ΅ΡΠΊΠΎΠΌ
git checkout master
git merge someotherbranchname
ΠΠ΅ΡΡΠ½ΠΎΠ΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ #rename
git branch -m old-branch-name new-branch-name
#delete ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΡ
git branch -D branch-name
Π£Π΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ #delete
git push origin --delete branchname
ΠΈΠ»ΠΈ
git push origin :branch-name
#revert ΡΠΈΠΊΡΠ°ΡΠΈΡ ΡΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π° Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
git revert hgytyz4567
#branch ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ GIT
git branch branchname <sha1-of-commit>
#Change ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠ°ΠΌΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΆΠ΅ Π±ΡΠ»Π° ΡΠ΄Π°Π»Π΅Π½Π°
git commit --amend -m "new commit message"
git push --force origin <branch-name>
# Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅ [ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²]
Π§ΡΠΎΠ±Ρ ΠΎΡΠ±ΡΠΎΡΠΈΡΡ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π° ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠ²Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΠΉ «upstream» ΡΡΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅
git reset --hard @{u}
Π‘ΡΡΠ»ΠΊΠ°: http://sethrobertson.github.io/GitFixUm/fixup.html
ΠΈΠ»ΠΈ do git reset --hard origin/master
[Π΅ΡΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΠ²Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»Π°Π²Π½ΠΎΠΉ]
# ΠΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΡΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ?
$ git revert ab12cd15
#Delete ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΎΡ ΠΌΠ΅ΡΡΠ½ΡΡ ΡΠΈΠ»ΠΈΠ°Π»ΠΎΠ² ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠΈΠ»ΠΈΠ°Π»ΠΎΠ²
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²Π½Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ²ΠΎΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠ²Ρ ΠΈ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠ²Ρ, Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΎΡΠΎΠ·Π½Π°Π², Π Π½Π΅Ρ! ΠΠ½Π΅ Π½Π΅ Π½ΡΠΆΠ½Ρ ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Ρ. Π ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ?
git reset --hard HEAD~1
[Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ. 1 ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠΉ Π²Π°ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡ ONE]
git push origin HEAD --force
[ΠΎΠ±Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ. ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ]. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Π½Π°Ρ Π²Π΅ΡΠ²Ρ Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π²Π΅ΡΠ²ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅ ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ.
#Delete Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π΅Π΄Π°Π²Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π ΠΠΠ ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π² Π½ΡΠΆΠ½ΡΠΉ Π²Π°ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ. ( ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ)
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π²Π°Ρ Π΅ΡΡΡ 3 ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ‘ develop
‘
commitid-1 done at 9am
commitid-2 done at 10am
commitid-3 done at 11am. // latest commit. HEAD is current here.
ΠΠ΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΡΠ°ΡΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ (ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Π΅ΡΠ²ΠΈ)
git log --oneline --decorate --graph
// ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ
git clean -d -f
/ / ΠΎΡΠΈΡΡΠΈΡΠ΅ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
git reset --hard commitid-1
/ / Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡ ΠΊ ΡΡΠΎΠΌΡ commitid
git push -u origin +develop
/ / ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅. + Π΄Π΅Π»Π°ΡΡ ΡΠΈΠ»ΠΎΠ²ΠΎΠΉ ΡΠΎΠ»ΡΠΎΠΊ
# Π£Π΄Π°Π»ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ git:
Case:
Π― Π½Π°Ρ
ΠΎΠΆΡΡΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ ΠΈ ΡΠ»ΠΈΠ» Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠ²Ρ Ρ Π½ΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π²Π΅ΡΠ²ΡΡ phase2
$ git status
ΠΠ° Π²Π΅ΡΠΊΠ΅ ΠΌΠ°ΡΡΠ΅Ρ
$ git merge phase2
$ git status
ΠΠ° Π²Π΅ΡΠΊΠ΅ ΠΌΠ°ΡΡΠ΅Ρ
ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°Π΅Ρ ‘origin/master’ Π½Π° 8 ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΠΎΠΏΡΠΎΡ: ΠΠ°ΠΊ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ git? ΠΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» git reset --hard
ΠΈ git clean -d -f
-ΠΎΠ±Π° Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΈ.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ , — ΡΡΠΎ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· Π½ΠΈΠΆΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ
:
$ git reset —hard origin / master
ΠΈΠ»ΠΈ
$ git ΡΠ±ΡΠΎΡ —ΠΆΠ΅ΡΡΠΊΠΈΠΉ HEAD~8
ΠΈΠ»ΠΈ
$ git reset --hard 9a88396f51e2a068bb7
[sha commit code — ΡΡΠΎ ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°Π» Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ]
#create ΡΠ°ΠΉΠ» gitignore
touch .gitignore
/ / ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» Π² mac ΠΈΠ»ΠΈ unix ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΎΠ±ΡΠ°Π·Π΅Ρ .gitignore ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅:
.project
*.py
.settings
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΡ GIT: https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf
ΠΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Git, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ — git
Π ΡΠ²ΠΎΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ master Ρ ΡΠ΄Π΅Π»Π°Π» git merge some-other-branch
Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² origin master. Π― Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π»Π°ΡΡ ΡΠ»ΠΈΠ²Π°ΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ
ΠΎΡΠ΅Π»Π° Π±Ρ Π²ΡΠ΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ. ΠΠΎΠ³Π΄Π° Ρ Π΄Π΅Π»Π°Π» git status
ΠΏΠΎΡΠ»Π΅ ΡΠ»ΠΈΡΠ½ΠΈΡ, Ρ ΠΏΠΎΠ»ΡΡΠ°Π» ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅:
# On branch master
# Your branch is ahead of 'origin/master' by 4 commits.
ΠΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½Π°ΡΠ΅Π» , Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ Π±Π΅ΠΆΠ°ΡΡ
git revert HEAD -m 1
Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ git status
:
# On branch master
# Your branch is ahead of 'origin/master' by 5 commits.
Π― Π½Π΅ Ρ ΠΎΡΡ, ΡΡΠΎΠ±Ρ ΠΌΠΎΡ Π²Π΅ΡΠ²Ρ Π±ΡΠ»Π° Π²ΠΏΠ΅ΡΠ΅Π΄ΠΈ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ°ΠΊ ΠΌΠ½Π΅ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ?
git
undo
git-merge
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Matt Huggins Β Β
05 ΠΌΠ°ΡΡΠ° 2010 Π² 19:24
25 ΠΡΠ²Π΅ΡΠΎΠ²
3823
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ git reflog
ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, ΠΊΠ°ΠΊΠ°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠ»ΠΈΡΠ½ΠΈΡ (git reflog
Π±ΡΠ΄Π΅Ρ Π»ΡΡΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ, ΡΠ΅ΠΌ git log
). ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ±ΡΠΎΡΠΈΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ:
git reset --hard commit_sha
ΠΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±:
git reset --hard HEAD~1
ΠΡΠΎ Π²Π΅ΡΠ½Π΅Ρ Π²Π°ΠΌ 1 ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π»ΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΠΈ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅/Π½Π΅ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ ΡΠ±ΡΠΎΡΠ΅Π½Ρ Π² ΠΈΡ
Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ . Π§ΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΡ
, Π»ΠΈΠ±ΠΎ ΠΏΡΡΡΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π»ΠΈΠ±ΠΎ ΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΎΠΏΡΠΈΡ --merge
Π½ΠΈΠΆΠ΅.
ΠΠ°ΠΊ @Velmont ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» Π½ΠΈΠΆΠ΅ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΎΡΠ²Π΅ΡΠ΅, Π² ΡΡΠΎΠΌ ΠΏΡΡΠΌΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ:
git reset --hard ORIG_HEAD
ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Π»ΡΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ORIG_HEAD
Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠΈΠΊΡΠ°ΡΠΈΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ, ΡΠ°ΠΊ ΡΡΠΎ Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡΠΊΠ°ΡΡ Π΅Π³ΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΎΠ²Π΅Ρ-ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ --merge
Π²ΠΌΠ΅ΡΡΠΎ --hard
, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ:
git reset --merge ORIG_HEAD
—ΠΏΠΎΠ³Π»ΠΎΡΠ°ΡΡ
Π‘Π±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ Π΄Π΅ΡΠ΅Π²Π΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ <commit> ΠΈ HEAD, Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΌ Π΄Π΅ΡΠ΅Π²ΠΎΠΌ (Ρ. Π΅. ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ).
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Marcin Gil Β Β
05 ΠΌΠ°ΡΡΠ° 2010 Π² 19:34
1356
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π²Π°Ρ ΠΌΠ΅ΡΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠ΅Ρ Π½Π΅ ΠΎΠΏΠ΅ΡΠ΅Π΄ΠΈΠ» origin/master,, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ
git reset --hard origin/master
Π’ΠΎΠ³Π΄Π° Π²Π°ΡΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΠ²Ρ master
Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎ origin/master
.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
randomguy3 Β Β
17 ΠΌΠ°ΡΡΠ° 2011 Π² 18:06
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Yuri Geinish Β Β
02 ΠΈΡΠ½Ρ 2011 Π² 16:31
924
Π‘ΡΡΠ°Π½Π½ΠΎ, ΡΡΠΎ Π½Π΅ Ρ Π²Π°ΡΠ°Π»ΠΎ ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΡΠ²Π΅ΡΠΎΠ² ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½ΠΎ ΠΎΡΠΌΠ΅Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± :
git reset --merge ORIG_HEAD
Ref ORIG_HEAD
Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΈΡΡ
ΠΎΠ΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ Π΄ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ.
(ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ --merge
Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ»ΠΈΡΠ½ΠΈΡ. ΠΡΠΎ ΡΠ°ΠΊ ΠΆΠ΅ , ΠΊΠ°ΠΊ git reset --hard ORIG_HEAD
, Π½ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π΅Π΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.)
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
odinho — Velmont Β Β
29 ΡΠ½Π²Π°ΡΡ 2013 Π² 15:46
349
Π‘ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ Git, Π΅ΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΡΠ»ΠΈΡΠ½ΠΈΡ , Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ:
git merge --abort
ΠΡ man git merge
:
[This] ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌ.
git merge --abort
ΠΏΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Travis Reeder Β Β
12 ΡΠ΅Π²ΡΠ°Π»Ρ 2013 Π² 02:13
119
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. ΠΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡΠ°Π±ΠΎΡΠ°ΡΡ:
git reset --hard HEAD^
ΠΠ»ΠΈ Π΄Π°ΠΆΠ΅ HEAD^^
, ΡΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΠΈΠΊΡΠ°Ρ. ΠΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π°ΡΡ ΠΏΠΎΠ»Π½ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° SHA, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π³ΠΎΠ² Π½Π°Π·Π°Π΄ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π΅Π»Π°ΡΡ.
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ Π²Π°ΡΠ° Π³Π»Π°Π²Π½Π°Ρ Π²Π΅ΡΠ²Ρ Π½Π΅ ΠΈΠΌΠ΅Π»Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ±ΡΠΎΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ origin/master
.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
MBO Β Β
05 ΠΌΠ°ΡΡΠ° 2010 Π² 19:31
81
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ git reflog
, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Ρ ΡΡΠΈΠΌ. ΠΡΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ JUST ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, ΠΈ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ Π½Π° Π²Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅.
git reflog
ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅:
fbb0c0f HEAD@{0}: commit (merge): Merge branch 'master' into my-branch
43b6032 HEAD@{1}: checkout: moving from master to my-branch
e3753a7 HEAD@{2}: rebase finished: returning to refs/heads/master
e3753a7 HEAD@{3}: pull --rebase: checkout e3753a71d92b032034dcb299d2df2edc09b5830e
b41ea52 HEAD@{4}: reset: moving to HEAD^
8400a0f HEAD@{5}: rebase: aborting
ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅. 2-Ρ ΡΡΡΠΎΠΊΠ° — ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Π΄ΠΎ ΠΌΠΎΠ΅Π³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ. Π― ΠΏΡΠΎΡΡΠΎ git reset --hard 43b6032
, ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΡΡΡ Π²Π΅ΡΠΊΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π΄ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ,ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Parris Β Β
19 Π΄Π΅ΠΊΠ°Π±ΡΡ 2014 Π² 17:51
47
Π‘ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Git, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅:
git merge --abort
Π‘ΡΠ°ΡΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
git reset --merge
Π‘ΡΠ°ΡΠ°Ρ ΡΠΊΠΎΠ»Π°:
git reset --hard
ΠΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΡΡΠΎΠΈΡ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ git merge --abort
ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ git reset --merge
, ΡΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ MERGE_HEAD
ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ. ΠΠ± ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ Π² Git ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ merge.
git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present.
ΠΠΎΡΠ»Π΅ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ MERGE_HEAD
, Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΌΠ΅Π½Π΅Π½ΠΎ Ρ git reset --merge
, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Ρ git merge --abort
, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΡΡΠΌ ΠΈ Π½ΠΎΠ²ΡΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π²Π΅ΡΠΈ .
ΠΠΈΡΠ½ΠΎ Ρ Π½Π°Ρ
ΠΎΠΆΡ git reset --merge
Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠΌ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π² ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎ ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Martin G Β Β
08 ΠΌΠ°Ρ 2015 Π² 19:13
36
ΠΠ°Π΄Π½ΠΎ, ΠΎΡΠ²Π΅ΡΡ Π΄ΡΡΠ³ΠΈΡ Π»ΡΠ΄Π΅ΠΉ Π·Π΄Π΅ΡΡ Π±ΡΠ»ΠΈ Π±Π»ΠΈΠ·ΠΊΠΈ, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ. ΠΠΎΡ ΡΡΠΎ Ρ ΡΠ΄Π΅Π»Π°Π».
ΠΠ΅Π»Π°ΡΡΠΈΠΉ ΡΡΠΎ…
git reset --hard HEAD^
git status
…
Π΄Π°Π» ΠΌΠ½Π΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°ΡΡΡ.
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 3 and 3 different commit(s) each, respectively.
ΠΠ°ΡΠ΅ΠΌ ΠΌΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π²Π²Π΅ΡΡΠΈ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git reset
Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Ρ ΡΡΠΎ Π΄Π΅Π»Π°Π», ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Π½ΡΠ»ΠΎΡΡ Π½Π° ΠΎΠ΄Π½ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ Π½ΠΈΠΆΠ΅.
> git reset --hard HEAD^
HEAD is now at [...truncated...]
> git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 3 and 3 different commit(s) each, respectively.
> git reset --hard HEAD^
HEAD is now at [...truncated...]
> git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 2 and 3 different commit(s) each, respectively.
> git reset --hard HEAD^
HEAD is now at [...truncated...]
> git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 1 and 3 different commit(s) each, respectively.
> git reset --hard HEAD^
HEAD is now at [...truncated...]
> git status
# On branch master
# Your branch is behind 'origin/master' by 3 commits, and can be fast-forwarded.
Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ ΡΠ²ΠΈΠ΄Π΅Π», ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ git pull
, ΠΈ ΡΡΠΎ, ΠΏΠΎΡ
ΠΎΠΆΠ΅, ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ:
> git pull
Updating 2df6af4..12bbd2f
Fast forward
app/views/truncated | 9 ++++++---
app/views/truncated | 13 +++++++++++++
app/views/truncated | 2 +-
3 files changed, 20 insertions(+), 4 deletions(-)
> git status
# On branch master
ΠΠΎΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΌΠΎΠΈ ΠΏΡΠΈΠΊΠ°Π·Ρ ΡΠ²ΠΎΠ΄ΠΈΠ»ΠΈΡΡ ΠΊ ΡΡΠΎΠΌΡ:
git reset --hard HEAD^
git reset --hard HEAD^
git reset --hard HEAD^
git reset --hard HEAD^
git pull
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Matt Huggins Β Β
05 ΠΌΠ°ΡΡΠ° 2010 Π² 19:54
21
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git reflog
, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ Π·Π°ΠΊΠ°Π·. ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠΎ Ρ
ΠΎΡΠΎΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π²Π΅ΡΠ½ΡΡΡΡΡ.
ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ,
$ git reflog
$ git reset --hard HEAD@{0}
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
stephjang Β Β
17 ΡΠ½Π²Π°ΡΡ 2014 Π² 22:36
13
ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΡΠΎΠ³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
$ git checkout -f
ΠΡΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ (ΠΈ Π²ΡΠ΅, ΡΡΠΎ Π²Ρ ΡΠ΄Π΅Π»Π°Π»ΠΈ).
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Idealmind Β Β
18 ΡΠ½Π²Π°ΡΡ 2013 Π² 15:25
13
ΠΠΎΠ±ΡΠ°Π»ΡΡ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠ° ΡΠ°ΠΊΠΆΠ΅ Π³Π»ΡΠ΄Ρ, ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ origin (ΡΠΎ Π΅ΡΡΡ, NO ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄ origin). ΠΡΡΠ»Π΅Π΄ΡΡ Π΄Π°Π»ΡΡΠ΅, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° reset
ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ:
git reset --hard @{u}
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: @{u}
-ΡΡΠΎ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ origin/master
. (Π, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΡΠΎΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΡΡΠΎΠ±Ρ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ.)
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
leanne Β Β
16 ΡΠ΅Π²ΡΠ°Π»Ρ 2017 Π² 21:54
11
Π― ΡΠΌΠΎΠ³ ΡΠ΅ΡΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ,ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
git reset --hard remotes/origin/HEAD
ΠΡΠΈΠ½ΡΡΡΠΉ ΠΎΡΠ²Π΅Ρ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π» Π΄Π»Ρ ΠΌΠ΅Π½Ρ, Π½ΠΎ ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΡΡΠΈΠ³Π»Π° ΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΈΡΠΊΠ°Π».
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Ralph Ritoch Β Β
25 ΠΈΡΠ»Ρ 2018 Π² 09:55
10
ΠΡΠΎΡΡΠΎ Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠΏΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π» ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π·Π΄Π΅ΡΡ: http://nvie.com/posts/a-successful-git-branching-model/ ΠΈ ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ»ΠΈΠ²Π°Π»ΡΡ Ρ --no-ff
(Π±Π΅Π· Π±ΡΡΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠΈ Π²ΠΏΠ΅ΡΠ΅Π΄).
Π― ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π» ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΡΠ»ΠΈΠ» ΡΠ΅ΡΡΠΎΠ²ΡΡ Π²Π΅ΡΠ²Ρ Π²ΠΌΠ΅ΡΡΠΎ ΠΌΠΎΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ Π²ΡΠΏΡΡΠΊΠ° Ρ master Π΄Π»Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ (website, master — ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ). Π’Π΅ΡΡΠΎΠ²Π°Ρ Π²Π΅ΡΠ²Ρ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π΅ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π΅ΡΠ²ΠΈ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠ΅ Π² Π½Π΅Π΅, ΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠΊΠΎΠ»ΠΎ ΡΠ΅ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΠΎΡΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²Π΅ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΌΠ½Π΅ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ΅Π½ Π±ΡΠ» ΠΎΠ΄ΠΈΠ½ git reset --hard HEAD^
, ΠΈ ΠΎΠ½ Π²Π΅ΡΠ½ΡΠ» Π²ΡΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π½Π΅ Π±ΡΠ»ΠΈ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅Π°Π΄ΡΠ΅ΡΠΎΠ²Π°Π½Ρ, ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π±ΡΠ»ΠΎ Π±Π»ΠΎΠΊΠΎΠΌ, ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³ Π½Π°Π·Π°Π΄ — ΡΡΠΎ «branch not merged».
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Damien Byrne Β Β
09 ΠΈΡΠ½Ρ 2011 Π² 00:54
10
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ:
git reset --hard commitHash
(Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ. 44a587491e32eafa1638aca7738)git push origin HEAD --force
(ΠΎΡΠΏΡΠ°Π²ΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² origin/master)
Π£Π΄Π°ΡΠΈ Π²Π°ΠΌ ΠΈ Π²ΠΏΠ΅ΡΠ΅Π΄!
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Matheus Abreu Β Β
12 Π΄Π΅ΠΊΠ°Π±ΡΡ 2014 Π² 23:16
10
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΎΡΠ²Π΅Ρ Π΄Π°Π΅Ρ ΠΎΠ΄ΠΈΠ½ΡΠΎ-ΠΠ΅Π»ΡΠΌΠΎΠ½Ρ
Π‘Π½Π°ΡΠ°Π»Π° ΡΠ΄Π΅Π»Π°ΠΉ git reset --merge ORIG_HEAD
ΠΠ»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Ρ
ΠΎΡΠ΅Ρ ΡΠ±ΡΠΎΡΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎΡΠ»Π΅ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ
(ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΡΡ, ΡΠ²ΠΈΠ΄Π΅Π½Π½ΡΠΉ Π΄Π»Ρ Π»ΡΠ±ΡΡ
Π²ΠΎΠΏΡΠΎΡΠΎΠ² git reset merge)
git push origin HEAD --force
ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ±ΡΠΎΡΠ΅Π½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ Π²Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΏΠΎΡΠ»Π΅ Π²ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Harsha Β Β
02 Π½ΠΎΡΠ±ΡΡ 2017 Π² 23:22
10
ΠΡΠ»ΠΈ Π²Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ ΡΠ»ΠΈΡΠ½ΠΈΡ Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅ΡΠ²Π°ΡΡ Π΅Π³ΠΎ
git merge --abort
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
llioor Β Β
13 Π΄Π΅ΠΊΠ°Π±ΡΡ 2018 Π² 14:05
7
ΠΡΠ»ΠΈ Π²Π°ΡΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ Π·Π°ΠΏΡΡΠ΅Π½Ρ, Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΠ²Ρ, ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π΅ Π·Π°Π½ΠΎΠ²ΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΡΠ»ΠΈΠ» Π²Π΅ΡΠΊΡ Development Π² master ΠΈ Ρ ΠΎΡΠ΅Π» Π΅Π΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
git checkout develop
git branch -D master
git branch -t master origin/master
ΠΡΠ°Π»Ρ! ΠΠ°ΡΡΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠΎΠΉ ΠΆΠ΅ ΡΡΠ°Π΄ΠΈΠΈ, ΡΡΠΎ ΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ, ΠΈ ΠΠ°ΡΠ΅ Π½Π΅Π²Π΅ΡΠ½ΠΎ ΡΠ»ΠΈΡΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Stephan Β Β
26 ΠΈΡΠ½Ρ 2012 Π² 11:15
4
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΉΡΠΈ Ρ ΠΎΡΠ²Π΅ΡΠΎΠΌ MBO.
ΠΡΠ»ΠΈ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄:
- Kick off
gitk
(ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΡΠΎ) - ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΡΠ°ΠΌ — ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ·Π΅Π» ΡΠ²Π΅ΡΡ Ρ Ρ Π΄Π²ΡΠΌΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ / Π»Π΅Π²ΡΠΉ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ (ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ, ΠΎΠ±ΡΡΠ½ΠΎ ΠΊΡΠ°ΡΠ½ΡΠΉ Π΄Π»Ρ ΠΌΠ΅Π½Ρ)
- ΠΠ° Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ «ΡΠ±ΡΠΎΡΠΈΡΡ Π²Π΅ΡΠΊΡ ΡΡΠ΄Π°», Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΆΠ΅ΡΡΠΊΠΈΠΉ ΡΠ±ΡΠΎΡ ΡΠ°ΠΌ
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
inger Β Β
21 ΠΌΠ°ΡΡΠ° 2013 Π² 14:38
4
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ: ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠ΅ Π±ΡΠ»ΠΎ Ρ ΠΎΡΠΎΡΠΎ.
ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅: Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊ ΡΠ»ΠΈΡΠ½ΠΈΡ-ΡΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, Π·Π°Π²ΠΈΡΡΡΠΈΡ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½ΠΎΠ²ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΉ ΠΏΠΎΡΠ»Π΅ ΡΠ»ΠΈΡΠ½ΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Π°ΠΌ Π²ΡΠ΅ Π΅ΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ git, ΡΡΠΎΠ±Ρ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΡΠ»ΡΡΠ°Ρ. ΠΡΠ»ΠΈ Π²Ρ ΡΠ»Π΅ΠΏΠΎ ΡΠ»Π΅Π΄ΡΠ΅ΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ «empty merge», Π³Π΄Π΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΎ, ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ Π·Π°ΡΡΠ°Π²ΡΡ Git ΡΠΊΠ°Π·Π°ΡΡ Π²Π°ΠΌ «Already up to date».
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ dev
Π² feature-1
.
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ΅Π²ΠΈΠ·ΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ:
git log --oneline feature-1 a1b2c3d4 Merge branch 'dev' into 'feature-1' <-- the merge you want to undo e5f6g7h8 Fix NPE in the Zero Point Module <-- the one before the merge, you probably want this one
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΠΎ (Π²Π΅ΡΠ½ΡΡΡΡΡ Π½Π°Π·Π°Π΄ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ):
git checkout e5f6g7h8
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΎΡΡΡΠ΄Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π΅Π΅:
git checkout -b feature-1
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅:
Π‘Π»ΠΈΡΠ½ΠΈΠ΅:
git merge dev
ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ.
Π€ΠΈΠΊΡΠ°ΡΠΈΡ:
git commit
ΠΠΎΠ³Π΄Π° Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠ΅Π½Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ, ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΡΠ°ΡΡΡ Π²Π΅ΡΠΊΡ:
git branch --delete feature-1
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
pyb Β Β
11 ΠΈΡΠ½Ρ 2015 Π² 15:42
1
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ git rebase -i [hash] [branch_name]
, Π³Π΄Π΅ [hash]
-ΡΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ hash Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π°Π·Π°Π΄ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠ°ΡΡ ΠΏΠ»ΡΡ ΠΎΠ΄ΠΈΠ½ (ΠΈΠ»ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π½Π°Π·Π°Π΄ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΉΡΠΈ), Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Π Π΅Π΄Π°ΠΊΡΠΎΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ. Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ». ΠΡΡ
ΠΎΠ΄. ΠΠΎΠ»ΠΈΡΡΡΡ. Π ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠ°Π½ Π½Π°Π·Π°Π΄. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ , Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ git reset --hard
, Π½ΠΎ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Ρ
ΠΎΡΠΎΡΠΎ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΠ· ΡΡΠ΅ΠΊΠ°, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ
ΠΎΡΠΈΡΠ΅ Ρ
ΡΠ°Π½ΠΈΡΡ ΠΈΡ
Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ, Π½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ°Π²ΠΈΡΡ Π²Π°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π°ΠΌ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
tychoish Β Β
08 ΠΌΠ°ΡΡΠ° 2010 Π² 02:55
1
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
ΠΠ°ΡΠ΅ΠΌ ΡΠ±ΡΠΎΡΡΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅:
$ git reset f836e4c1fa51524658b9f026eb5efa24afaf3a36
ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
--hard
( ΡΡΠΎ ΡΠ΄Π°Π»ΠΈΡ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅, Π½Π΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ! ):$ git reset f836e4c1fa51524658b9f026eb5efa24afaf3a36 --hard
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ hash, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠ°ΠΌ Π΄ΠΎ Π²Π°ΡΠ΅Π³ΠΎ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ::
$ git log 4c3e23f529b581c3cbe95350e84e66e3cb05704f commit 4c3e23f529b581c3cbe95350e84e66e3cb05704f ... commit 16b373a96b0a353f7454b141f7aa6f548c979d0a ...
ΠΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ Π²Π°ΡΠΈ ΠΏΡΠ°Π²ΡΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠ°Π²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ:
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ cherry-pick (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ)
git cherry-pick ec59ab844cf504e462f011c8cc7e5667ebb2e9c7
ΠΠ»ΠΈ Π²ΠΈΡΠ½Ρ-Π²ΡΠ±ΠΎΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ:
Π‘Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ:
git diff 5216b24822ea1c48069f648449997879bb49c070..4c3e23f529b581c3cbe95350e84e66e3cb05704f
Π‘Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ:
git cherry-pick 5216b24822ea1c48069f648449997879bb49c070..4c3e23f529b581c3cbe95350e84e66e3cb05704f
Π³Π΄Π΅ ΡΡΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ²Π΅ΡΡΠΈΠ»ΠΈ (ΠΈΡΠΊΠ»ΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎ Π‘ΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅).
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
kenorb Β Β
29 ΡΠ½Π²Π°ΡΡ 2013 Π² 15:09
1
ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ²Π΅ΡΡΠΈΠ»ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅:
git reset HEAD~1
# Make sure what you are reverting is in fact the merge files
git add .
git reset --hard
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Dorian Β Β
10 Π½ΠΎΡΠ±ΡΡ 2016 Π² 15:57
0
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΡΡΡ ΡΠ°Π½ΡΠΎΠ², Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ Π²ΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π΄Π΅ΡΡ:
Π£Π΄Π°Π»ΠΈΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠ²Ρ (Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ, Π° Π½Π΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ) ΠΈ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΡΡΠ½ΠΈΡΠ΅ Π΅Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ²ΠΎΠ΅ΠΉ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, ΠΈ Π²ΡΠ΅ Π±ΡΠ΄ΡΡ Π·Π°ΡΡΠΎΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ. ΠΠ°ΡΠ½ΠΈ Π²ΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π°.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Luis Β Β
15 ΠΈΡΠ»Ρ 2016 Π² 14:16
0
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΠΈ Π²Ρ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git reset --hard HEAD@{1}
.
ΠΠΎ ΡΡΡΠΈ, Π²Π°ΡΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ sha
Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° HEAD@{0}
, Π΅ΡΠ»ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ HEAD@{1}
Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Dut A. Β Β
26 Π°ΠΏΡΠ΅Π»Ρ 2016 Π² 18:52
ΠΠΎΡ ΠΎΠΆΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
Git ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅
Π― ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ ΡΠ²ΠΎΠ΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π― ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» Π²Π΅ΡΠΊΡ ‘branch-xxx’, Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π» ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΠ» Π²Π΅ΡΠΊΡ Π² Developer, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π³Π»ΡΡΠΈΡ! ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ…
Git ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π° Π½Π΅ Π΄Π»Ρ Π²ΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ
ΠΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ Π² Git? Π― Ρ ΠΎΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ public/stylesheets/application.css ΠΊ…
ΠΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΎΡ ΠΌΠ°ΡΡΠ΅ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π°ΠΏΡΠΎΡΡ (Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠ΅Ρ)
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π²Π΅ΡΠ½ΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π½Π° master ΠΈΠ· Π²Π΅ΡΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΆΠ΅ Π±ΡΠ»Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Π° Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ? E.g. ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ· ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ Π² master, ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ…
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Git ΡΠ΅ΡΡΡ ΠΎΡΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ Π·Π°ΠΏΡΠΎΡΠ΅Π½ΠΎ?
Π― ΡΠΆΠ΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΡΡ Ρ ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 3 ΠΈΠ»ΠΈ 4 ΡΠ°Π·Π°. ΠΠ½ΠΎΠ³Π΄Π° Git Π·Π°Ρ ΠΎΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΎΡΠ²Π΅Ρ Π½Π° git commit <filename> -m <message> , Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ git push…
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π΄ΠΎ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°?
ΠΠ»ΠΈΠ½Π½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΡΠΎΡΠ΅: Π― ΡΠ»ΠΈΠ»ΡΡ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ Π― Π²Π²Π΅Π» Π½ΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π― Ρ ΠΎΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅, Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π― Π·Π½Π°Ρ, ΡΡΠΎ git reset —hard <hash> ΠΎΡΠΌΠ΅Π½ΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΠΈ Π΅ΡΠ»ΠΈ Ρ ΡΠ΄Π΅Π»Π°Ρ…
Bigquery ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΅ΡΠ΅ Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ (Status.State = «PENDING»)
ΠΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ/ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΅ΡΠ΅ Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ (Status.State = PENDING), Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ? (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°: net…
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π½Π° Bitbucket?
Π― ΡΠΎΠ·Π΄Π°Π» ΡΠ»ΠΈΡΠ½ΠΈΠ΅ (Π² Π²Π΅ΡΠΊΡ ‘master’), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅ΠΏΠΎ Bitbucket. ΠΠΎΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅. Π― Π·Π½Π°Ρ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ ΡΠ°ΠΉΡΠ΅ Github, Π½ΠΎ Bitbucket…
ΠΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ git, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΠ΄Π²ΠΈΠ½ΡΡΠΎ
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠΆΠ΅ Π½Π°ΠΆΠ°Π» Π½Π° ΠΌΠ°ΡΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ»ΠΈΡΠ½ΠΈΡ? ΠΠΎΡ ΠΌΠΎΠΈ ΡΠ°Π³ΠΈ: git add -A git commit -m some message git fetch origin master:master git rebase master (resolve merge conflicts)…
ΠΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π² git ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ rebase
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΡΠΎΡ Π³ΡΠ°ΡΠΈΠΊ: A — B — C1.1 — D — E — F -G (master) \_ C2.1 _/(feature) Π Ρ Ρ ΠΎΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ C1.2 Π² Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠ²Ρ,Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈ…
ΠΡΠΌΠ΅Π½ΠΈΡΡ git Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅
ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π΅ΡΠ²Π΅ΠΉ Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ» stash (ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅), ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΡΠ»ΠΈΡΠ½ΠΈΡ. ο£Ώ git stash apply Auto-merging src/clojure/project_src.clj On branch upgrade_project Changes…
ΠΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡΠΌΠ΅Π½Ρ Π² Git
GitLab ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ
ΠΠ΅ΡΡΠΈΡ
GitLab.com (13.5-Π΄ΠΎ)
- GitLab.com (13.5-Π΄ΠΎ)
13,4
13,3
13,2
12.10
11.11
- ΠΡΡ ΠΈΠ²Ρ
- GitLab.com (13.5-Π΄ΠΎ)
GitLab
ΠΠΌΠ½ΠΈΠ±ΡΡ
ΠΠ΅Π³ΡΠ½
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ GitLab
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ°ΠΊΠ΅ΡΡ ΠΎΠΌΠ½ΠΈΠ±ΡΡ
Kubernetes
ΠΠΎΠΊΠ΅Ρ
ΠΠ· ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°
ΠΠ°Π·ΡΡΡ
ΠΠ±Π»Π°ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Google (GCP)
Amazon Web Services (AWS)
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠ°
Π£ΡΠΎΠ²Π΅Π½Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°
ΠΡΡΠΏΠΏΠΎΠ²ΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
Π£ΡΠΎΠ²Π΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ²
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΡ EKS
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΡ GKE
ΠΠ»Π°ΡΡΠ΅ΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π³ΡΡΠΏΠΏΡ
ΠΠ»Π°ΡΡΠ΅ΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°
ΠΠ°Π½Π°ΡΡΠΊΠΈΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ
ΠΠ»Π°ΡΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄Ρ
Π Π°Π·Π²Π΅ΡΠ½ΡΡΡ Π΄ΠΎΡΠΊΠΈ
Π£ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ GitLab
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Crossplane
ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΠΊ ΠΊΠΎΠ΄
ΠΠ³Π΅Π½Ρ Kubernetes
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ
ΠΡΡΠ½Π°Π»Ρ ΠΏΠΎΠ΄Π°
Runbooks
ΠΠ΅ΡΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ
Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ AWS Lambda
ΠΠ°ΡΠΈΡΠ° Π²Π°ΡΠΈΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΡΡΠΏΠΏΡ
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠ° Π²ΠΊΠ»Π°Π΄Π°
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° ΡΡΠΎΠ²Π½Π΅ Π³ΡΡΠΏΠΏΡ
ΠΠΏΠΎΡ
Π£ΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ ΡΠΏΠΎΡΠ°ΠΌΠΈ
ΠΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
ΠΡΡΠΏΠΏΠΎΠ²ΠΎΠΉ ΠΈΠΌΠΏΠΎΡΡ / ΡΠΊΡΠΏΠΎΡΡ
Insights
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ
ΠΡΠ΅ΡΠ°ΡΠΈΠΈ
ΠΡΠ±Π»ΠΈΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ
SAML SSO Π΄Π»Ρ GitLab.com Π³ΡΡΠΏΠΏΡ
ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ SCIM
ΠΠΎΠ΄Π³ΡΡΠΏΠΏΡ
ΠΠΎΡΠΎΠΆΠ½ΡΠ΅ ΠΊΠ°ΡΡΡ
ΠΡΠΎΠ΅ΠΊΡΡ
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ³ΡΠΎΠ·
Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
Π‘ΠΏΠΈΡΠΎΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π‘Π΅ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
API-ΡΠ°Π·Π·ΠΈΠ½Π³
ΠΠ½Π°Π»ΠΈΠ· ΠΏΠΎΠΊΡΡΡΠΈΡ
ΠΠ°Π½Π΅Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
ΠΠ²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠ΅ ΡΡΠ΅Π΄Ρ
Π‘ΡΡΠ°Π½ΠΈΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠΊΠ°Π½Π΅ΡΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
Π’Π΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ Secure and Defend
ΠΠ½Π°ΡΠΊΠΈ
ΠΠ°ΡΡΠΎΠ²ΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ»Π°Π΄Π΅Π»ΡΡΡ ΠΊΠΎΠ΄Π°
Π‘ΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ
ΠΠ°Π½Π΅Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ
Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ
Π Π°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΊΠ»ΡΡΠΈ
Π Π°Π·Π²Π΅ΡΠ½ΡΡΡ ΡΠΎΠΊΠ΅Π½Ρ
ΠΠΎΠΈΡΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²
GitLab Pages
ΠΠ°ΡΠΈΠ½Π°Ρ
ΠΠΎΠΌΠ΅Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, URL-Π°Π΄ΡΠ΅ΡΠ° ΠΈ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ°
CI / CD Π΄Π»Ρ GitLab Pages
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄ΠΎΠΌΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ SSL / TLS
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Let’s Encrypt
ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°
ΠΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡ GitLab
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ
ΠΠ±Π·ΠΎΡ
ΠΠ°ΠΌΠ±ΡΠΊ CI
Bugzilla
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
Π Π°Π·Π΄ΠΎΡ
ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΠΏΠΈΡΡΠΌΠ° ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ
GitHub
Hangouts Chat
HipChat
ΠΡΠΊΠ΅Ρ
Jira
ΠΠ°Π½Π΅Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Jira
Mattermost ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ
ΠΠΎΠΌΠ°Π½Π΄Ρ Ρ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΠΎΠΉ Mattermost
ΠΠΎΠΌΠ°Π½Π΄Ρ Microsoft
ΠΠ°ΠΊΠ΅Ρ CI
ΠΡΠΎΠΌΠ΅ΡΠ΅ΠΉ
Redmine
Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Slack
Slack ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΠΎΠΉ
Slack ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠ΅Π±Ρ ΡΠΊΠΈ
YouTrack
Insights
ΠΠ°ΠΏΡΠΎΡΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅
Π Π°Π·ΡΠ΅ΡΠΈΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ
Π£ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΈΡΠΊΠΈ Π²ΠΈΡΠ½ΠΈ
ΠΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π°
ΠΠ°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠΎΠ²
ΠΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π²ΠΏΠ΅ΡΠ΅Π΄
Π‘Π»ΠΈΡΠ½ΠΈΠ΅ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°
Π Π°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ
ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ°ΠΌΠΈ
Π‘ΠΊΠ²ΠΎΡ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅
ΠΠ΅ΡΡΠΈΠΈ
Π Π°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ
Π Π°Π±ΠΎΡΠ° Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅
Π§Π»Π΅Π½Ρ
ΠΠ΅ΡΠ΅Π½ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²
Bitbucket Cloud
Π‘Π΅ΡΠ²Π΅Ρ Bitbucket
ClearCase
CVS
FogBugz
ΠΠ΅ΠΌΠ½Π°Π·ΠΈΡ
GitHub
GitLab.com
ΠΠΈΡΠ΅Π°
Jira
Perforce Helix
Π€Π°Π±ΡΠΈΠΊΠ°ΡΠΎΡ
Π Π΅ΠΏΠΎ ΠΏΠΎ ΡΠ°ΠΉΠ»Ρ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ°
Π Π΅ΠΏΠΎ ΠΏΠΎ URL
SVN
TFVC
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ push
Π Π΅Π»ΠΈΠ·Ρ
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
Π²Π΅ΡΠ²ΠΈ
ΠΡΡΠΈΠ±ΡΡΡ Git
Git LFS
ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
ΠΠΌΡ ΡΠ°ΠΉΠ»Π°
ΠΡΡΠΎΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ΅ΡΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠΈΠ»ΠΈΠ°Π»Ρ
ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π³ΠΈ
ΠΡΠ°Π²ΠΈΠ»Π° push
Π£ΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°
ΠΠ΅Π±-ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
ΠΠ΅Π±-IDE
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ
ΠΠΌΠΏΠΎΡΡ / ΡΠΊΡΠΏΠΎΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π’ΠΎΠΊΠ΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ
ΠΠ΅Π»ΠΈΡΠ΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ
Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΡ
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠ°ΠΉΡΠ°
ΠΠΈΠΊΠΈ
Π²ΠΎΠΏΡΠΎΡΡ
ΠΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠ½ΡΠΌΠΈ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ
CSV ΡΠΊΡΠΏΠΎΡΡ
CSV ΠΈΠΌΠΏΠΎΡΡ
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ
Π‘ΡΠΎΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΠΎΡΠΊΠΈ Π²ΡΠΏΡΡΠΊΠ°
ΠΠ°Π½Π½ΡΠ΅ ΠΎ Π²ΡΠΏΡΡΠΊΠ΅ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
ΠΡΠΈΠΊΠ΅ΡΠΊΠΈ
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ
ΠΠ΅Ρ ΠΈ
ΠΡΠ°ΡΠΈΠΊΠΈ Π²ΡΠ³ΠΎΡΠ°Π½ΠΈΡ
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ°Π²ΠΎΠΏΡΠ΅Π΅ΠΌΠ½ΠΈΠΊΠΎΠ²
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
Π‘Π»ΡΠΆΠ±Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠΎΠ² Π·Π°Π΄Π°Ρ
ΠΠ΅Ρ
Π£Π²Π΅Π»ΠΈΡΠΈΡΡ ΠΌΠ°ΡΡΡΠ°Π± Π²ΡΡΡΠ΅Ρ ΠΏΠΎ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ
ΠΠ°Π½Π΅Π»Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ
ΠΠ°ΡΡΡΠΎΠΈΡΡ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ
ΠΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π² Markdown
ΠΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊ Π² Grafana
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
Π‘Π²ΠΎΠΉΡΡΠ²Π° YAML ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΈΠ±ΠΎΡΠ½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ
Π’ΠΈΠΏΡ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ Π΄Π»Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ²
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ²
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΌΠ΅ΡΡΠΈΠΊ
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅ΡΡΡΡΠΎΠ² AWS
HAProxy
Kubernetes
NGINX
NGINX Ingress
NGINX Ingress VTS
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡΠ΅ΡΡΠ²ΠΈΡΠΌΠΈ
ΠΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ
ΠΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ
ΠΠ½ΡΠΈΠ΄Π΅Π½ΡΡ
Π‘ΡΡΠ°Π½ΠΈΡΠ° ΡΡΠ°ΡΡΡΠ°
Π€Π»Π°Π³ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ
CI / CD
ΠΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅
ΠΠ°ΡΠΈΠ½Π°Ρ
ΠΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅ΠΉ SSH
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Ρ CircleCI
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Ρ Jenkins
.gitlab-ci.yml Π‘ΡΡΠ»ΠΊΠ°
ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ
ΠΠ²ΡΠΎ DevOps
ΠΠ°ΡΠΈΠ½Π°Ρ
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ°ΡΡΡΠΎΠΈΡΡ
ΠΡΠ°ΠΏΡ
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ PostgreSQL
ΠΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π§Π°Ρ
Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π² ΠΎΠ±Π»Π°ΠΊΠ΅
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π΄ΠΎΠΊΠ΅ΡΠΎΠΌ
Π‘Π±ΠΎΡΠΊΠ° Π΄ΠΎΠΊΠ΅ΡΠ°
ΠΠ±ΡΠ°Π·Ρ Π΄ΠΎΠΊΠ΅ΡΠΎΠ²
ΠΠ°Π½ΠΈΠΊΠΎ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ
ΠΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
ΠΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
Π£ΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
Π‘ΡΠ΅Π΄Ρ
ΠΠ°ΡΠΈΡΠ΅Π½Π½Π°Ρ ΡΡΠ΅Π΄Π°
ΠΡΠΈΠΌΠ΅ΡΡ
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°
Clojure
Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Ρ Dpl
ΠΠ»ΠΈΠΊΡΠΈΡ
Π‘ΠΊΠ²ΠΎΠ·Π½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ³Ρ
Java Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Spring
Java Ρ Maven
PHP Ρ PHPunit ΠΈ atoum
PHP Ρ NPM ΠΈ SCP
PHP Ρ Laravel ΠΈ Envoy
Python Π½Π° Heroku
Π ΡΠ±ΠΈΠ½ Π½Π° Heroku
Scala Π½Π° Heroku
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
Bitbucket Cloud
GitHub
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ Π²Π΅Π±-ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Ρ
ΠΠΎΠ»ΡΡΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
ΠΡΡΠ΅ΡΡ ΠΏΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌ
Π’ΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Ρ
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Π°
ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π°ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π³ΡΠ°Ρ
ΠΠ½ΠΎΠ³ΠΎΠΏΡΠΎΠ΅ΠΊΡΠ½ΡΠ΅ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Ρ
Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎ-Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ
ΠΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅
ΠΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠΎΠ΅Π·Π΄Π°
ΠΡΡΠ΅ΡΠ°ΠΊΡΡ ΡΠ°Π±ΠΎΡΡ
Π Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ
ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΎΠ²
ΠΠ±Π·ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠ΅Π³ΡΠ½ΠΎΠ²
ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠ»ΡΠ³
MySQL
PostgreSQL
Redis
ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
CI Lint
ΠΠ°ΠΊΠ΅ΡΡ ΠΈ ΡΠ΅Π΅ΡΡΡΡ
Π Π΅Π΅ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
Π Π΅Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²
ΠΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΎΡΠ°
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΠΎΠ½Π°Π½Π°
ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΡΠΎΠΊΡΠΈ
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Maven
Π Π΅Π΅ΡΡΡ ΠΠΠ
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ NuGet
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ PyPI
API
Π Π΅ΡΡΡΡΡ
.gitignore (ΡΠ°Π±Π»ΠΎΠ½Ρ)
.gitlab-ci.yml (ΡΠ°Π±Π»ΠΎΠ½Ρ)
ΠΠ°ΠΏΡΠΎΡΡ Π΄ΠΎΡΡΡΠΏΠ°
ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ (ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅)
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡΠ΄ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ
ΠΠ²Π°ΡΠ°Ρ
ΠΠ°Π³ΡΠ°Π΄Π½ΡΠ΅ ΡΠΌΠ°ΠΉΠ»Ρ
ΠΠ½Π°ΡΠΊΠΈ (ΠΏΡΠΎΠ΅ΠΊΡ)
ΠΠ½Π°ΡΠΊΠΈ (Π³ΡΡΠΏΠΏΠ°)
Π²Π΅ΡΠ²ΠΈ
Π¨ΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
ΠΠ»Π°ΡΡΠ΅ΡΡ (ΠΏΡΠΎΠ΅ΠΊΡ)
ΠΠ»Π°ΡΡΠ΅ΡΡ (Π³ΡΡΠΏΠΏΠ°)
ΠΠ»Π°ΡΡΠ΅ΡΡ (ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ)
Π‘ΠΎΠ²Π΅ΡΡΠ°Π΅Ρ
Π Π΅Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²
ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ
ΠΠ½Π½ΠΎΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
ΠΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
Π Π°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΊΠ»ΡΡΠΈ
Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ
Dockerfile (ΡΠ°Π±Π»ΠΎΠ½Ρ)
Π‘ΡΠ΅Π΄Ρ
ΠΠΏΠΎΡ
Π‘ΠΎΠ±ΡΡΠΈΡ
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ»Π°Π³ΠΈ
Π‘ΠΏΠΈΡΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ ΡΠ»Π°Π³Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠ΅ΡΠΈΠΎΠ΄Ρ Π·Π°ΠΌΠΎΡΠΎΠ·ΠΊΠΈ
ΠΠ΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ·Π»Ρ
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠ° Π³ΡΡΠΏΠΏΠΎΠ²ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ
ΠΡΡΠΏΠΏΡ
ΠΈΠΌΠΏΠΎΡΡ
ΠΠΎΡΠΊΠΈ Π²ΡΠΏΡΡΠΊΠ° (ΠΏΡΠΎΠ΅ΠΊΡ)
ΠΠΎΡΠΊΠΈ Π²ΡΠΏΡΡΠΊΠ° (Π³ΡΡΠΏΠΏΠ°)
Π²ΠΎΠΏΡΠΎΡΡ
ΠΡΠΎΠ±Π»Π΅ΠΌΡ (ΡΠΏΠΈΡΠ΅ΡΠΊΠΈΠΉ)
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ
ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΡΠ΅ΡΠ°ΠΊΡΡ ΡΠ°Π±ΠΎΡΡ
ΠΠ»ΡΡΠΈ
ΠΡΠΈΠΊΠ΅ΡΠΊΠΈ (ΠΏΡΠΎΠ΅ΠΊΡ)
Π―ΡΠ»ΡΠΊΠΈ (Π³ΡΡΠΏΠΏΠ°)
ΠΠΈΡΠ΅Π½Π·ΠΈΡ
ΠΠΈΡΠ΅Π½Π·ΠΈΠΈ (ΡΠ°Π±Π»ΠΎΠ½Ρ)
Π‘ΡΡΠ»ΠΊΠΈ (ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°)
Π‘ΡΡΠ»ΠΊΠΈ (ΡΠΏΠΈΡΠ΅ΡΠΊΠΈΠ΅)
Π£ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ
Markdown
Π§Π»Π΅Π½Ρ
Π£ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠΎΠ²
ΠΠ°ΠΏΡΠΎΡΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅
ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠΎΠ΅Π·Π΄Π°
ΠΠ΅Ρ ΠΈ (ΠΏΡΠΎΠ΅ΠΊΡ)
ΠΠ΅Ρ ΠΈ (Π³ΡΡΠΏΠΏΠ°)
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ (ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ)
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ
ΠΠ°ΠΊΠ΅ΡΡ
Π‘ΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²
Π’ΠΎΠΊΠ΅Π½Ρ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°
ΠΡΠ°ΡΠΈΠΊΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΎΠ²
Π’ΡΠΈΠ³Π³Π΅ΡΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°
Π’ΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Ρ
ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠΌΠΏΠΎΡΡ / ΡΠΊΡΠΏΠΎΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²
ΠΡΠΎΠ΅ΠΊΡΡ
ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠΈΠ»ΠΈΠ°Π»Ρ
ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π³ΠΈ
Π Π΅Π»ΠΈΠ·Ρ
Π‘ΡΡΠ»ΠΊΠΈ Π½Π° Π²ΡΠΏΡΡΠΊ
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
Π€Π°ΠΉΠ»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
Π‘ΠΎΠ±ΡΡΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΡΡΡΠΎΠ²
Π‘ΠΎΠ±ΡΡΠΈΡ ΡΡΠ»ΡΠΊΠ° ΡΠ΅ΡΡΡΡΠ°
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΡΠ΅ΡΡΡΡΠ°
Π‘ΠΎΠ±ΡΡΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅ΡΡΡΡΠ°
Π‘ΠΎΠ±ΡΡΠΈΡ Π²Π΅ΡΠ° ΡΠ΅ΡΡΡΡΠ°
ΠΠ΅Π³ΡΠ½ΠΎΠ²
SCIM
ΠΠΎΠΈΡΠΊ
Π‘Π΅ΡΠ²ΠΈΡΡ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ (ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅)
ΠΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Sidekiq
Sidekiq ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΡ
Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΡ (ΠΏΡΠΎΠ΅ΠΊΡ)
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° (ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅)
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Ρ ΡΠΊΠΈ
Π’Π΅Π³ΠΈ
Π‘ΠΏΠΈΡΠΊΠΈ Π΄Π΅Π»
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ (ΠΏΡΠΎΠ΅ΠΊΡ)
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ (Π³ΡΡΠΏΠΏΠ°)
ΠΠ΅ΡΡΠΈΡ
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ
ΠΡΠ²ΠΎΠ΄Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ
ΠΠΈΠΊΠΈ
GraphQL
ΠΠ°ΡΠΈΠ½Π°Ρ
Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎ GraphQL
Π‘ΠΎΠ·Π΄Π°ΡΡ Π°ΡΠ΄ΠΈΡΠΎΡΡΠΊΠΈΠΉ ΠΎΡΡΠ΅Ρ (ΠΏΡΠΈΠΌΠ΅Ρ)
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ Π΄ΠΎΡΠΊΠΈ Π·Π°Π΄Π°Ρ (ΠΏΡΠΈΠΌΠ΅Ρ)
ΠΎΡ v3 Π΄ΠΎ v4
Lint.gitlab-ci.yml
GitLab ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ OAuth3
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΡΡΠ΅ΡΡ ΠΎ Π½Π°ΡΡΡΠ΅Π½ΠΈΡΡ
Π‘ΡΠ΅Ρ
ΠΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅ΡΡΠΈΠΈ
Π£Π΄Π°Π»ΠΈΡΡ Π°ΠΊΠΊΠ°ΡΠ½Ρ
Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ
Π’ΠΎΠΊΠ΅Π½Ρ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ
ΠΠ²ΡΡ ΡΠ°ΠΊΡΠΎΡΠ½Π°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ
ΠΠ±ΡΠ΅Π΅
ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
SSH
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ
Git
Π§Π°ΡΡΠΈΡΠ½ΡΠΉ ΠΊΠ»ΠΎΠ½
Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ Git
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ GitLab.com
.
ΠΡΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Git — Π‘ΠΏΡΠ°Π²ΠΊΠ°
ΠΡΠΌΠ΅Π½ΠΈΡΡ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
ΠΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ :
- Π ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Β«ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΒ» Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ. , ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΡΠΊΠ°Ρ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl + Alt + Z . ΠΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π² Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π±ΡΠ΄ΡΡ ΠΎΡΠΌΠ΅Π½Π΅Π½Ρ, ΠΈ ΠΎΠ½ΠΈ ΠΈΡΡΠ΅Π·Π½ΡΡ ΠΈΠ· Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Β«ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΒ» Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄Π»Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«Π€ΠΈΠΊΡΠ°ΡΠΈΡΒ», Π½Π΅Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΒ» Π² ΠΎΠΊΠ½Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Β«ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉΒ». ΠΠ°ΡΠΈΠ½Π°Ρ Ρ IntelliJ IDEA Π²Π΅ΡΡΠΈΠΈ 2020.1, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π½Π΅ΠΌΠΎΠ΄Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ: Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ / ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈΒ» Ctrl + Alt + S ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΌΠΎΠ΄Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈΒ» (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½ Π΄Π»Ρ Π½ΠΎΠ²ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ) ).Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΡΠΏΠΈΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΈΠ· ΠΎΠΊΠ½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Alt + 0 .
ΠΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
IntelliJ IDEA ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅.
ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π±ΡΠ»Π° ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Π° Π² Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ, ΡΠΎ Π΅ΡΡΡ Π²Π΅ΡΠ²Ρ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ —push Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ (Π½Π°ΡΡΡΠΎΠΉΡΠ΅ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΠ²ΠΈ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ / ΠΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡΒ» Ctrl + Alt + S Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ | Git).
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Git Alt + 9 ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ ΠΡΡΠ½Π°Π».
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡΒ» Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Ρ.
Π ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Β«ΠΠΌΡΒ» ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ).
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΎΠΏΡΠΈΡ Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ, Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΒ», Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ IntelliJ IDEA Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ»Π° Π²Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π»Π° Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΡΡΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ.
ΠΡΠΌΠ΅Π½ΠΈΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΆΠ΅ Π±ΡΠ»Π° ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ.ΠΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΡΠ΅ΠΊΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅ΡΡΠΎΠ½ΡΡΠΎΠΉ.
- ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ, Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠΡΡΠ½Π°Π»Β» Π² ΠΎΠΊΠ½Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Git Alt + 9 , ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π΅Π΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡΒ» Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Ρ. ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ°ΠΉΠ»Π°.ΠΡΠΊΡΠΎΠ΅ΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΒ» Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ, Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΆΡΡΠ½Π°Π»Π°, Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ .
ΠΡΠ»ΠΈ Π²ΡΠ±ΡΠ°Π½Π½Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ , ΠΎΡΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΡΠ±ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΠΎΠ³Π°ΡΡ.
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β«ΠΡΠΈΠ½ΡΡΡΒ», ΡΡΠΎΠ±Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ Π² ΡΡΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΠΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
IntelliJ IDEA ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π½Π°ΠΆΠ°ΡΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π΅ΡΠ»ΠΈ ΡΡΠ° ΡΠΈΠΊΡΠ°ΡΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ .
Π ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΆΡΡΠ½Π°Π»Π° Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ.
- ΠΠ° ΠΏΠ°Π½Π΅Π»ΠΈ «ΠΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ» ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ «ΠΠ΅ΡΠ½ΡΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ» Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Ρ.
ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ.
ΠΡΠ±ΡΠΎΡΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΡΠΌΠ΅Π½Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ Π²Π΅ΡΠΎΠΊ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΠΆΠ°ΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅, Π½Π΅ ΠΎΡΡΠ°Π²Π»ΡΡ ΡΠ»Π΅Π΄ΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠ°ΠΊ ΠΈ Π»ΡΠ±Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΡΡΠΎΡΠΈΡ Π²Π΅ΡΠ²Π΅ΠΉ, Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ —force, ΠΈ Π΅Π΅ Π½Π΅Π»ΡΠ·Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΡ Π²Π΅ΡΠ²ΡΡ (ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ / ΠΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡΒ» Ctrl + Alt + S Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ | GitΒ» .
Π‘Π±ΡΠΎΡΠΈΡΡ Π²Π΅ΡΠΊΡ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ Π² Π½Π°Π±ΠΎΡΠ΅ Π½Π΅Π΄Π°Π²Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΡΡΡ ΡΠ°ΡΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ°ΡΠΈΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠ±ΡΠΎΡΠ° HEAD ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ Π΄ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ (ΠΈ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΠ±ΡΠΎΡΠ° ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π΄Π΅ΡΠ΅Π²Π°, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ Π½Π΅ ΠΎΡΡΠ°ΠΆΠ°ΡΡ ΠΎΡΠΌΠ΅Π½Ρ Π² ΠΈΡΡΠΎΡΠΈΠΈ).
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Alt + 9 ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ ΠΡΡΠ½Π°Π».
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ HEAD, ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«Π‘Π±ΡΠΎΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠ²Ρ ΡΡΠ΄Π°Β» ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ.
- Π ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Git Reset Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π΄Π΅ΡΠ΅Π²Π° ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Reset:
Soft: Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π½Ρ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π±ΡΠ΄ΡΡ ΠΏΠΎΡΡΠ°ΠΏΠ½ΡΠΌΠΈ (ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Ρ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Β«ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΒ», ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡ ΠΈ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ·ΠΆΠ΅).
Π‘ΠΌΠ΅ΡΠ°Π½Π½ΡΠΉ: ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π±ΡΠ΄ΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ, Π½ΠΎ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ.
ΠΠ΅ΡΡΠΊΠΈΠΉ: Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π±ΡΠ΄ΡΡ ΠΎΡΠΌΠ΅Π½Π΅Π½Ρ (ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠ°ΠΏΠ½ΡΠ΅, ΡΠ°ΠΊ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅).
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ: Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π±ΡΠ΄ΡΡ ΠΎΡΠ±ΡΠΎΡΠ΅Π½Ρ, Π½ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΡΠ°Π½ΡΡΡΡ Π½Π΅ΡΡΠΎΠ½ΡΡΡΠΌΠΈ.
ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΡΠ΅Π²ΠΈΠ·ΠΈΡ ΡΠ°ΠΉΠ»Π°
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» Π²ΠΌΠ΅ΡΡΠΎ ΠΎΡΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ², Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π² Π»ΡΠ±ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ (Π² ΠΎΠΊΠ½Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Β«ΠΡΠΎΠ΅ΠΊΡΒ», Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅, Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Β«ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΒ» ΠΈ Ρ. Π.).
ΠΡΠ±Π΅ΡΠΈΡΠ΅ Git | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ VCS ΠΈΠ»ΠΈ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ Π²ΡΠ±ΠΎΡΠ°. ΠΠΊΠ»Π°Π΄ΠΊΠ° Β«ΠΡΡΠΎΡΠΈΡΒ» Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΎΠΊΠ½ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Git, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΠΈ.
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΡΠΊΠ°Ρ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π΅Π΅ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΠΎΠ»ΡΡΠΈΡΡΒ» Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Ρ.
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: 29 ΠΈΡΠ½Ρ 2020 Π³.
.