Git ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ: ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Π² Git
Git: Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΡΠ»ΠΈ Ρ ΡΠ΅ΠΌΡ-ΡΠΎ Π½Π°ΡΡΠΈΠ»ΡΡ Π·Π° 15 Ρ Π»ΠΈΡΠ½ΠΈΠΌ Π»Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊ ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΡΠ°ΡΡΠΎ, ΠΈ Ρ ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π΅Π»Π°Ρ. ΠΡΠΎ Π² ΡΠ°Π²Π½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΈ ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π»ΠΈ Π²Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ Π²Π°Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ — ΡΡΠΎ Π½Π΅ ΡΠΎ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΡΠ°ΡΡΠΎ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² Git.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΡΠ΅ΠΌΠ° (ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΡΠ΅ΠΌΠ°ΠΌ Git Π² ΡΠ΅Π»ΠΎΠΌ), ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ ΡΠ»Π΅Π΄ΡΠ΅ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π²Π°ΡΠΈΠΌ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌ.
Π£Π΄Π°Π»ΠΈΡΡ Π½Π΅ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, ΡΠ°ΠΊΠΎΠΌ ΠΊΠ°ΠΊ GitHub, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ reset.
Π₯ΠΎΡΡ ΡΡΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΎΠ½ΠΎ ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ ΠΈΡΡΠΎΡΠΈΡ ΠΈ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΠ΅ Β«ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅Β» ΠΊΠΎΠΌΠΌΠΈΡΡ Π±Π΅Π· ΡΡΡΠ»ΠΎΠΊ ΠΈΠ»ΠΈ Β«ΠΎΡΠΈΡΠΎΡΠ΅Π²ΡΠΈΠΌΠΈΒ». ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΠΉΡΠΈ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΈ Π½Π΅ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ — ΡΡΠΎ git reflog.
ΠΠΎΠΌΠ°Π½Π΄Π° reset ΠΈΠΌΠ΅Π΅Ρ ΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, Π΄Π²Π° ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΎΠΏΠΈΡΠ΅ΠΌ Π·Π΄Π΅ΡΡ:
$ git reset --hard
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠΏΡΠΈΡ —hard, Π²ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΡΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ Π²Π°Ρ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠ½Π΅ΡΠ΅ΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π½ΠΎ ΠΈ ΠΏΠΎΡΠ΅ΡΡΠ΅ΡΠ΅ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅. Π§ΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ stash ΠΈ stash pop:
$ git stash $ git reset --hard $ git stash pop
ΠΠΎΠΌΠ°Π½Π΄Π° stash ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π²Π°ΡΠΈ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΈΡΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄Π΅ΡΠ΅Π²Π΅), Π° Π·Π°ΡΠ΅ΠΌ stash pop Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ.
ΠΡΡΠ³ΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ —soft. ΠΡΠ° ΠΎΠΏΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ git reset —hard , Π½ΠΎ Π²Π»ΠΈΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π° Π½Π΅ Π½Π° Π²Π°Ρ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ.
$ git reset --soft
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ git reset, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ ΠΈΡΡΠΎΡΠΈΡ.
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ revert. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΎΡΠΌΠ΅Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΡΠ΄Π°Π»ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΡΠΎ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΠ³Π΄Π° ΡΠ΅Π°Π»ΡΠ½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
$ git revert
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ΠΌ
This is my sample text
Π Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ Π΅Π³ΠΎ Π½Π°:
This is my awesome sample text
ΠΠ°ΡΠ° ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
$ git log --pretty=oneline 676ec97a9cb2cebbb5c77904bbc61ced05b86f52 Added 'awesome' to text 735c5b43bf4b5b7107a9cc3f6614a3890e2889f6 Initial commit
ΠΡΠ»ΠΈ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π½Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Π½ΡΠΆΠ½ΠΎ ΡΠ»ΠΎΠ²ΠΎ Β«awesomeΒ» Π² Π½Π°ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅, Π½ΠΎ ΠΌΡ Π½Π΅ Ρ ΠΎΡΠΈΠΌ ΡΠ΄Π°Π»ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡ 676ec, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ revert, ΡΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅:
$ git revert 676ec [master f68e546] Revert "Added 'awesome' to text" 1 file changed, 1 insertion(+), 1 deletion(-)
ΠΠΎΠ»ΡΡΠΈΠ² ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Π²Π²Π΅ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΡΡ Π² Π½Π°ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ:
$ git log --pretty=oneline f68e546ac2ae240f22b2676b5aec499aab27f1ca Revert "Added 'awesome' to text" 676ec97a9cb2cebbb5c77904bbc61ced05b86f52 Added 'awesome' to text 735c5b43bf4b5b7107a9cc3f6614a3890e2889f6 Initial commit
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈ ΡΡΠ΅ΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΠΌΠΌΠΈΡ Π±ΡΠ» ΠΎΡΠΌΠ΅Π½Π΅Π½, ΠΈ ΠΈΡΡΠΎΡΠΈΡ Π½Π΅ Π±ΡΠ»Π° ΠΏΠΎΡΠ΅ΡΡΠ½Π°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π΅ΡΠ½ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ 2 ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
git revert HEAD~2
ΠΠ»ΠΈ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π²Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΠΈΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎ:
git revert 676ec 735c5
ΠΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΎΡΠΌΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
Β«ΠΡΠΌΠ΅Π½Π° ΡΠΈΠΊΡΠ°ΡΠΈΠΈΒ» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΠΎΡΠΈΡΠ΅ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π½ΠΎ Π±Π΅Π· Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄Π΅ΡΠ΅Π²ΠΎ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΏΡΠΎΡΡΠΎ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΌΠ°ΡΡΠ΅ΡΡ ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΌΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅:
$ git checkout
ΠΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ Π²Π°Ρ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π° ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ HEAD, Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΠΌ. ΠΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ Π·Π΄Π΅ΡΡ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ Π² Π²Π΅ΡΠΊΠ΅ ΠΈΠ»ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Git? — git
Π― ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π» Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² Git, Π½ΠΎ Ρ Π΅ΡΠ΅ Π½Π΅ ΠΎΡΠΏΡΠ°Π²ΠΈΠ» ΡΠΈΠΊΡΠ°ΡΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ.
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ?
git
version-control
git-commit
undo
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Hamza Yerlikaya Β Β
29 ΠΌΠ°Ρ 2009 Π² 18:09
25 ΠΡΠ²Π΅ΡΠΎΠ²
21224
ΠΡΠΌΠ΅Π½Π° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ²ΡΠΎΡ
$ git commit -m "Something terribly misguided" # (1)
$ git reset HEAD~ # (2)
<< edit files as necessary >> # (3)
$ git add ... # (4)
$ git commit -c ORIG_HEAD # (5)
- ΠΡΠΎ ΡΠΎ, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ.
- ΠΡΠΎ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π΅ Π΄Π΅ΡΠ΅Π²ΠΎ (ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Π°ΡΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° Π΄ΠΈΡΠΊΠ΅) Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ , Π½ΠΎ ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ, Π½Π΅ΡΡΠ°Π³Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ (ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΊΠ°ΠΊ «Changes not staged for commit» Π²
git status
, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡ ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ). ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ 1, ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎgit reset --soft HEAD~
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡ ΠΎΠΆ Π½Π°git reset HEAD~
(Π³Π΄Π΅HEAD~
-ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈHEAD~1
), Π½ΠΎ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΡΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°ΠΏΠ½ΡΠΌΠΈ. - ΠΠ½Π΅ΡΠΈΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π΄Π΅ΡΠ΅Π²Π°.
git add
Π²ΡΠ΅, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΡΠ²ΠΎΠΉ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.- ΠΠ°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ°ΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
reset
ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π» ΡΡΠ°ΡΡΡ Π³ΠΎΠ»ΠΎΠ²ΠΊΡ Π².git/ORIG_HEAD
;commit
Ρ ΠΏΠΎΠΌΠΎΡΡΡ-c ORIG_HEAD
ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π° ΠΈΠ· ΡΡΠ°ΡΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠΈΡ-C
.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ commit --amend
Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΈΡ
ΠΊ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΠΡΠ»ΠΈ ΠΊΠΎΠ΄ ΡΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ Π½Π° Π²Π°Ρ ΡΠ΅ΡΠ²Π΅Ρ ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ ΠΈΡΡΠΎΡΠΈΠΈ (ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅), ΡΠΎ:
git push origin master --force
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΡΠΎΡ ΠΎΡΠ²Π΅Ρ:
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ HEAD ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎ? (ΠΡΡΠ΅Π·Π°Π½Π½Π°Ρ Π³ΠΎΠ»ΠΎΠ²Π°) & ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΎΡΠ²Π΅Ρ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ git reflog
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ SHA-1, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π²Π΅ΡΠ½ΡΡΡΡΡ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π½Π°ΡΠ»ΠΈ ΡΠΎΡΠΊΡ, Π΄ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π²ΡΡΠ΅.
1 ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ ,ΡΡΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. ΠΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ — ΡΡΠΎ git reset
(ΡΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠ΄Π΅Π»Π°Π»ΠΈ Ρ ΡΠ΅Ρ
ΠΏΠΎΡ), Π° Π·Π°ΡΠ΅ΠΌ git commit --amend
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΊΡΠΎΠ΅Ρ Π²Π°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Esko Luontola Β Β
29 ΠΌΠ°Ρ 2009 Π² 18:13
10264
ΠΡΠΌΠ΅Π½Π° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ³Π°Π΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅.
Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΡΠΎ, Π³Π΄Π΅ C-Π²Π°Ρ HEAD ΠΈ (F) — ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Π°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
(F)
A-B-C
β
master
ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ±ΡΠΎΡΠΈΡΡ ΡΠ΄Π΅ΡΠ½ΡΡ Π±ΠΎΠΌΠ±Ρ Π½Π° commit C ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ Π½Π΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ . Π’Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΡ ΡΡΠΎ:
git reset --hard HEAD~1
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ:
(F)
A-B
β
master
Π’Π΅ΠΏΠ΅ΡΡ B — ΡΡΠΎ HEAD. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ --hard
, Π²Π°ΡΠΈ ΡΠ°ΠΉΠ»Ρ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ Π² ΠΈΡ
ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ B.
ΠΡ , Π½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ commit C-ΡΡΠΎ Π½Π΅ ΠΊΠ°ΡΠ°ΡΡΡΠΎΡΠ°, Π° ΠΏΡΠΎΡΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ ΡΠ°ΠΊ. ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΡΡΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ. ΠΠ°ΡΠΈΠ½Π°Ρ ΡΠ½ΠΎΠ²Π° ΠΎΡΡΡΠ΄Π°, Ρ C Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Π°ΡΠ΅Π³ΠΎ HEAD:
(F)
A-B-C
β
master
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΎΡΡΠ°Π²ΠΈΠ² --hard
:
git reset HEAD~1
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°ΠΊΠΎΠ²:
(F)
A-B-C
β
master
Π ΠΎΠ±ΠΎΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
HEAD — ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ. ΠΠΎΠ³Π΄Π° Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ git reset HEAD~1
, Π²Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅ Git, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD Π½Π°Π·Π°Π΄ Π½Π° ΠΎΠ΄Π½Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ. ΠΠΎ (Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ --hard
) Π²Ρ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠΈ ΡΠ°ΠΉΠ»Ρ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ. ΠΡΠ°ΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ git status
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π² C. ΠΡ ΠΆΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΈ!
ΠΠ»Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π»Π΅Π³ΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠΊΠΎΡΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π°ΠΆΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΠΈ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ :
git reset --soft HEAD~1
ΠΡΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΡΠΈ ΡΠ°ΠΉΠ»Ρ Π² ΠΏΠΎΠΊΠΎΠ΅, Π½ΠΎ Π΄Π°ΠΆΠ΅ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°Ρ ΠΈΠ½Π΄Π΅ΠΊΡ Π² ΠΏΠΎΠΊΠΎΠ΅. ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ git status
, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Π² ΠΠ½Π΄Π΅ΠΊΡΠ΅ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΡΠΎ ΠΈ ΡΠ°Π½ΡΡΠ΅. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΠ΄Π΅Π»Π°ΡΡ git commit
, ΠΈ Π²Ρ Π±Ρ ΠΏΠΎΠ²ΡΠΎΡΠΈΠ»ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π²Π°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π±ΡΠ».
ΠΡΠ΅ ΠΎΠ΄Π½Π° Π²Π΅ΡΡ: ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ ΡΠ½ΠΈΡΡΠΎΠΆΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ , ΠΊΠ°ΠΊ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π½ΠΎ Π·Π°ΡΠ΅ΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅, ΡΡΠΎ ΠΎΠ½ Π²Π°ΠΌ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ Π½ΡΠΆΠ΅Π½ ? ΠΠ΅ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ ΡΠ΅Π±Π΅, Π²Π΅ΡΠ½ΠΎ?
ΠΠ΅Ρ, Π²ΡΠ΅ Π΅ΡΠ΅ Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ± Π²Π΅ΡΠ½ΡΡΡ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. ΠΠ²Π΅Π΄ΠΈΡΠ΅ git reflog
, ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ (ΡΠ°ΡΡΠΈΡΠ½ΡΡ
) ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΈΠΊΡΠ°ΡΠΈΠΈ (ΡΠΎ Π΅ΡΡΡ Ρ
ΡΡΠ΅ΠΉ), Π² ΠΊΠΎΡΠΎΡΡΡ
Π²Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π»ΠΈΡΡ. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠ½ΠΈΡΡΠΎΠΆΠΈΠ»ΠΈ, ΠΈ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ:
git checkout -b someNewBranchName shaYouDestroyed
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π²ΠΎΡΠΊΡΠ΅ΡΠΈΠ»ΠΈ ΡΡΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ. ΠΠΎΠΌΠΌΠΈΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΡΠ½ΠΈΡΡΠΎΠΆΠ°ΡΡΡΡ Π² Git Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 90 Π΄Π½Π΅ΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΈ ΡΠΏΠ°ΡΡΠΈ ΡΠΎΠ³ΠΎ, ΠΎΡ ΠΊΠΎΠ³ΠΎ Π²Ρ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π»ΠΈΡΡ ΠΈΠ·Π±Π°Π²Π»ΡΡΡΡΡ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Ryan Lundy Β Β
28 ΠΈΡΠ»Ρ 2011 Π² 22:22
1954
ΠΡΠΎ Π·Π°Π½ΡΠ»ΠΎ Ρ ΠΌΠ΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΠ°ΠΊ ΡΡΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΡ-ΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ…
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° «undo» Π²Π°ΡΠ΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠ΄Π΅Π»Π°Π»ΠΈ Π»ΠΈ Π²Ρ ΡΠΆΠ΅ ΡΠ²ΠΎΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ (ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ»ΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ):
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ ΡΠΎΠ²Π΅ΡΡΠΈΠ» Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΠΎΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ.
git log
commit 101: bad commit # latest commit, this would be called 'HEAD'
commit 100: good commit # second to last commit, this is the one we want
Π§ΡΠΎΠ±Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ reset
ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ Π΄ΠΎ HEAD
:
git reset --soft HEAD^ # use --soft if you want to keep your changes
git reset --hard HEAD^ # use --hard if you don't care about keeping the changes you made
Π’Π΅ΠΏΠ΅ΡΡ git log
ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΡΡΠΎ Π½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π±ΡΠ» ΡΠ΄Π°Π»Π΅Π½.
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
ΠΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ, Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ «revert» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΡ Π² Π²Π°Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ (ΡΠ΅ΠΊΡΡΠΈΠΉ HEAD).
git revert HEAD
Π’Π΅ΠΏΠ΅ΡΡ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΎΡΠΌΠ΅Π½Π΅Π½Ρ ΠΈ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ:
git commit -m 'restoring the file I removed by accident'
git log
commit 102: restoring the file I removed by accident
commit 101: removing a file we don't need
commit 100: adding a file that we need
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Git ΠΎΡΠ½ΠΎΠ²Ρ-ΠΎΡΠΌΠ΅Π½Π° Π²Π΅ΡΠ΅ΠΉ
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Andrew Β Β
16 ΠΈΡΠ½Ρ 2011 Π² 17:27
1679
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ / ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²Π΅ΡΠΈ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅:
git rm classdir
git add sourcedir
ΠΠ°ΡΠ΅ΠΌ Π²Π½Π΅ΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠΌΠΈΡ:
git commit --amend
ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ, ΠΎΡΠΈΠ±ΠΎΡΠ½Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½Π°, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π·ΠΈΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° — Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π²Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄Π΅Π»Π°Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ Π½Π°ΠΆΠ°Π»ΠΈ. ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΠΆΠ°Π»ΠΈ, ΡΠΎ Π²Π°ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
bdonlan Β Β
29 ΠΌΠ°Ρ 2009 Π² 18:16
947
git rm yourfiles/*.class
git commit -a -m "deleted all class files in folder 'yourfiles'"
ΠΈΠ»ΠΈ
git reset --hard HEAD~1
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π²ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π°Π²ΡΠ΅Π³Π΄Π° ΡΠ΄Π°Π»ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π°Ρ
.java
(ΠΈ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ), ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ
ΠΎΡΠ΅Π»ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ.
hard reset
— HEAD-1
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π²Π°ΡΡ ΡΠ°Π±ΠΎΡΡΡ ΠΊΠΎΠΏΠΈΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π΄ΠΎ Π²Π°ΡΠ΅Π³ΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Lennart Koopmann Β Β
29 ΠΌΠ°Ρ 2009 Π² 18:13
721
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°
ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅:
git rm --cached *.class
git add *.java
ΠΠ°ΡΠ΅ΠΌ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΡΡΠ½Π°Ρ Π²Π΅ΡΠ²Ρ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΡ:
git commit --amend
ΠΠ»ΠΈ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΎΠ±ΡΠ°Ρ Π²Π΅ΡΠ²Ρ, ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ:
git commit -m 'Replace .class files with .java files'
( ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΡΡΡΡΠ°ΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ΅Π±Π°Π·Ρ )
ProTipβ’: Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ *.class
ΠΊ gitignore , ΡΡΠΎΠ±Ρ ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ²ΡΠΎΡΠΈΠ»ΠΎΡΡ ΡΠ½ΠΎΠ²Π°.
Π§ΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ reset
.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ±ΡΠΎΡΠΈΡΡ git Π½Π° Π»ΡΠ±ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ:
git reset @~N
ΠΠ΄Π΅ N
— ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π΄ΠΎ HEAD
, Π° @~
ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΠΌΠ΅ΡΡΠΎ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠΌΠΌΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
git reset @~
git add *.java
git commit -m "Add .java files"
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ git help reset
, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΡΠ°Π·Π΄Π΅Π»Ρ Π½Π° --soft
--mixed
ΠΈ --hard
, ΡΡΠΎΠ±Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ.
Reflog
ΠΡΠ»ΠΈ Π²Ρ ΠΎΡΠΈΠ±Π»ΠΈΡΡ, Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ»ΠΎΠ³ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΡΠ±ΡΠΎΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²:
$ git reset @~
$ git reflog
c4f708b HEAD@{0}: reset: moving to @~
2c52489 HEAD@{1}: commit: added some .class files
$ git reset 2c52489
... and you're back where you started
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Zaz Β Β
31 ΠΈΡΠ»Ρ 2010 Π² 09:39
607
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git revert <commit-id>
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ ID, ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ git log
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Jaco Pretorius Β Β
25 ΠΌΠ°Ρ 2012 Π² 16:04
488
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π²ΡΠ΅, ΡΡΠΎ Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ, Π²Ρ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π² ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π±ΠΎΠΈΡΠ΅ΡΡ ΠΎΠ± ΡΡΠΎΠΌ, ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
git reset --hard HEAD^1
(ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ Π²ΡΡ Π²Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΠΈ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Ρ ΠΈΠ· Π²Π°ΡΠ΅Π³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π΄Π΅ΡΠ΅Π²Π°). ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ Ρ
ΠΎΡΠΈΡΠ΅ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ (ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅ git add
), Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
git reset --soft HEAD^1
Π’Π΅ΠΏΠ΅ΡΡ Π²Π°ΡΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ Π·ΠΎΠ½Ρ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git reset HEAD
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ ΠΈΠ· ΠΏΠΎΡΡΠ°ΠΏΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π² Π½Π΅ΡΡΠ°ΡΠΈΠΎΠ½Π°ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΠΉΠ»Ρ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ, ΡΡΠΎ Π±Ρ Π²Ρ Π½ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΉΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π½ΠΎΠ²ΡΠΉ/Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠΎΠ»ΡΡΠ΅
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Madhan Ayyasamy Β Β
31 ΡΠ½Π²Π°ΡΡ 2013 Π² 07:06
462
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Git Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ git undo
, ΡΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ. git undo 3
ΠΎΡΠΌΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 3 ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
nickf Β Β
13 Π΄Π΅ΠΊΠ°Π±ΡΡ 2011 Π² 10:18
430
Π― Ρ ΠΎΡΠ΅Π» ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 5 ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Π½Π°ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. Π― ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π» Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Ρ Ρ ΠΎΡΠ΅Π» ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ. ΠΠ°ΡΠ΅ΠΌ Ρ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π» ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅.
prompt> git reset --hard 5a7404742c85
HEAD is now at 5a74047 Added one more page to catalogue
prompt> git push origin master --force
Total 0 (delta 0), reused 0 (delta 0)
remote: bb/acl: neoneye is allowed. accepted payload.
To [email protected]:thecompany/prometheus.git
+ 09a6480...5a74047 master -> master (forced update)
prompt>
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
neoneye Β Β
06 Π°ΠΏΡΠ΅Π»Ρ 2012 Π² 13:58
410
Π― ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git rebase -i
Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Ρ
ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ, Π³Π΄Π΅ Ρ ΠΌΠΎΠ³Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ
Π½ΡΠΆΠ½ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΡΠΌΠΎΠ»ΠΈΠ½Π΅ΠΉΠ½ΠΎ, ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡ Π·Π΄Π΅ΡΡ, Π½ΠΎ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ .
ΠΡΠ±Π΅ΡΠΈΡΠ΅, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ Π²ΠΎΡ ΡΠ°ΠΊ (ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΠΈ)
git rebase -i HEAD~3
ΠΡΠΈΠΌΠ΅ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ
pick aa28ba7 Sanity check for RtmpSrv port
pick c26c541 RtmpSrv version option
pick 58d6909 Better URL decoding support
ΠΠ°ΡΠ΅ΠΌ Git ΡΠ΄Π°Π»ΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ ΡΠ΄Π°Π»ΡΠ΅ΠΌΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Steven Penny Β Β
25 ΠΎΠΊΡΡΠ±ΡΡ 2012 Π² 03:41
395
ΠΠ°ΠΊ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ git-gui (ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ) Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ git commit --amend
. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ GUI Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
ΠΡΠΎΡΡΠΎ ΡΠ±ΡΠΎΡΡΡΠ΅ ΡΠ²ΠΎΡ Π²Π΅ΡΠ²Ρ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ gitk
ΠΈΠ»ΠΈ git rebase
). ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠΎΡ
ΡΠ°Π½Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ. ΠΠΎΡΠ»Π΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ° Π² Π²Π°ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡ
ΠΎΠΆΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΠ»Π°. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΡΡΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ git reset HEAD~1
.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π½Π΅ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ git reset
-ΡΡΠΎ Ρ
ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π²Π°ΡΡ ΡΠ°Π±ΠΎΡΡΡ ΠΊΠΎΠΏΠΈΡ Π² Π·Π°ΠΏΡΡΠ°Π½Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. Π― ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ Git ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ.
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ Π²ΠΈΡΠ½ΠΈ (git-revert), ΡΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ²ΠΎΡ Π²Π΅ΡΠ²Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ…
git revert --no-edit HEAD
ΠΠ°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠ²Ρ Π² ΠΎΠ±ΡΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΡΡΠΎΡΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΎΠ±Π° ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ .
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ: ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠ½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΠ°ΡΠ½ΠΎ — ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΏΠΈΡ ΡΠΈΠ»ΠΈΠ°Π»Π° Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅.
git push --delete (branch_name) ## remove public version of branch
ΠΡΠΈΡΡΠΈΡΠ΅ ΡΠ²ΠΎΡ Π²Π΅ΡΠ²Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π΅Π΅…
git push origin (branch_name)
Π ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π°ΠΌ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²Π°ΡΠ° ΠΈΡΡΠΎΡΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠ°ΡΡΠ½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΡΠΎΠ½ΡΡΠΎΠΉ. ΠΡΠΎΡΡΠΎ Π½Π°ΠΆΠΌΠΈΡΠ΅ followup commit (ΡΠΌ. «ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ» Π²ΡΡΠ΅), Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΊΠ²ΠΎΡ-ΡΠ»ΠΈΡΠ½ΠΈΠ΅ , ΡΡΠΎΠ±Ρ ΡΠΊΡΡΡΡ ΠΈΡΡΠΎΡΠΈΡ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
nobar Β Β
23 Π°ΠΏΡΠ΅Π»Ρ 2013 Π² 17:27
317
ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ²Π΅ΡΡΠΈΠ»ΠΈ Ρ Π»Π°ΠΌ Π½ΠΎ Π½Π΅ ΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈ,
git reset --soft HEAD~1
HEAD~1 -ΡΡΠΎ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π³Π»Π°Π²ΠΎΠΉ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ SHA-1 ΠΈΠ· hash, Π΅ΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ±ΡΠΎΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. — soft option ΡΠ΄Π°Π»ΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡ Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ «ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ», ΠΊΠ°ΠΊ Π²ΡΡΠ°Π·ΠΈΠ»ΡΡ Π±Ρ ΡΡΠ°ΡΡΡ git.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ Π»ΡΠ±ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ°ΠΉΠ»Π°Ρ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ Π΄Π΅ΡΠ΅Π²Π΅ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ «—hard«.
OR
ΠΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ Π½Π°ΠΆΠ°Π»ΠΈ ΠΈ ΠΊΡΠΎ-ΡΠΎ ΠΏΠΎΡΡΠ½ΡΠ», ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git reset . ΠΠ΄Π½Π°ΠΊΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ git revert ,
git revert HEAD
ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠ½Π΅Ρ Π²ΡΠ΅, ΡΡΠΎ Π±ΡΠ»ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
santos_mgr Β Β
03 ΡΠ΅Π½ΡΡΠ±ΡΡ 2014 Π² 07:15
313
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ ΠΈ Π²Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΠΎ
git log
Π’ΠΎΠ³Π΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ —
git reset --hard <commit_id>
git push origin <branch_name> -f
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
poorva Β Β
17 ΠΌΠ°Ρ 2013 Π² 13:02
266
ΠΠ° SourceTree (GUI Π΄Π»Ρ GitHub) Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π»ΠΊΠ½ΡΡΡ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ‘Reverse Commit’. ΠΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠ° terminal:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
git revert
ΠΠ»ΠΈ:
git reset --soft HEAD^ # Use --soft if you want to keep your changes.
git reset --hard HEAD^ # Use --hard if you don't care about keeping your changes.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Varun Parakh Β Β
28 ΠΈΡΠ½Ρ 2013 Π² 10:18
248
ΠΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
git reset --soft 'HEAD^'
ΠΠ½ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ!
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Manish Shrivastava Β Β
05 ΠΌΠ°ΡΡΠ° 2014 Π² 13:55
239
ΠΡΠΎΡΡΠΎ ΡΠ±ΡΠΎΡΡΡΠ΅ Π΅Π³ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½ΠΈΠΆΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ git
:
git reset --soft HEAD~1
ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅: ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ git reset
, ΡΡΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ reset
Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²Ρ Ρ
ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ, Π·Π°ΡΠ΅ΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ Π΅Π³ΠΎ Ρ ΠΊΠ»ΡΡΠΎΠΌ --soft
, ΠΎΠ½ Π²Π΅ΡΠ½Π΅ΡΡΡ, Π½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅(ΡΠ°ΠΉΠ»Π°Ρ
), ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ Π²Π΅ΡΠ½Π΅ΡΠ΅ΡΡ ΠΊ ΡΡΠ°ΠΏΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°ΠΉΠ» Π±ΡΠ» ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½, HEAD
ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»Π°Π²ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ Π΅Π³ΠΎ Ρ ~1
(Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ HEAD^
), ΠΎΠ½ Π²Π΅ΡΠ½Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅…
Π― ΡΠΎΠ·Π΄Π°Ρ ΡΠ°Π³ΠΈ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π½ΠΈΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π΄Π»Ρ Π²Π°Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΠ΅ ΡΠ°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ ΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°:
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Alireza Β Β
21 ΠΈΡΠ½Ρ 2017 Π² 09:33
220
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Git?
Π§ΡΠΎΠ±Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ±ΡΠΎΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ commit Π΄ΠΎ HEAD.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π²Π°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
git reset --hard HEAD^
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
git reset --soft HEAD^
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²Π°Ρ ΠΆΡΡΠ½Π°Π» git. ΠΡΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΡΡΠΎ Π½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π±ΡΠ» ΡΠ΄Π°Π»Π΅Π½.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Ranjithkumar Ravi Β Β
23 Π°ΠΏΡΠ΅Π»Ρ 2014 Π² 11:21
178
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ reflog, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅
git reflog
REFLOG ΠΠΠ ΠΠ Π‘ΠΠ ΠΠ‘ΠΠ
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ reflog (f3cb6e2 Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅) ΠΈ ΡΠΈΠΏΠ°
git reset --hard f3cb6e2
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π ΠΠΠ HEAD Π±ΡΠ΄Π΅Ρ ΡΠ±ΡΠΎΡΠ΅Π½ΠΎ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ HEADid
ΠΠ£Π ΠΠΠ ΠΠΠ‘ΠΠ Π‘ΠΠ ΠΠ‘Π
ΠΠ°ΠΊΠΎΠ½Π΅Ρ ΡΠ΅ΡΠ»ΠΎΠ³ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅
REFLOG ΠΠΠΠΠ§ΠΠ’ΠΠΠ¬ΠΠΠ
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Shubham Chaudhary Β Β
06 ΡΠ½Π²Π°ΡΡ 2014 Π² 22:34
171
«Reset the working tree to the last commit»
git reset --hard HEAD^
«Clean unknown files from the working tree»
git clean
ΡΠΌΠΎΡΡΠΈΡΠ΅- Git ΠΊΡΠ°ΡΠΊΠΈΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ
NOTE: ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΄Π°Π»ΠΈΡ Π²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π΅ Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ! git reset --hard
Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π΅Π΅ β
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Ravi_Parmar Β Β
03 ΠΎΠΊΡΡΠ±ΡΡ 2013 Π² 12:43
154
ΠΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΡΠΊ:
git reflog
ΠΠ½ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Ρ Π²Π°ΡΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΡΠ»ΠΈΡΠ½ΠΈΠ΅, Π²ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ. Π΄.
Π’ΠΎΠ³Π΄Π° Π΄Π΅Π»Π°ΡΡ:
git reset --hard ActionIdFromRefLog
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
U. Ali Β Β
11 ΠΎΠΊΡΡΠ±ΡΡ 2013 Π² 14:41
146
ΠΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ:
git reset --soft HEAD^
ΠΈΠ»ΠΈ git reset --soft HEAD~
ΠΡΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ.
ΠΠ΄Π΅ΡΡ --soft
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ±ΡΠΎΡ Π² ΡΡΠ°Π΄ΠΈΡ.
HEAD~
ΠΈΠ»ΠΈ HEAD^
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ ΠΊ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ HEAD.
ΠΠ°ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π½Π° Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ:
git commit --amend -m "message"
ΠΠ½ Π·Π°ΠΌΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π½ΠΎΠ²ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
akshay_rahar Β Β
06 ΠΌΠ°ΡΡΠ° 2016 Π² 11:53
140
ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±:
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²Π΅ΡΠΊΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π΅ΡΠ½ΡΡΡ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ±ΡΠΎΡΡΡΠ΅ ΡΠ²ΠΎΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡΡ ΠΊΠΎΠΏΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ (Π²ΡΠ΅, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½ΠΎ, Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΎ). ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² SourceTree Ρ ΡΠ΅Π»ΠΊΠ½ΡΠ» ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΈ Π²ΡΠ±ΡΠ°Π» «Reset BRANCHNAME to this commit».
ΠΠ°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git -c diff.mnemonicprefix=false -c core.quotepath=false push -v -f --tags REPOSITORY_NAME BRANCHNAME:BRANCHNAME
ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π² Π²Π°ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠΎΠΉ Π²Π΅ΡΠ²ΠΈ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
CommaToast Β Β
13 ΠΌΠ°Ρ 2013 Π² 17:12
131
ΠΠ²Π΅Π΄ΠΈΡΠ΅ git log
ΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠ΄ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ hash, Π° Π·Π°ΡΠ΅ΠΌ Π²Π²Π΅Π΄ΠΈΡΠ΅:
git reset <the previous co>
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
user853293 Β Β
15 ΠΌΠ°Ρ 2013 Π² 13:12
127
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π» Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½Π΅ Ρ ΠΎΡΠ΅Π». ΠΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΄Π΅Π»Π°Π» ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π ΡΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ:
git reset --soft HEAD^
git rm --cached [files you do not need]
git add [files you need]
git commit -c ORIG_HEAD
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ gitk ΠΈΠ»ΠΈ git log —stat
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
egridasov Β Β
18 ΠΈΡΠ»Ρ 2013 Π² 06:41
ΠΠΎΡ ΠΎΠΆΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
Git: ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ; git Π΄ΠΎΠ±Π°Π²ΠΈΡΡ . + git Π Π?
ΠΡΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡΡ, ΡΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΠΈΡΡ ΠΏΠ°ΡΡ ΠΎΠ±ΡΠΈΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Ρ Github. Π― ΠΏΡΠΎΠΈΡΡ ΠΎΠΆΡ ΠΈΠ· ΡΡΠ΅Π΄Ρ VSTFS, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΡΡΠΈΡΠ΅ ΠΌΠ΅Π½Ρ. ΠΡΠΌΠ΅Π½Π° ΠΠΆΠΈΠ΄Π°ΡΡΠΈΡ ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π» ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ git Π² ΡΠ²ΠΎΡ…
git push, Π½Π΅ Π½Π°ΠΆΠΈΠΌΠ°ΠΉΡΠ΅ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ
Π― Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² git ΠΈ ΡΠ΅ΡΡΠΈΡΡΡ Π΅Π³ΠΎ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ. ΠΠ° ΠΌΠΎΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Ρ ΡΠ°ΡΡΠΎ ΡΠΎΠ²Π΅ΡΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ Ρ ΠΎΡΡ ΠΏΠΎΠ΄ΡΠΎΠ»ΠΊΠ½ΡΡΡ ΠΊΠΎΠ΄ ΠΊ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΌΡ Π ΠΠΠ. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ ΠΏΡΠ±Π»ΠΈΠΊΡΡ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅…
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ N ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²?
Π― ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ Π΄Π΅ΡΠ΅Π²ΠΎΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ:- aaaaaaa Implement function A bbbbbbb Implement function B ccccccc Implement function C Π― Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΏΠ΅ΡΠ²ΡΡ Π΄Π²ΡΡ , ΡΠΎ Π΅ΡΡΡ…
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² git
Π― ΡΠΎΠ²Π΅ΡΡΠΈΠ» Π΄Π²Π°ΠΆΠ΄Ρ ΠΈ Π΅ΡΠ΅ Π½Π΅ Π½Π°ΠΆΠ°Π». ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ, Ρ ΠΎΡΡ Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π». Π― Π²ΡΠ΅Π³Π΄Π° Π΄ΡΠΌΠ°Π», ΡΡΠΎ ΡΡΠΎ ΡΠ±ΡΠΎΡΠΈΡ Π΅Π³ΠΎ: git checkout master Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ. Π― ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ³ΡΠ³Π»ΠΈΠ» ΠΈ Π½Π°ΡΠ΅Π» ΡΡΠΎΡ ΠΏΠΎΡΡ:…
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Git ΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅?
Π― ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΠ» ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Π ΠΠΠ, ΠΈ ΠΎΠ½Π° ΡΠΎΠ·Π΄Π°Π»Π° 26 Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². Π’Π΅ΠΏΠ΅ΡΡ Ρ Ρ ΠΎΡΡ Π²Π΅ΡΠ½ΡΡΡ ΡΡΠΎΡ merge, Π½ΠΎ ΠΎΠ½ Π΄ΡΠΌΠ°Π΅Ρ, ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΊΡΡΠ½ΠΎ ΠΈ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ 1…
Git revert, ΠΊΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΌΠΎΠ΅ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Ρ master?
Π― ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΈ ΡΠ΄Π΅Π»Π°Π» ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅: cd puppet-configuration-prod/ git status git pull origin master git add Puppetfile_puppet-prod git commit -m ‘modificaton Omar’ git pull origin master git…
ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Git
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡΠ΄ΠΈΡ Android, ΠΈ Git Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Ρ Π½Π΅ΠΉ. ΠΡΡΡ Git Π² Android studio Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ,…
26-Π³ΠΎΠ»ΡΠΉ … ΠΠΎΡΠ΅ΠΌΡ fetch Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ?
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π ΠΠΠ GIT, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΡΠ°Π·ΠΈΠ» Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ JIRA, Π½ΠΎ Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ» Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ (Π΄Π»Ρ ΠΌΠ΅Π½Ρ) ΡΡΡΠ°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π ΠΠΠ, Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΡΡΠΎ myrepo. ΠΡΠ»ΠΈ Ρ…
ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Git Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ Π΄Π»Ρ git-svn
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ git svn dcommit git ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² SVN Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ΄Π΅Π»Π°Π» Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Ρ SVN. ΠΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ…
ΠΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Git ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΠ΄Π΅Π»Π°Π»?
ΠΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° Git. ΠΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Ρ ΠΌΠΎΠ³ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π΅Π³ΠΎ Π²Π²Π΅ΡΡ ΠΏΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Git — Book
2nd Edition (2014)
Download Ebook
The entire Pro Git book, written by Scott Chacon and Ben Straub and published by Apress, is available here. All content is licensed under the Creative Commons Attribution Non Commercial Share Alike 3.0 license. Print versions of the book are available on Amazon.com.>
- 1.1
Π ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ - 1.2
ΠΡΠ°ΡΠΊΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ Git - 1.3
ΠΡΠ½ΠΎΠ²Ρ Git - 1.4
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° - 1.5
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Git - 1.6
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Git - 1.7
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠΌΠΎΡΡ? - 1.8
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
- 1.1
- 2.1
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ - 2.2
ΠΠ°ΠΏΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ - 2.3
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² - 2.4
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΡΠΌΠ΅Π½Ρ - 2.5
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ - 2.6
Π Π°Π±ΠΎΡΠ° Ρ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ - 2.7
ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ Π² Git - 2.8
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
- 2.1
- 3.1
Π Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΈ Π² Π΄Π²ΡΡ ΡΠ»ΠΎΠ²Π°Ρ - 3.2
- 3.1
ΠΠ°ΠΊ Π² Git ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ?
Deprecated: Function create_function() is deprecated in /home/worldhel/public_html/wp-content/plugins/codecolorer/lib/geshi.php on line 4698
Π ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈΡ
ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ $ git commit -m""
, ΠΈ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ² Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡΠΈ Enter, ΠΡ Π²Π΄ΡΡΠ³ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ Π·Π°Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ°ΡΡ ΡΡΡΠΎΡΠ΅ΠΊ ΠΊΠΎΠ΄Π°, Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ°ΠΉΠ», ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π½Π΅Π²Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΈΠ»ΠΈ Π·Π°Π±ΡΠ»ΠΈ ΡΠ±ΡΠ°ΡΡ ΠΈΠ· ΠΊΠΎΠ΄Π° var_dump($foo)
β ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΉ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ°ΡΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄ ΡΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π΄Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Ρ
ΠΎΡΠ΅ΡΡ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ Π² ΡΠ°ΠΌΠΎΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Git ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠΉ Π½Π΅Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠ°Π²ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ --amend
.
ΠΠΠΠΠΠΠΠ: ΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²Π½ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ --amend
, Π΅ΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π²Ρ ΡΠΆΠ΅ ΡΡΠΏΠ΅Π»ΠΈ Π·Π°ΠΏΡΡΠΈΡΡ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. Π ΡΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΡΠ°Π²ΠΊΠ° ΠΊΠΎΠ΄Π° Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ (ΠΊΠ»ΡΡ βamend).
ΠΠ° ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π±ΡΠ»Π° Π΄ΠΎΠΏΡΡΠ΅Π½Π° Π½Π΅ΡΠΎΡΠ½ΠΎΡΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΈ Π΅ΡΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²Π½Π΅ΡΡΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠ°Π²ΠΊΠΈ Π² ΡΠ°ΠΉΠ» first.php ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ nano.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π² Π½Π°ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΠΊΠ° ΡΡΠΎ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Git. Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄Π»Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ:
Π ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ Π²ΡΡΠ΅ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Ρ ΠΊ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅, Π½ΠΎ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π½Π΅ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΡΡΠ°ΡΠΎΠΌΡ, ΠΈ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ° βamend (Π² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ Ρ Π°Π½Π³Π».: ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ, Π²Π½ΠΎΡΠΈΡΡ ΠΏΡΠ°Π²ΠΊΠΈ).
1 | $ git commit —amend -m»It’s commit 3″ |
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΡΠ΅, ΠΠ Π‘ΠΠΠΠΠΠ’Π‘Π― Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π° Π²Π½ΠΎΡΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ. Π£Π±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ $ git log
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π²ΡΡΠ΅, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ $ git commit --amend
ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΎ ΡΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ²ΡΠΈΠΉΡΡ Π₯ΠΠ¨-ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠΎ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡΡΠ°Π»ΠΈΡΡ Π΄Π°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°?
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΡΡΠ΅ΠΌΠΈΡΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π±ΡΠ» Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΡΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΡΠ°ΠΊΠ°Ρ Π·Π°Π΄Π°ΡΠ°, ΠΊΠ°ΠΊ Π²Π½Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΎΠΊ Π² ΠΊΠΎΠ΄ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠ΅Π½Ρ-ΠΎΡΠ΅Π½Ρ ΡΠ΅Π΄ΠΊΠΎ. ΠΠΎ Π²ΠΎΡ Ρ ΡΠ΅ΠΌ ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ, ΡΠ°ΠΊ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Π΄ΠΎΠΏΡΡΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅. Π ΡΡΠΎΠΌ Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡ-ΠΆΠ΅ ΠΊΠ»ΡΡ βamend.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅. ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ°Π²ΠΊΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΡΡΠ°Π·Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
1 | $ git commit —amend -m»Change comment in commit 3″ |
ΠΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π²ΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΈ Β $ git log
Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΠΌΠ΅ΡΡΠΈΡ
ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². Π’Π°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΈ Π₯ΠΠ¨-ΡΡΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π° Π²ΡΠ΅ΠΌΡ ΠΈ Π΄Π°ΡΠ° ΠΎΡΡΠ°Π»ΠΈΡΡ ΠΏΡΠ΅ΠΆΠ½ΠΈΠΌΠΈ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π΄Π»Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΡΡ βamend. ΠΠ°Π½Π½ΡΠΉ ΠΊΠ»ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠ°Π²ΠΎΠΊ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΠΈ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠΌΠΈΡ ΡΠΆΠ΅ Π·Π°ΠΏΡΡΠ΅Π½ Π² ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΠ°ΠΊ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π² ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΡΡΠΎΡΠΈΡ Π²Π°ΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Git / ΠΠ»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Plarium / Π₯Π°Π±Ρ
ΠΡΠ±Π»ΠΈΠΊΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π½Π°ΡΠ»ΠΈ Π½Π° hackernoon.com. ΠΠ΅ Π°Π²ΡΠΎΡ, Thiago Miranda, ΠΏΠΈΡΠ΅Ρ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Git Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ.
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ Π² Git
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΌΠ΅ΡΡΡ Ρ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ ΠΏΠ°ΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ΅Π½ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Git. Π ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΠΎΠ΄Π΅Π»ΡΡΡ ΡΠ°ΠΌΡΠΌ Π²Π°ΠΆΠ½ΡΠΌ ΠΈΠ· ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ·Π½Π°Π» Π·Π° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ: ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΎΠ± ΡΠ΄Π°ΡΠ½ΡΡ ΠΏΡΠΈΠ΅ΠΌΠ°Ρ ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π΅ΡΡΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄.
1. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈΡΡΠΎΡΠΈΡ Π² Git?
Π’ΠΎΡΠ½ΡΠΉ ΡΠ΅Π΅ΡΡΡ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π Π½Π΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠ΅ΠΌΡ ΠΈΡ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΡΠΈΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ. ΠΠ΄Π΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ? ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π· Git Bash ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git log --oneline
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡ ΡΠΎ ΡΡΡΠ΅Π»ΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΡ Page Up / Page Down β ΠΊΠ°ΠΊ ΠΈ Π² Π»ΡΠ±ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅. Π§ΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Π³ΠΎΡΡΡΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ (q).
2. Π ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ
ΠΠ΅ ΠΏΠΈΡΠΈΡΠ΅ Π±Π΅ΡΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΊΡΠ°ΡΠΊΠΈΠΌΠΈ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠΈΠΌΠΈ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠΉ. ΠΡ Π·Π°Π΄Π°ΡΠ° β ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Ρ Π²Π½Π΅ΡΠ»ΠΈ Π² ΠΊΠΎΠ΄ ΠΈ Π½Π° ΡΡΠΎ ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡΡ.
- ΠΠ°ΠΊ Π½Π΅ Π½Π°Π΄ΠΎ: Β«ΠΡΠΏΡΠ°Π²Π»Π΅Π½ index.htmlΒ»
- ΠΠ°ΠΊ Π½Π°Π΄ΠΎ: Β«Π£Π»ΡΡΡΠ΅Π½Π° ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈΒ»
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π°Π΄ ΡΠ°ΠΊΠΈΠΌ ΠΌΠ°ΡΡΡΠ°Π±Π½ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π·Π°Π½ΡΡΡΡ
Π² Π½Π΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅. ΠΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ Π½ΠΎΠ²ΡΡ ΡΠΈΡΡ, ΡΠ΅ΡΡΠΈΡΡΠ΅ΡΠ΅ Π΅Π΅ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΈ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΠΎ.
ΠΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΡΡΠ° Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π²Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΠ΅ β ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π·Π° Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠΎΠΉ ΡΠΈΡΠΈ. Π Π»ΠΎΠ³Π΅ Git Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ Π² ΡΡΠΈΠ»Π΅ Β«ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Β». ΠΠΎΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π½Π° ΡΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π½ΡΠΆΠ½ΠΎΠ΅!
3. ΠΡΠ΅Π³Π΄Π° Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ Π΅ΡΠ΅ ΡΠ°Π· ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΠ°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ β Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠ»ΡΡΡΠΈΠ»ΠΈ ΡΡΠΈΠ»Ρ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° β Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π ΠΈΠ΄Π΅Π°Π»Π΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅: Π·Π°ΡΠ΅ΠΌ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²? ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Π°Ρ Π½ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΠΏΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Ρ ΡΡΠΈΠΌ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΊΠΎΠ΄ΠΎΠΌ, Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π°ΠΉΡΠΈ ΠΈΡ ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅. Π’Π°ΠΊ Π²Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠΈ Π΄Π΅ΡΡΡΠΊΠΎΠ² ΠΈΠ»ΠΈ ΡΠΎΡΠ΅Π½ ΡΡΡΠΎΠΊ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠΌ ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ΅.
4. ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ
Π§ΡΠΎ, Π΅ΡΠ»ΠΈ ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² Π²Π°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π²Ρ Π·Π°Ρ ΠΎΡΠ΅Π»ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΏΡΡΠ΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΡ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅? ΠΠ½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git commit -m βcorrect messageβ --amend
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ Π·Π°ΠΏΡΡΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π»ΡΡΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌ. Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
5. ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π₯ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½
Π‘ΠΈΡΡΠ°ΡΠΈΡ: ΠΎΡΠΏΡΠ°Π²ΠΈΠ² ΠΊΠΎΠΌΠΌΠΈΡ ΠΊ Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΡΠ΅, Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π²Π½ΠΎΡΠΈΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΊΠΈ ΠΈ ΡΠ½ΠΎΠ²Π° ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΠ΅β¦ Π ΠΈΡΠΎΠ³Π΅ 5 ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠΌ ΠΆΠ΅. ΠΡΠ²Π°Π»ΠΎ? ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²ΡΠ±ΠΈΠ²Π°ΡΡΡΡ ΠΈΠ· ΠΎΠ±ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π° Π²Π°ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ Π² Git, Π½ΠΎ ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΈΡ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git reset HEAD~3
ΠΠΎΠΌΠ°Π½Π΄Π° HEAD~3 ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅Ρ 3 Π²Π΅ΡΡ Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΠΌΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΈ Π²Π°ΡΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π±ΡΠ΄ΡΡ ΡΡΠ΅ΡΡΡ ΠΈΠ· Π»ΠΎΠ³Π°, Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ ΠΎΡΡΠ°Π½ΡΡΡΡ Π½Π° ΠΌΠ΅ΡΡΠ΅. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠ° ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git stage --diff
ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠ±ΡΠ°Π»ΠΈ ΠΈΠ· ΠΈΡΡΠΎΡΠΈΠΈ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ, ΡΠ°ΠΊ ΡΡΠΎ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ ΡΠ½ΠΎΠ²Π°, Π² ΡΡΠΎΡ ΡΠ°Π· Π² ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠ΅ΠΌ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ HEAD ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΌΡ Π²Π°ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΠ²Π΅ΡΡΡΠ΅ΡΡ Ρ Π»ΠΎΠ³ΠΎΠΌ Git. ΠΡΠ»ΠΈ Π²Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π±ΡΠ» Π·Π°ΠΌΠ΅ΡΠΆΠ΅Π½ (Π½Π΅ ΡΠ°ΠΌΡΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ), ΠΊΠΎΠΌΠ°Π½Π΄Π° HEAD~1 ΡΠΎΡΡΠ΅Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· Π·Π°ΠΌΠ΅ΡΠΆΠ΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ. Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅, ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
6. Π£Π΄Π°Π»ΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ
ΠΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΡΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±Π΅Π· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡΠΊΠ°ΡΠΈΡΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΊΠΎΠ΄ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡΠΌ. Π― ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠΏΠ΅ΡΠ²Π° ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ-ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅.
git reset β-hard HEAD~1
Π’Π΅ΠΏΠ΅ΡΡ Π²Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ΄Π°Π»Π΅Π½, ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅.
7. ΠΡΠΈΡΡΠΈΡΠ΅ ΠΈΡΡΠΎΡΠΈΡ ΡΠ²ΠΎΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
Π‘Π°ΠΌΡΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠΈΡΡΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² β Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ rebase. ΠΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ: Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π½Π°ΠΆΠ°Π² Π½Π΅ ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ. ΠΡΠ°ΠΊ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΠΌ rebase Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ (ΡΠ»Π°Π³ -i) Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git rebase -i HEAD~5
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ Π²ΠΎΡΠ»ΠΈ Π² Π½Π΅Π³ΠΎ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· 5 ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² (HEAD~5) Π²Π½ΡΡΡΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΠΎ Π΄Π°ΡΠ΅, Ρ. Π΅. Π½Π°Π²Π΅ΡΡ Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΌΡΠΉ Π½ΠΎΠ²ΡΠΉ (ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Vim β ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Git ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π²Π½ΡΡΡΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°). Π Π·Π΄Π΅ΡΡ ΠΆΠ΅ ΠΊΡΠ°ΡΠΊΠ°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ squash ΠΈ reword.
ΠΠ°ΠΌΠ΅Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ pick ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ squash, Π²Ρ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈΠ· Π»ΠΎΠ³Π°, ΠΈ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ Π±ΡΠ΄ΡΡ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Ρ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ pick.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pick ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ reword ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΊΠ½Ρ, Π³Π΄Π΅ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ Π³ΡΡΠΏΠΏΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΡΠΊΠ»Π΅ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ squash. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ ESC ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅:
:wq!
ΠΠ²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ (:)
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, (w)
β ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ (ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ) ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, (q)
β ΡΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ, Π° (!)
β ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ Π³ΡΡΠΏΠΏΠ° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠΎΠ»ΡΡΠΈΡ Π²Π°Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π² Π»ΠΎΠ³Π΅ Git.
ΠΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Π²Ρ ΠΏΠΎΠΊΠΈΠ΄Π°Π΅ΡΠ΅ ΡΡΠΎ ΠΎΠΊΠ½ΠΎ, Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git rebase --edit
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΊΠΈΠ½ΡΡΡ ΠΎΠΊΠ½ΠΎ, Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΠΈΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ ESC ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅:
:q!
Vim ΠΏΠΎΠ»ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π°ΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Π±Π΅Π· ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ.
8. Π£ΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠ΅ΠΉ
ΠΠ±ΡΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ ΠΊ Π³ΡΡΠΏΠΏΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ³Π΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ?
Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ Π²Π°Ρ Π΅ΡΡΡ 3 ΡΠ°ΠΉΠ»Π°, ΠΈ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ 2 ΠΈΠ· Π½ΠΈΡ . Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git add .
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ ΡΠΎΡ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ΅Π½:
git reset -- Readme.txt
Π ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
git status
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ CSS:
git add *.css
ΠΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΏΠΎ ΠΎΡΠΈΠ±ΠΊΠ΅? Π’ΠΎΠ³Π΄Π° ΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
git reset --
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°:
git add -i
Π‘Π½Π°ΡΠ°Π»Π° Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΎΠΏΡΠΈΡ, Π²Π²Π΅Π΄Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ (3), ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ°ΡΠΈΡΡ ΡΠ²ΠΎΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
ΠΡΠ±ΡΠ°Π² ΠΎΠΏΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ±ΡΠ°ΡΡ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ, ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ.
ΠΠΎΠ³Π΄Π° Π·Π°Π²Π΅ΡΡΠΈΡΠ΅, Π½Π°ΠΆΠΌΠΈΡΠ΅ (Enter).
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΡΠΎΠΉ ΠΆΠ΅ ΡΡ Π΅ΠΌΠ΅. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΠΈ (4) Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
Π§ΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ, Π²Π²Π΅Π΄ΠΈΡΠ΅ (q)
Π² ΠΌΠ΅Π½Ρ ΠΎΠΏΡΠΈΠΉ.
9. ΠΡΠ²ΠΎΠ΄
ΠΠ»Π°Π²Π½ΠΎΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΡΠ΅ΠΌ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΌΠ΅ΡΠΆΠ΅ΠΌ Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ, β ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ ΠΏΡΠΈΠ²Π΅Π»ΠΈ Π² ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ Π·Π°ΠΏΡΡΠΈΡΠ΅ Π²ΡΠ΅ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΡΠΆΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅Π»ΡΠ·Ρ.
Π₯ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΠΏΠ°ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ? ΠΠ°Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° Microverse.org.
Git — Book
2nd Edition (2014)
Download Ebook
The entire Pro Git book, written by Scott Chacon and Ben Straub and published by Apress, is available here. All content is licensed under the Creative Commons Attribution Non Commercial Share Alike 3.0 license. Print versions of the book are available on Amazon.com.>
- 1.1
Π ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ - 1.2
ΠΡΠ°ΡΠΊΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ Git - 1.3
ΠΡΠ½ΠΎΠ²Ρ Git - 1.4
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° - 1.5
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Git - 1.6
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Git - 1.7
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠΌΠΎΡΡ? - 1.8
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
- 1.1
- 2.1
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ - 2.2
ΠΠ°ΠΏΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ - 2.3
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² - 2.4
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΡΠΌΠ΅Π½Ρ - 2.5
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ - 2.6
Π Π°Π±ΠΎΡΠ° Ρ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ - 2.7
ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ Π² Git - 2.8
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
- 2.1
- 3.1
Π Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΈ Π² Π΄Π²ΡΡ ΡΠ»ΠΎΠ²Π°Ρ - 3.2
ΠΡΠ½ΠΎΠ²Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ - 3.3
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠ°ΠΌΠΈ - 3.4
Π Π°Π±ΠΎΡΠ° Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ - 3.5
Π£Π΄Π°Π»ΡΠ½Π½ΡΠ΅ Π²Π΅ΡΠΊΠΈ - 3.6
ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ - 3.7
- 3.1
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ?
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ ΠΏΡΠΈΠ½Π΅ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΡΠΊΠΈ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ±Π΅Π΄ΠΈΠΌΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π²Π°ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½Ρ. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠΎΡΡΠΎ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Git ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ . ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π½Π΅Π³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠ·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ.
Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ Git
ΠΠ΅ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ Π²ΡΠ΅ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π½Π°ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Β«Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΡ ΠΏΠΎ GitΒ» — Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ!
ΠΡΠΌΠ΅Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ°ΡΡΠ° ΡΠΈΡΡΠ°ΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ. ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ°Π΄ΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΡΠ΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ — ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ Π½Π΅Π³ΠΎ!
Π ΡΡΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«ΡΠ±ΡΠΎΡΠ°Β» — Π²Π°Ρ Π»ΡΡΡΠΈΠΉ Π΄ΡΡΠ³:
$ git reset - ΠΌΡΠ³ΠΊΠ°Ρ ΠΠΠΠΠΠΠ ~ 1
Reset ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ HEAD ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΌΡ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅Π²ΠΈΠ·ΠΈΠ΅ΠΉ , ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΌΠ΅Π½ΠΈΠ² Π½Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ»Π°Π³ —soft: ΡΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΡΠΌΠ΅Π½Π΅Π½Π½ΡΡ ΡΠ΅Π²ΠΈΠ·ΠΈΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ.ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡΠΌΠΈ.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π°Π³ —hard. ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ.
$ git reset --hard HEAD ~ 1
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ Tower Git, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠ°ΡΡ CMD + Z , ΡΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎΠ΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡ CMD + Z Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΎΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ Π΄ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ!
ΠΡΠΌΠ΅Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΉ
Π’ΠΎΡ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ:
$ git reset --hard 0ad5a7a6
ΠΠ΄Π½Π°ΠΊΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ±ΡΠΎΡΠ° ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²Ρ Π²Π΅ΡΠ½ΡΠ»ΠΈΡΡ:
Π£Π·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅
.
ΠΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ Π½Π΅ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ git?
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
- ΠΠΊΠΎΠ»ΠΎ
ΠΡΠΎΠ΄ΡΠΊΡΡ
- ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈ Π΄Π΅Π»ΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°Π’Π°Π»Π°Π½Ρ
ΠΠ°Π½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΡΠ Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°- Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
.
git — Π£Π΄Π°Π»ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Π½Π° gitlab
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
- ΠΠΊΠΎΠ»ΠΎ
ΠΡΠΎΠ΄ΡΠΊΡΡ
- ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈ Π΄Π΅Π»ΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°Π’Π°Π»Π°Π½Ρ
ΠΠ°Π½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΡΠ Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°- Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
.
Git — ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ· ΠΈΡΡΠΎΡΠΈΠΈ
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
- ΠΠΊΠΎΠ»ΠΎ
ΠΡΠΎΠ΄ΡΠΊΡΡ
- ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈ Π΄Π΅Π»ΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°Π’Π°Π»Π°Π½Ρ
ΠΠ°Π½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΡΠ Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°- Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
.