Git ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅: ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ
ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄: git show ΠΈ git log -p.
ΠΠΎΠΌΠ°Π½Π΄Π°:
git show <ΠΊΠΎΠΌΠΌΠΈΡ>
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ.
ΠΠΎΠΌΠ°Π½Π΄Π° git log -p ΡΠ»ΡΠΆΠΈΡ ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΡΠ΄Π΅ΡΠΆΠΊΠ° ΠΈΠ· ProGit:
ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log β ΡΡΠΎ -p, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄Π΅Π»ΡΡΡ (Ρ. Π΅. ΡΠ°Π·Π½ΠΈΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ diff), ΠΏΡΠΈΠ²Π½Π΅ΡΠ΅Π½Π½ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π΅ Π²Π΅ΡΡ Π»ΠΎΠ³, Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΠΎΠΏΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ -2, ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ Π΄ΠΎ 2-Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. ΠΡΠΈΠΌΠ΅Ρ:
$ git log -p -2
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <[email protected]>
Date: Mon Mar 17 21:52:11 2008 -0700
changed the version number
diff —git a/Rakefile b/Rakefile
index a874b73..8f94139 100644
— a/Rakefile
+++ b/Rakefile
@@ -5,5 +5,5 @@ require ‘rake/gempackagetask’
spec = Gem::Specification.new do |s|
s.name = «simplegit»
— s.version = «0.1.0»
+ s.version = «0.1.1»
s.author = «Scott Chacon»
s.email = «[email protected]
commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon <[email protected]>
Date: Sat Mar 15 16:40:33 2008 -0700
removed unnecessary test code
diff —git a/lib/simplegit.rb b/lib/simplegit.rb
index a0a60ae..47c6340 100644
— a/lib/simplegit.rb
+++ b/lib/simplegit.rb
@@ -18,8 +18,3 @@ class SimpleGit
end
end
—
-if $0 == __FILE__
— git = SimpleGit.new
— puts git.show
-end
\ No newline at end of file
ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡ ΠΆΠ΅ ΡΠ°ΠΌΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠ»ΡΡ Π²Π½Π΅ΡΡΠ½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΠΉ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅Π³ΠΎΠΉ.
ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΡ . Π£ΡΠΎΠΊ 5
Π£ΡΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ Π½Π°ΡΡΠΈΠΌΡΡ ΠΏΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠΎ ΠΈΡΡΠΎΡΠΈΠΈ
ΠΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊ
ΠΠΎΠ½ΡΠΏΠ΅ΠΊΡ ΡΡΠΎΠΊΠ°
ΠΡΠ°ΡΠΊΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠΎΠΊΠ°, ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΡΠΎΠ²Π΅ΡΡ.
ΠΠ»Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
Π£ΡΠΎΠΊ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ. ΠΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
Π‘ΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² — ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ
Π²Π°ΠΆΠ½ΡΡ
ΡΠ°ΡΡΠ΅ΠΉ git. Π ΠΈΡΡΠΎΡΠΈΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π°Π²ΡΠΎΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ°, commit message, Π΄Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ Π΅Π³ΠΎ Ρ
ΡΡ.
Π ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅. Π’ΠΎ Π΅ΡΡΡ git Ρ
ΡΠ°Π½ΠΈΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π²ΡΠ΅, ΠΎΡ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠΎΠΌΠ°Π½Π΄Π° git log
ΠΠ° ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git log. Π ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ.
ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ
git log, ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
$ git log
ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΎΡ Π½ΠΎΠ²ΡΡ
ΠΊ ΡΡΠ°ΡΡΠΌ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ
- Ρ ΡΡ
- Π°Π²ΡΠΎΡ
- Π΄Π°ΡΠ°
- ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ (commit message)
git log -p, ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΈΡΡΠΎΡΠΈΠΈ
$ git log -p
ΠΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ git log, Π½ΠΎ Π΅ΡΠ΅ ΠΈ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² ΡΠ°ΠΉΠ»Π°Ρ
git log —oneline, ΠΊΠΎΡΠΎΡΠΊΠ°Ρ Π·Π°ΠΏΠΈΡΡ
$ git log --oneline
ΠΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ. ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ
ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ commit message
git log —stat —graph, ΠΈΡΡΠΎΡΠΈΡ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅ΡΠ΅Π²Π°
$ git log --stat --graph
ΠΡΠ²ΠΎΠ΄ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅ΡΠ΅Π²Π°, Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΡΠ΅Π²Π΄ΠΎΠ³ΡΠ°ΡΠΈΠΊΠΎΠΉ. ΠΠ»ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². Π Π΄Π΅ΡΠ΅Π²Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΌΡ Π²Π΅ΡΠ½Π΅ΠΌΡΡ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ.
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΈΡΡΠΎΡΠΈΠΈ
ΠΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. Π ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ Π»ΠΈΠ½ΡΠΊΡΠΎΠ²ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ
ΠΠΎΠΈΡΠΊ ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ
ΠΠΎΠΌΠ°Π½Π΄Π° grep — ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Ρ git. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΊΠ°ΡΡ ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ
git log --oneline | grep revert # ΠΏΠΎΠΈΡΠΊ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ revert
git log --oneline | grep -i revert # Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠ΅Π³ΠΈΡΡΡΠ°
ΠΠΎΠΌΠΌΠΈΡΡ, Π·Π°ΡΡΠΎΠ½ΡΠ²ΡΠΈΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ»
git log index.html
ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π°Π²ΡΠΎΡΡ
git log --author webdevkin
Π ΠΎΠΏΡΠΈΠΈ —author ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΠΈΠ»ΠΈ email, Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ.
ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ Π΄Π°Ρ
ΠΠΏΡΠΈΠΈ —after ΠΈ —before Π·Π°Π΄Π°ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ Π΄Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
git log --after='2020-03-09 15:30' --before='2020-03-09 16:00'
ΠΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΎΠΏΡΠΈΠΉ
ΠΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΎΠΏΡΠΈΠΈ git ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ ΠΈΡ
Π»ΠΈΠ½ΡΠΊΡΠΎΠ²ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ
git log --author=webdevkin --oneline | grep footer # Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΎΡ Π°Π²ΡΠΎΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΡ
ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ footer
git log --oneline | wc -l # ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΠ°ΠΊΠΈΠ΅ Π΅ΡΠ΅ Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΡ
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π½ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ git log Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΎΠΏΡΠΈΠΉ.
ΠΡΠ΅ ΠΈΡ
ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π½Π΅Ρ ΡΠΌΡΡΠ»Π°, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΡΡΠ°ΠΉΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
git log --help
ΠΡΠΎΡΠΌΠΎΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, git show
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π½ΡΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ Π΅Π³ΠΎ Ρ
ΡΡ. Π₯ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git log, Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π±Π΅Π·. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
$ git log --oneline
7b7d7fa Fixed footer
26812f9 Revert "Fixed footer"
0f90ae7 Revert "Fixed styles"
...
a1f3c45 Added footer
a65aa43 Added new block students to main page
0b90433 Initial commit
Π‘ΠΌΠΎΡΡΠΈΠΌ Π²ΡΠΎΡΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
$ git show 43f6afc
ΠΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅:
- Ρ ΡΡ
- Π°Π²ΡΠΎΡ
- Π΄Π°ΡΠ°
- commit message
- ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
- ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅
ΠΠΎΡΠΎΡΠΊΠΈΠΉ Ρ ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°
Π₯ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° 40-ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΡΠΎΡΠΊΡΡ Π·Π°ΠΏΠΈΡΡ — ΠΏΠ΅ΡΠ²ΡΠ΅ 7 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Ρ
ΡΡΠ°.
ΠΠΎΠΌΠ°Π½Π΄Π° git log —oneline Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ Ρ
ΡΡ. ΠΠ»Ρ Π΄ΡΡΠ³ΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ 4 ΡΠΈΠΌΠ²ΠΎΠ»Π°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, 3 ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°
$ git show 051f75475cb1dca3cd08c1c7367a3308671ccf7b
$ git show 051f754
$ git show 051f
ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² PhpStorm
Π ΠΎΠΊΠ½Π΅ Local Changes, Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Log ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ. Π ΡΠΏΠΈΡΠΊΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΈΡ
commit message, Π°Π²ΡΠΎΡ ΠΈ Π΄Π°ΡΠ°.
ΠΠ»ΠΈΠΊ Π½Π° Π½ΡΠΆΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΎΡΠΊΡΠΎΠ΅Ρ Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ»ΠΈΠΊ Π½Π° Π½ΡΠΆΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΈ Ctrl/Cmd+D ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ git diff.
Π ΡΠ΅ΠΊΡΡΠ΅ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ Π² PhpStorm ΡΠ»ΠΎΠΆΠ½ΠΎ, ΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊ.
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π·Π°ΡΠ΅ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ
ΠΡΠΆΠ½ΠΎ ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π² Π΄Π²ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
:
1. ΠΡΠΈ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠΌ Π΄Π΅ΠΏΠ»ΠΎΠ΅, ΠΊΠΎΠ³Π΄Π° Π²ΡΠΊΡΡΠ»Π°ΡΡ ΠΊΡΠΈΡΠΈΡΠ½Π°Ρ Π±Π°Π³Π°.
ΠΡΠ»ΠΈ Π±Π°Π³Π° ΡΠ»ΠΎΠΆΠ½Π°Ρ ΠΈ ΠΏΠΎΡΠΈΠΊΡΠΈΡΡ Π΅Π΅ Π±ΡΡΡΡΠΎ Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΡΠ°Π±ΠΎΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΈ ΡΠΆΠ΅ ΠΏΠΎΡΠΎΠΌ ΡΠΈΠ½ΠΈΡΡ Π±Π°Π³Ρ.
2. ΠΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅. ΠΠΎΠ³Π΄Π° Π² ΠΊΠΎΠ΄ Π·Π°ΠΊΡΠ°Π»Π°ΡΡ Π±Π°Π³Π° ΠΈ ΠΌΡ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°Π΅ΠΌΡΡ «Π½Π°Π·Π°Π΄ Π² ΠΏΡΠΎΡΠ»ΠΎΠ΅» ΠΈ ΠΈΡΠ΅ΠΌ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠΎ-ΡΠΎ ΡΠ»ΠΎΠΌΠ°Π»ΠΎΡΡ
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅
ΠΠ΅ΡΠ²ΠΎΠ΅ — ΡΠ·Π½Π°ΡΡ Ρ
ΡΡ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ΅Π΅ΠΌ ΡΠ°ΠΊΡΡ ΠΈΡΡΠΎΡΠΈΡ
$ git log --oneline
7b7d7fa Fixed footer
26812f9 Revert "Fixed footer"
0f90ae7 Revert "Fixed styles"
...
a1f3c45 Added footer
a65aa43 Added new block students to main page
0b90433 Initial commit
Π₯ΠΎΡΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΠΎΠΌΠΌΠΈΡΡ ΠΈΠ΄ΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ±ΡΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π²ΡΠΎΡΠΎΠΉ ΡΠ²Π΅ΡΡ
Ρ — 26812f9. ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π½Π° Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
$ git checkout 26812f9
ΠΡΠ΅, Π²Π΅ΡΠ½ΡΠ»ΠΈΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠ΅. ΠΡΠΎΠ²Π΅ΡΠΈΠΌ ΠΈΡΡΠΎΡΠΈΡ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠ»ΠΈΡΡ — ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ
$ git log --oneline
26812f9 Revert "Fixed footer"
0f90ae7 Revert "Fixed styles"
...
a1f3c45 Added footer
a65aa43 Added new block students to main page
0b90433 Initial commit
Π£ΠΉΠ΄Π΅ΠΌ Π΅ΡΠ΅ Π΄Π°Π»ΡΡΠ΅, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠΌΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ Π΄Π°ΡΡ, ΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ — ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π² ΡΠΏΠΈΡΠΊΠ΅ — 0b90433 Initial commit
$ git checkout 0b90433
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΈΡΡΠΎΡΠΈΡ
$ git log --oneline
0b90433 Initial commit
Π§ΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΎΠ±ΡΠ°Π½ΠΎ, Π² ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π½ΡΠΆΠ½ΠΎ Π½Π°Π±ΡΠ°ΡΡ
$ git checkout master
master — ΡΡΠΎ Π²Π΅ΡΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π Π²Π΅ΡΠΊΠ°Ρ
ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΡ ΡΡΠΎΠΊΠΎΠ²
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ Π² PhpStrom
ΠΠΊΠ»Π°Π΄ΠΊΠ° Log, ΠΏΡΠ°Π²ΡΠΉ ΠΊΠ»ΠΈΠΊ Π½Π° Π½ΡΠΆΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ ΠΈ Checkout Revision. ΠΡΠ΅. ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π½Π° ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π²ΡΡ, Π½ΠΎ Π½Π°ΠΏΡΠΎΡΠΈΠ² ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π±ΡΠ΄Π΅Ρ ΡΡΠΎΡΡΡ Π·Π½Π°ΡΠΎΠΊ HEAD Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ «!»
ΠΠ°ΠΊ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ? Π ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ΅ΠΌ ΡΠ³Π»Π΅ PhpStorm Π΅ΡΡΡ ΠΏΡΠ½ΠΊΡ git:, ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ Π½Π° Π½Π΅Π³ΠΎ, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Local Branches — master — checkout. ΠΠ½Π°ΡΠΎΠΊ «!» ΠΏΡΠΎΠΏΠ°Π΄Π΅Ρ — ΠΌΡ Π²Π΅ΡΠ½ΡΠ»ΠΈΡΡ Π² ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅
Π§ΡΠΎ ΠΌΠΎΠ³Ρ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°ΡΡ
- ΠΊΠ°ΠΊ ΠΈ git diff, ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² git log ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΡΠΌΠΎΡΡΠ΅ΡΡ Π² PhpStorm
- Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git log Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ
- ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ git log Ρ ΠΏΡΠΎΡΡΡΠΌΠΈ Π»ΠΈΠ½ΡΠΊΡΠΎΠ²ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π΄Π°Π΅Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΡΡΠ΅ΠΊΡ. ΠΠ±ΡΡΠ½ΡΠΉ grep — ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ
- PhpStorm ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΊΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎ commit message, ΠΏΠΎ Π°Π²ΡΠΎΡΡ, Π΄Π°ΡΠ΅ ΠΈ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
- ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΠΉΡΠ΅ΡΡ ΠΏΠΎ ΠΈΡΡΠΎΡΠΈΠΈ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ, Π½Π΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅
ΠΠ° ΡΡΠΎΠΌ Π²ΡΠ΅. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ git push ΠΈ git pull.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ Π΄ΠΎ Π²ΡΡΡΠ΅ΡΠΈ!
ΠΡΠ΅ ΡΡΠΎΠΊΠΈ ΠΊΡΡΡΠ°
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ…
19 ΡΠΎΠ²Π΅ΡΠΎΠ² ΠΏΠΎ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Ρ Git / ΠΠ»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Mail.ru Group / Π₯Π°Π±Ρ
ΠΡΠ»ΠΈ Π²Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Git, ΡΠΎ Π²Π°ΠΌ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΎΠ²Π΅ΡΡ ΠΈΠ· ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ. ΠΡΠ»ΠΈ Π²Ρ Π² ΡΡΠΎΠΌ ΠΏΠΎΠΊΠ° Π½ΠΎΠ²ΠΈΡΠΎΠΊ, ΡΠΎ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π²Π°ΠΌ Π»ΡΡΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Git Cheat Sheet. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ ΡΠ°ΠΊ, Π΄Π°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ΅Ρ , Ρ ΠΊΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΎΠΏΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Git ΠΎΡ ΡΡΡΡ ΠΌΠ΅ΡΡΡΠ΅Π². ΠΡΡΠΎΡΠΎΠΆΠ½ΠΎ: ΡΡΠ°ΡΡΠΈΠΊ, Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ!
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅:
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π»ΠΎΠ³Π°
- ΠΡΠ²ΠΎΠ΄ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ»
- ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΡΠΎΠΊΠ°Ρ ΡΠ°ΠΉΠ»Π°
- ΠΡΠΎΡΠΌΠΎΡΡ Π΅ΡΡ Π½Π΅ Π²Π»ΠΈΡΡΡ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΡΡ Π²Π΅ΡΠΊΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
- ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΈ
- ΠΠ°ΡΠ° ΡΠ»ΠΎΠ² ΠΎ ΡΠ΅Π±Π΅ΠΉΠ·Π΅
- Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π²Π΅ΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΆΠ°
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ
- Π’ΡΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² Git ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ
- ΠΡΠ³ΠΊΠ°Ρ ΠΎΡΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
- ΠΡΠΎΡΠΌΠΎΡΡ Π΄ΠΈΡΡΠΎΠ² Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π° Π½Π΅ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ Π·Π° ΡΠ°Π·) Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
- ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ²
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
- ΠΠΎΠΈΡΠΊ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΡ Π²Π΅ΡΠΎΠΊ
- ΠΡΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
- Π₯ΠΎΡΠΎΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ
- ΠΠ²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Git
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π»ΠΈΠ°ΡΠΎΠ² Π΄Π»Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄
- ΠΡΡΡΡΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠ»ΠΎΡ ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°
1. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π»ΠΎΠ³Π°
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git log —oneline —graph
Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π²Π°ΠΌ ΡΠΆΠ΅ Π΄ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log. Π£ Π½Π΅Ρ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΈΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΈ:
- —author=»Alex Kras» β Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ
- —name-only β Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
- —oneline β Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° (Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ)
- —graph β Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π΄Π΅ΡΠ΅Π²ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
- —reverse β Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Ρ ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ (ΡΠ½Π°ΡΠ°Π»Π° ΡΡΠ°ΡΡΠ΅)
- —after β Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π΄Π°ΡΡ
- —before β Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π΄Π°ΡΡ
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π°-ΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ» ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ΅Π±ΠΎΠ²Π°Π» Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡΠ½ΡΠ΅ ΠΎΡΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΏΡΡΠ½ΠΈΡΡ. Π ΠΌΠ½Π΅ Π±ΡΠ»ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ git log —author=»Alex Kras» —after=»1 week ago» —oneline, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΡ Π½Π°ΡΠ°Π»ΡΡΡΠ²Ρ.
ΠΠΎΠΎΠ±ΡΠ΅, Π² Git Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΡΠΊΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΡΠΎΡΡΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ man git-log ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΡΡΠΎΡΠΈΠΈ. ΠΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π²Π°Ρ Π½Π΅ ΡΡΡΡΠΎΠΈΡ, Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ —pretty, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π²ΡΠ΄Π°ΡΡ Π² ΡΠΈΡΠΎΠΊΠΈΡ ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ .
2. ΠΡΠ²ΠΎΠ΄ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ»
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git log -p filename
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ git log -p ΠΈΠ»ΠΈ git log -p filename ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π°Π²ΡΠΎΡΠ° ΠΈ Π΄Π°ΡΡ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠ°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠΈΠ»ΠΈΡΡ less, Π½Π°Π±ΡΠ°Π² Β«ΡΠ»Π΅ΡΒ» ΠΈ Π²Π²Π΅Π΄Ρ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ: /{{ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΠΉ-Π·Π°ΠΏΡΠΎΡ}} (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΡΡ «n» Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ Π±ΠΎΠ»ΡΡΡΡ «N» Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ):
3. ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΡΠΎΠΊΠ°Ρ ΡΠ°ΠΉΠ»Π°
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git log -L 1,1:some-file.txt
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git blame filename ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π°Π²ΡΠΎΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅.
ΠΡΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log Ρ ΡΠ»Π°Π³ΠΎΠΌ -L, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Π½ΠΎΠΌΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ Π² Π½ΡΠΆΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, ΠΈ Git ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ.
ΠΠΎ ΡΡΡΠΈ ΡΡΠΎ Π°Π½Π°Π»ΠΎΠ³ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log -p, ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠΎΠΊΡΡΠΎΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ .
4. ΠΡΠΎΡΠΌΠΎΡΡ Π΅ΡΡ Π½Π΅ Π²Π»ΠΈΡΡΡ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΡΡ Π²Π΅ΡΠΊΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git log —no-merges master..
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡΡΠΈΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΡΡΠ΄ΠΈΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡΠ΄Π΅ΠΉ, ΡΠΎ Π²Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ Π²Π»ΠΈΠ²Π°Π½ΠΈΡΠΌΠΈ (ΠΌΡΡΠΆΠ°ΠΌΠΈ) ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, master) Π² Π²Π΅ΡΠΊΡ Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΠΈΡΠ΅ΠΉ. Π’Π°ΠΊΠΈΠ΅ ΠΌΡΡΠΆΠΈ Π·Π°ΡΡΡΠ΄Π½ΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π²Π΅ΡΠΊΠ΅ ΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ.
ΠΠΎΠΌΠ°Π½Π΄Π° git log —no-merges master.. ΡΠ΅ΡΠ°Π΅Ρ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ: ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ —no-merges Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡ Π½Π΅ Π±ΡΠ»ΠΈ Π²ΠΌΡΡΠΆΠ΅Π½Ρ ΠΊΡΠ΄Π°-Π»ΠΈΠ±ΠΎ, Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ master.. Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡ Π½Π΅ Π±ΡΠ»ΠΈ Π²ΠΌΡΡΠΆΠ΅Π½Ρ Π² Π²Π΅ΡΠΊΡ master (Π·Π΄Π΅ΡΡ Π²Π°ΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π²Π΅ ΡΠΎΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ Π½Π°Π·Π²Π°Π½ΠΈΡ Π²Π΅ΡΠΊΠΈ).
Π§ΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π½ΠΎ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π² Π½ΠΈΡ Π²Π½Π΅ΡΠ΅Π½Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git show —no-merges master.. ΠΈΠ»ΠΈ git log -p —no-merges master.. (ΠΈΡ Π²ΡΠ²ΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΌ).
5. ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΈ
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git show some-branch:some-file.js
ΠΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ°ΠΉΠ» Π² Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡ Π½Π° Π½Π΅Ρ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git show some-branch-name:some-file-name.js, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ ΠΏΡΡΠΌΠΎ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π».
Π Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΎΡΠΊΡΡΡΡ Π΄Π²Π° ΡΠ°ΠΉΠ»Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² ΡΠ²ΠΎΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅: git show some-branch-name:some-file-name.js > deleteme.js.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΡΠ°Π²Π½ΠΈΡΡ Π΄Π²Π° ΡΠ°ΠΉΠ»Π°, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΠΊΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git diff some-branch some-filename.js
6. ΠΠ°ΡΠ° ΡΠ»ΠΎΠ² ΠΎ ΡΠ΅Π±Π΅ΠΉΠ·Π΅
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git pull —rebase
Π Π°Π½Π΅Π΅ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΌΡΡΠΆΠ°Ρ ΠΌΠ°ΡΡΠ΅ΡΠ° Π² ΡΠ°Π±ΠΎΡΡΡ Π²Π΅ΡΠΊΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ· Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rebase. ΠΠΎΠΎΠ±ΡΠ΅, ΡΠ΅Π±Π΅ΠΉΠ· β ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΈ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, Π±ΡΠ΄Π΅Ρ Π»ΡΡΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°. ΠΠΎΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅ Β«Pro GitΒ»:
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π²ΡΠ΅ ΡΠ²ΠΎΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°, Ρ ΡΠ΅Π±Π΅ΠΉΠ·Π° Π΅ΡΡΡ ΠΈ ΡΠ²ΠΎΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π·ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ:
ΠΠ΅ Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ΅Π±Π΅ΠΉΠ· ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ Π²Π½Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΠ΅ΡΠ΅ ΡΡΠΎΠΌΡ ΡΠΎΠ²Π΅ΡΡ, ΡΠΎ Π²ΡΡ Π±ΡΠ΄Π΅Ρ Ρ ΠΎΡΠΎΡΠΎ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΅ Π±ΡΠ΄ΡΡ Π²Π°Ρ Π½Π΅Π½Π°Π²ΠΈΠ΄Π΅ΡΡ, Π° Π΄ΡΡΠ·ΡΡ ΠΈ ΡΠ΅ΠΌΡΡ ΡΡΠ°Π½ΡΡ Π²Π°Ρ ΠΏΡΠ΅Π·ΠΈΡΠ°ΡΡ.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ΅Π±Π΅ΠΉΠ·Π° Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΠΎΡΡΡΡΡ, ΠΏΡΠΎΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π½ΠΈΠΌ.
ΠΠΎΠΆΠ°Π»ΡΠΉ, Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅Π±Π΅ΠΉΠ· β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rebase -i {{some commit hash}}, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΈ ΠΊΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ. ΠΠ΅ Π±ΡΠ΄Ρ Π΄Π°Π»ΡΡΠ΅ Π²Π΄Π°Π²Π°ΡΡΡΡ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΅ΠΌΠ° ΡΡΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΡΠΌΠ½Π°Ρ.
ΠΡΡ ΠΎΠ΄Π½Π° ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅Π±Π΅ΠΉΠ·Π°: git pull —rebase
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. Π Π² ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΡΠΎ-ΡΠΎ Π΅ΡΡ Π·Π°Π»ΠΈΠ» Π² ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ ΠΊΠΎΠΏΠΈΡ Π²Π΅ΡΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π½Π΅Π΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΄Π°. ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π·Π°ΠΏΡΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Git ΡΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ, ΡΡΠΎ ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΈ ΡΡΠΎ Π²Π°ΠΌ ΡΠ½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ git pull Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°. ΠΠ°ΠΊ Π΄ΠΎΠ±ΡΠΎΠΏΠΎΡΡΠ΄ΠΎΡΠ½ΡΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π²Ρ ΡΠ°ΠΊ ΠΈ ΠΏΠΎΡΡΡΠΏΠΈΡΠ΅ ΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git pull Π² ΠΈΡΡΠΎΡΠΈΠΈ Π²Π°ΡΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π²Π΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΉ Π²ΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ: Β«Merge remote-tracking branch ‘origin/master’Β».
ΠΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ Π²ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π·Π°ΡΠΎΡΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π»ΡΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git pull —rebase, ΠΈ Git ΡΠ½Π°ΡΠ°Π»Π° Π·Π°Π±Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π²Π΅ΡΠΊΠΈ, Π° ΠΏΠΎΡΠΎΠΌ Π½Π°ΠΊΠ°ΡΠΈΡ Π²Π°ΡΠΈ Π½Π΅Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ Π±Ρ Π²ΡΡ ΡΠ°ΠΊ ΠΈ Π±ΡΠ»ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΌΡΡΠΆΠ° ΠΎΡΠΏΠ°Π΄Π°Π΅Ρ ΠΈ ΠΌΡ ΠΈΠ·Π±Π΅ΠΆΠΈΠΌ ΡΡΠΎΠ΄Π»ΠΈΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΎ ΠΌΡΡΠΆΠ΅ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
7. Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π²Π΅ΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΆΠ°
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git merge —no-ff
ΠΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π±Π°Π³ΡΠΈΠΊΡΠ° ΠΈΠ»ΠΈ ΡΠΈΡΠΈ. ΠΠΎΠΌΠΈΠΌΠΎ ΠΏΡΠΎΡΠ΅Π³ΠΎ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΡΡΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΡΠ΅ΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠ°ΡΠΊΠΎΠΌ. ΠΡΠ»ΠΈ Π²Ρ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΌΡΡΠΆΠΈΠ»ΠΈ ΠΏΡΠ»-ΡΠ΅ΠΊΠ²Π΅ΡΡΡ Π½Π° Π³ΠΈΡΡ Π°Π±Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ , Ρ Π²Π°Ρ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠΌΡΡΠΆΠ΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log —oneline —graph.
ΠΡΠ»ΠΈ Π²Ρ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΌΡΡΠΆΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ, ΡΠΎ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Git Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Ρ ΠΈΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΎΠ³ΠΎ ΠΈ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ (ΡΠ°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ»-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ°), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ —no-ff, ΠΈ Π² ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ: git merge —no-ff some-branch-name
8. ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git commit —amend
ΠΡΠΎΡ ΡΠΎΠ²Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ. ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΠ»ΠΈ ΠΈΡ , Π° ΠΏΠΎΡΠΎΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Β«ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠ°Β», Π½ΠΎ Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠΎΠ»ΡΡΡΠ΅.
ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΡ Π½Π΅ Π·Π°ΠΏΡΡΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ Π²Π΅ΡΠΊΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ Π²ΠΎΡ:
- ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ.
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°: git add some-fixed-file.js.
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git commit —amend, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΌΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΡ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ.
- ΠΠΎΠ³Π΄Π° Π²ΡΡ Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠΎΠ²ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΈΡΡ Π²Π΅ΡΠΊΡ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π°Π΄ Π²Π΅ΡΠΊΠΎΠΉ ΠΎΠ΄ΠΈΠ½, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π·Π°ΠΏΡΡΠΈΠ»ΠΈ Π²Π΅ΡΠΊΡ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ git push -f ΠΏΠΎΡΠ»Π΅ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΈ ΡΠ΄Π°Π»ΡΠ½Π½Π°Ρ Π²Π΅ΡΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½Π°. ΠΠΎ Π²Π°ΠΌ ΠΠ ΠΠΠ₯ΠΠ§ΠΠ’Π‘Π― Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ Π²Π΅ΡΠΊΠΎΠΉ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ (ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΎΡΡ Π² ΡΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΎ ΡΠ΅Π±Π΅ΠΉΠ· Π²ΡΡΠ΅). Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ , Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ΠΌ Β«ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠΈΒ».
9. Π’ΡΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² Git ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git reset —hard HEAD ΠΈ git status -s
ΠΠ°ΠΊ Π²Ρ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, ΡΠ°ΠΉΠ» Π² Git ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ:
- unstaged β Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°
- staged β Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°
- commited β Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½
(ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π΅ΡΡΡ Π΅ΡΡ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΡΡΠ°ΡΡΡ untracked β ΡΠ°ΠΉΠ» Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ β ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².).
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git status Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ. Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ» Π² ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° (ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π΅Π³ΠΎ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ unstaged Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ staged), Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git add filename.js. ΠΠΎΠΌΠ°Π½Π΄Π° git add . Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΡΠ°Π·Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ (Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ β ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².).
ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git status -s, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° git status Π½Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠΆΠ΅ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π΄Π»Ρ ΠΈΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log.
ΠΡΡΡ Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
Π‘Π±ΡΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
Π‘Π±ΡΠΎΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π²Π΅ΡΡΠΈΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Git. ΠΡΠ΅Π³ΠΎ Π΅ΡΡΡ ΡΡΠΈ Π²ΠΈΠ΄Π° ΡΠ±ΡΠΎΡΠ°:
- git reset —hard {{some-commit-hash}} β Π²Π΅ΡΠ½ΡΡΡΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ. ΠΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΏΡΠΎΠΏΠ°Π΄ΡΡ.
- git reset {{some-commit-hash}} β Π²Π΅ΡΠ½ΡΡΡΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ. ΠΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Β«Not staged for commitΒ». Π§ΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡ ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git add ΠΈ git commit.
- git reset —soft {{some-commit-hash}} β Π²Π΅ΡΠ½ΡΡΡΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ. ΠΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Β«Staged for commitΒ». Π§ΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡ ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git commit.
ΠΠΎΠ½Π°Π»Π°ΡΡ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΡΠ½ΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΠ½Π° Π²Π°ΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π΄Π»Ρ ΡΠ΅Π±Ρ Π²ΡΠ΄Π΅Π»ΠΈΠ» Π²ΠΎΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄:
- ΠΡΠ»ΠΈ Ρ Ρ ΠΎΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ Π²Π½Π΅ΡΡΠ½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠΎΠ³ΠΎ Π»ΠΈΡΡΠ°, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git reset —hard HEAD (ΡΠ°ΠΌΡΠΉ ΡΠ°ΡΡΡΠΉ ΡΠ»ΡΡΠ°ΠΉ).
- ΠΡΠ»ΠΈ Ρ Ρ ΠΎΡΡ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ/ΠΈΠ»ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·Ρ git reset {{some-start-point-hash}}.
- ΠΡΠ»ΠΈ Ρ ΠΏΡΠΎΡΡΠΎ Ρ ΠΎΡΡ Π²Π·ΡΡΡ ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ ΡΠ»ΠΈΡΡ ΠΈΡ Π² ΠΎΠ΄ΠΈΠ½ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git reset —soft {{some-start-point-hash}}.
ΠΡΠ³ΡΡΠ·ΠΊΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΡΠΎΠ³Π°ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅ Π·Π°Π±ΡΠ°ΡΡ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout forget-my-changes.js. ΠΡΠΎ ΠΊΠ°ΠΊ git reset —hard, ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π±ΠΈΡΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΠ»ΠΈ Π²Π΅ΡΠΎΠΊ: git checkout some-branch-name file-name.js ΠΈ git checkout {{some-commit-hash}} file-name.js.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΡΠ³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Β«Staged for commitΒ», ΠΈ ΡΡΠΎΠ±Ρ ΡΠ±ΡΠ°ΡΡ ΠΈΡ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git reset HEAD file-name.js. ΠΠ»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π°Π±Π΅ΡΠΈΡΠ΅ git checkout file-name.js Π΅ΡΡ ΡΠ°Π·.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° git reset —hard HEAD file-name.js Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π ΡΠ΅Π»ΠΎΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠΌΠ΅Π½Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ Π² Git Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΡΠ°Π½Π° ΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΡ ΠΎΠ΄Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΈ ΠΊΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. Π― Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π² ΡΡΠΎΠΌ ΡΠΎΠ²Π΅ΡΠ΅ Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎ Π²ΡΡ ΠΎΠ±ΡΡΡΠ½ΠΈΠ».
10. ΠΡΠ³ΠΊΠ°Ρ ΠΎΡΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git revert -n
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π° ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΠ°ΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΏΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΏΠΎΠΊΠΎΠΏΠ°ΡΡΡΡ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ ΠΈ Π½Π°ΠΉΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ.
ΠΠ±ΡΡΠ½ΡΠΉ git revert Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΡ ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΊΠ°ΡΠΈΠ»ΠΈ, Π·Π°ΠΏΡΠΎΡΠΈΠ² Ρ Π²Π°Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΎΡΠΊΠ°ΡΠ°. Π€Π»Π°Π³ «-n» Π³ΠΎΠ²ΠΎΡΠΈΡ Π³ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠΎΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°Π» ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½ΠΎΠ²ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π΅Π΄Ρ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π½ΠΈΡ .
11. ΠΡΠΎΡΠΌΠΎΡΡ Π΄ΠΈΡΡΠΎΠ² Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π° Π½Π΅ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ Π·Π° ΡΠ°Π·) Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git difftool -d
ΠΠΎΡ Π»ΡΠ±ΠΈΠΌΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ β Meld. Π― Π²Π»ΡΠ±ΠΈΠ»ΡΡ Π² Π½Π΅Ρ Π΅ΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΡΠ½ Linux, ΠΈ Ρ ΡΠ΅Ρ ΠΏΠΎΡ ΠΎΠ½Π° Π²ΡΠ΅Π³Π΄Π° ΡΠΎ ΠΌΠ½ΠΎΠΉ.
Π―, ΠΊΡΡΠ°ΡΠΈ, Π½Π΅ ΠΏΡΡΠ°ΡΡΡ ΠΏΡΠΎΠΏΠ°Π³Π°Π½Π΄ΠΈΡΠΎΠ²Π°ΡΡ Meld. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ Π»ΡΠ±ΠΈΠΌΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΈ, Π²Π΅ΡΠΎΡΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΎΠ½Π° ΡΠΌΠ΅Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Git, ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ². ΠΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π·Π°ΠΌΠ΅Π½ΠΈΠ² Β«meldΒ» Π½Π° ΡΠ²ΠΎΡ Π»ΡΠ±ΠΈΠΌΡΡ ΡΡΠΈΠ»ΠΈΡΡ:
git config --global diff.tool meld
git config --global merge.tool meld
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΡΡ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ β Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git difftool some-file.js Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡ ΠΆΠ΅ meld) ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ², Π½ΠΎ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ. ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git difftool -d, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π΄ΠΈΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.
12. ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ²
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git diff -w ΠΈΠ»ΠΈ git blame -w
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΌΠ΅Π½ΡΡΡ ΠΎΡΡΡΡΠΏΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, ΡΠΎ Π²Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ, ΠΏΠΎ ΠΌΠ½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git blame, Π²Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½Ρ Π·Π° Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ .
Π ΡΡΠ°ΡΡΡΡ, Git Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΌΡΠ½, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΊ ΡΠ΅ΠΌΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΡΠ°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ git diff, git blame ΠΈ Ρ.Π΄.) Ρ ΡΠ»Π°Π³ΠΎΠΌ «-w» ΠΈ Git Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ (ΠΏΡΠΎΠ±Π΅Π», ΡΠ°Π±ΡΠ»ΡΡΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅).
13. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git add -p
ΠΡΠΎ-ΡΠΎ ΠΈΠ· ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Git ΡΠ²Π½ΠΎ Π½Π΅ΡΠ°Π²Π½ΠΎΠ΄ΡΡΠ΅Π½ ΠΊ ΡΠ»Π°Π³Ρ «-p«, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ½ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΡΠΊΠΈ ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ.
Π ΡΠ»ΡΡΠ°Π΅ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git add, ΡΡΠΎΡ ΡΠ»Π°Π³ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΡΠ±ΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ²ΠΎΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΈΡ ΠΏΡΠΎΡΠ΅ Π±ΡΠ»ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ.
14. ΠΠΎΠΈΡΠΊ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΡ Π²Π΅ΡΠΎΠΊ
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git branch -a
ΠΠ°ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΎΠ±ΡΠ°ΡΡΠ°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π²Π΅ΡΠΎΠΊ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΎΡΡΠ°ΡΡΡΡ ΡΠ°ΠΌ Π΄Π°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ Π²ΠΌΡΡΠΆΠ΅Π½Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ (master). ΠΡΠ»ΠΈ Π²Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠ°Π½Π°Ρ ΡΠΈΡΡΠΎΡΡ (ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ Π²ΠΎ Π²ΡΡΠΌ, ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ΄Π°), ΠΊΠ°ΠΊ ΠΈ Ρ, Π²Π°Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°Π΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π²Π΅ΡΠΎΠΊ.
ΠΡΠ΅ Π²Π΅ΡΠΊΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git branch -a (ΠΊΠ»ΡΡ «-a» Π²ΡΠ²Π΅Π΄Π΅Ρ Π²ΡΠ΅ Π²Π΅ΡΠΊΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈΠ· ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ), Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ —merged ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ Π²Π΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π²ΠΌΡΡΠΆΠ΅Π½Ρ Π² Π²Π΅ΡΠΊΡ master.
Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΡΠΏΠ΅ΡΠ²Π° Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git fetch -p (ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π½Π΅Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅), ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΎΡΡΠΈΡΡΡΡ ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΊΠΈ Π²ΡΠ΅Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ Π²Π΅ΡΠΎΠΊ, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ Π² Π½ΠΈΡ ΠΈ Π΄Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
git for-each-ref --sort=committerdate --format='%(refname:short) * %(authorname) * %(committerdate:relative)' refs/remotes/ | column -t -s '*'
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π·Π½Π°Ρ, Π½Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π»ΡΠ³ΠΊΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΌΡΡΠΆΠ΅Π½Π½ΡΡ Π²Π΅ΡΠΎΠΊ. Π’Π°ΠΊ ΡΡΠΎ Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ Π΄Π²Π° ΡΠΏΠΈΡΠΊΠ° ΠΈΠ»ΠΈ ΠΏΠΈΡΠ°ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡ.
15. ΠΡΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git stash βkeep-index ΠΈΠ»ΠΈ git stash -p
ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΡ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git stash, ΡΠΎ ΠΎΠ½Π° ΠΏΡΠΎΡΡΠΎ ΠΊΠ»Π°Π΄ΡΡ Π²ΡΠ΅ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ΅ΠΊ Git. ΠΠΎΡΠΎΠΌ Π²Ρ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ git stash pop ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°Π·Π°Π΄. ΠΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ½Π½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ Π² ΡΡΠ΅ΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git stash list, Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠΏΡΠ°Π²ΠΊΡ: man git-stash.
Π£ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git stash Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ: ΠΎΠ½Π° ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΡΡΠ°Π·Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π° ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡΠ»ΠΎΠΆΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌΠΈ.
ΠΠΎΠΌΠ½ΠΈΡΠ΅ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠ»ΡΡ «-p«? Π£ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git stash ΠΎΠ½ ΡΠΎΠΆΠ΅ Π΅ΡΡΡ, ΠΈ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΆΠ΅, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, Π΄ΠΎΠ³Π°Π΄Π°Π»ΠΈΡΡ, ΡΡΠΎΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Git ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π²Π°ΠΌ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ»ΠΎΠΆΠΈΡΡ.
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π½Π°ΠΆΠ°ΡΡ «?«, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΎΠΏΡΠΈΠΉ.
ΠΡΡΡ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠ»ΠΎΠΆΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ:
- Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git add Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: git add file1.js, file2.js)
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ git stash —keep-index, ΠΈ Git ΠΎΡΠ»ΠΎΠΆΠΈΡ ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ git reset ΡΡΠΎΠ±Ρ ΡΠ±ΡΠΎΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΡ
16. Π₯ΠΎΡΠΎΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΠΎ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°ΡΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ°ΡΡΡ Β«ΠΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΒ».
ΠΠ΄Π΅ΡΡ ΠΆΠ΅ Ρ Ρ ΠΎΡΡ ΠΎΡΠΎΠ±ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ ΠΎΠ΄Π½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ: Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅: Β«ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ {{ ΡΠ΅ΠΊΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ }}Β». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
- ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ» readme
- ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π²ΡΠ·ΠΎΠ²Π° GET /user/:id API
- ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ 12345
17. ΠΠ²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Git
ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ubuntu), Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π»Ρ Git Π² ΡΠ΅Π»Π»Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ (Π° Π² Mac OS X ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ), Π²Ρ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
18. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π»ΠΈΠ°ΡΠΎΠ² Π΄Π»Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄
TL;DR: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°Π»ΠΈΠ°ΡΡ Git ΠΈΠ»ΠΈ bash Π΄Π»Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Git.
ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Git ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ. Π Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠ²ΠΎΠΈΡΡΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ β ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π΄Π΅Π»Π°ΡΡ Π²ΡΡ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΎΠ±ΡΡΠΌΠ΅ (Π½Π°Π±ΠΈΡΠ°ΡΡ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ). ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π°Π»ΠΈΠ°ΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Git ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π°Π»ΠΈΠ°ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git config --global alias.l "log --oneline --graph"
ΠΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ Π½ΠΎΠ²ΡΠΉ Π°Π»ΠΈΠ°Ρ Π΄Π»Ρ Git Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «l«, ΠΈ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ Π½Π°Π±ΠΈΡΠ°ΡΡ git l Π²ΠΌΠ΅ΡΡΠΎ git log —oneline —graph.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΊ Π°Π»ΠΈΠ°ΡΠ°ΠΌ Git ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, git l —author=»Alex»).
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π°Π»ΠΈΠ°ΡΠ°ΠΌ Π³ΠΈΡΠ° β ΡΡΠ°ΡΡΠ΅ Π΄ΠΎΠ±ΡΡΠ΅ Π°Π»ΠΈΠ°ΡΡ Bash. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΌΠΎΡΠΌ ΠΊΠΎΠ½ΡΠΈΠ³Π΅ .bashrc Π΅ΡΡΡ ΡΠ°ΠΊΠ°Ρ ΡΡΡΠΎΠΊΠ°: alias gil=»git log -online -graph», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠ½Π΅ ΠΏΠΈΡΠ°ΡΡ gil Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΈ ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π° ΡΠ΅Π»ΡΡ Π΄Π²Π° ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ git l :).
19. ΠΡΡΡΡΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠ»ΠΎΡ ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git bisect
ΠΠΎΠΌΠ°Π½Π΄Π° git bisect ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏ Β«ΡΠ°Π·Π΄Π΅Π»ΡΠΉ ΠΈ Π²Π»Π°ΡΡΠ²ΡΠΉΒ» Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠ»ΠΎΡ ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ Π²Π΅ΡΠ½ΡΠ»ΠΈΡΡ ΠΈΠ· ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠΏΡΡΠΊΠ°. ΠΡ Π·Π°Π±ΠΈΡΠ°Π΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ· ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ° ΡΠΈΡΠ°, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ°ΠΌΡΠΌ ΠΎΡΠΏΡΡΠΊΠΎΠΌ, ΡΠ΅ΠΏΠ΅ΡΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠΉ Π²Π°ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡ β ΡΠ°ΠΌ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ΄Π½Π°ΠΊΠΎ Π·Π° Π²ΡΠ΅ΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΎΡΠΏΡΡΠΊΠ° Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΠΎΡΠ½ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΠΏΠ»ΠΎΡ ΠΈΠΌ ΠΈ ΡΠ»ΠΎΠΌΠ°Π» Π²Π°ΡΡ ΡΠΈΡΡ.
ΠΠ°Π²Π΅ΡΠ½ΡΠΊΠ° Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΡΠ°ΡΡΡΡ Π½Π°ΠΉΡΠΈ Π±Π°Π³, ΠΏΠΎΠ»ΠΎΠΌΠ°Π²ΡΠΈΠΉ Π²Π°ΡΡ ΡΠΈΡΡ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git blame Π½Π° Π·Π»ΠΎΠΏΠΎΠ»ΡΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π½Π°ΠΉΡΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ²ΠΈΡΡ ΠΏΡΠ΅ΡΠ΅Π½Π·ΠΈΡ. ΠΠΎ Π΅ΡΠ»ΠΈ Π±Π°Π³ ΡΡΡΠ΄Π½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΈΠ·ΡΡΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π² Π½Π°Π΄Π΅ΠΆΠ΄Π΅ ΠΎΡΡΡΠΊΠ°ΡΡ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠΎΡ Π²ΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠ³ΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git bisect. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π½Π°ΠΉΡΠΈ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠ΅ ΡΡΠΎΠΊΠΈ.
Π’Π°ΠΊ ΡΡΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ git bisect?
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ (Β«ΠΏΠ»ΠΎΡ ΠΎΠΉΒ» ΠΊΠΎΠΌΠΌΠΈΡ) ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ (Β«Ρ ΠΎΡΠΎΡΠΈΠΉΒ» ΠΊΠΎΠΌΠΌΠΈΡ), git bisect ΡΠ°Π·Π΄Π΅Π»ΠΈΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡ Π² Π½ΠΎΠ²ΡΡ (Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΡ) Π²Π΅ΡΠΊΡ Π½Π° ΡΡΠΎΠΌ ΡΡΠ΅Π΄ΠΈΠ½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ Π² Π½ΡΠΌ Π²Π°ΡΠ° ΡΠΈΡΠ°.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π² ΡΡΠΎΠΌ Β«ΡΡΠ΅Π΄ΠΈΠ½Π½ΡΠΉΒ» ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π’ΠΎΠ³Π΄Π° Π²Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ Π³ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git bisect good ΠΈ Ρ Π²Π°Ρ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΎΠ³ΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ, ΠΏΠΎΠ»ΠΎΠΌΠ°Π²ΡΠ΅Π³ΠΎ Π²ΡΡ.
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git ΡΠ°Π·Π΄Π΅Π»ΠΈΡ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ ΠΈ ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡ Π² Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΡ Π²Π΅ΡΠΊΡ Π½Π° Π½ΠΎΠ²ΠΎΠΌ ΡΡΠ΅Π΄ΠΈΠ½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ² Π²Π°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΠΈ. Π ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅ ΡΠΎΡ ΡΠ°ΠΌΡΠΉ Β«ΠΏΠ»ΠΎΡ ΠΎΠΉΒ» ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ, ΡΡΠΎ Π²Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π΄Π΅Π»ΠΈΡΠ΅ Π³ΡΡΠΏΠΏΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ, Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ log(n) ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ (ΡΠΌ. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°).
Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π²Π°ΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ git bisect:
- git bisect start β Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ
- git bisect good {{some-commit-hash}} β ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ ΠΊΠ°ΠΊ Ρ ΠΎΡΠΎΡΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠΉ Π²Π°ΠΌΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΠΏΡΡΠΊΠΎΠΌ)
- git bisect bad {{some-commit-hash}} β ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, HEAD Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, HEAD ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ)
- Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Git Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΡΠ΅Π΄ΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Π²Π°ΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ
- git bisect bad β ΡΠΎΠΎΠ±ΡΠ°Π΅ΠΌ Git ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½Π°ΡΠ° ΡΠΈΡΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠΎΠΌ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ΅
- git bisect good β ΡΠΎΠΎΠ±ΡΠ°Π΅ΠΌ Git ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½Π°ΡΠ° ΡΠΈΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠΎΠΌ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ΅
- ΠΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΉΠ΄Π΅Π½, Git ΡΠΎΠΎΠ±ΡΠΈΡ Π²Π°ΠΌ ΠΎΠ± ΡΡΠΎΠΌ, ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ git bisect Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ
- git bisect reset β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° git bisect (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊ HEAD Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ)
- git bisect log β ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ git bisect
ΠΠ°Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΡΠΈΠΏΡΠ°.
ΠΠ΅ΡΠ΅Π²ΡΠ» Dreadatour, ΡΠ΅ΠΊΡΡ ΡΠΈΡΠ°Π» %username%.
ΠΠΎΠΌΠΌΠΈΡΡ, ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. Π£ΡΠΎΠΊ 4
Π£ΡΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΡΠ·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΈΠ· ΡΠ΅Π³ΠΎ ΠΎΠ½ ΡΠΎΡΡΠΎΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡΡΠΎΡΠΈΡ ΠΈ Π½Π°ΡΡΠΈΠΌΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² git
ΠΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊ. Π§Π°ΡΡΡ 1. ΠΡΠ°ΠΊΡΠΈΠΊΠ°, ΠΎΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ ΠΈ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊ. Π§Π°ΡΡΡ 2. ΠΡΠ°ΠΊΡΠΈΠΊΠ°, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ ΠΈ ΡΠΈΡΠΊΠΈ
ΠΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊ. Π§Π°ΡΡΡ 3. ΠΠ±ΡΠΈΠ΅ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠ²Π΅ΡΡ. ΠΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ «Ρ ΠΎΡΠΎΡΠΈΠ΅» ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΠΎΠ½ΡΠΏΠ΅ΠΊΡ ΡΡΠΎΠΊΠ°
ΠΡΠ°ΡΠΊΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠΎΠΊΠ°, ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΡΠΎΠ²Π΅ΡΡ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ
ΠΠΎ-Π½Π°ΡΡΠ½ΠΎΠΌΡ ΡΡΠΎ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΡΠ»Π΅ΠΏΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
Π§ΡΡΡ ΠΌΠ΅Π½Π΅Π΅ Π½Π°ΡΡΠ½ΠΎ, ΠΊΠΎΠΌΠΌΠΈΡ — Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ ΠΈ ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π½ΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π±Π»ΠΎΠΊ ΡΡΠ΅Π½ΠΈΠΊΠΎΠ² Π½Π° ΡΠ°ΠΉΡ. ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ Π² index.html ΠΈ Π½ΠΎΠ²ΡΠ΅ ΡΡΠΈΠ»ΠΈ Π² main.css. Π§ΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½ΡΠΆΠ½ΠΎ ΠΈΡ
Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ.
ΠΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠΈΡΡ git, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΉΠ»Ρ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π² ΠΊΠΎΠΌΠΌΠΈΡ. ΠΠΎΠΌΠ°Π½Π΄Π° git add Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ (ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅Ρ) ΡΠ°ΠΉΠ»Ρ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ.
ΠΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ, Π²ΠΎΡ ΡΠ°ΠΊ
$ git add index.html
$ git add css/main.css
Π ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΅ ΡΡΠ°Π·Ρ
$ git add .
ΠΠΎΠ±Π°Π²Π»ΡΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΡΠ°Π·Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π½ΠΎ ΡΡΠΎΠΈΡ Π²ΡΠ΅Π³Π΄Π° Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΡΠΎΡΠ½ΠΎ Π»ΠΈ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΊΠΎΠΌΠΌΠΈΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΡΠ»ΠΈ ΠΎΡΠΈΠ±Π»ΠΈΡΡ ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ°ΠΉΠ» Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² ΠΊΠΎΠΌΠΌΠΈΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» ΠΈΠ· ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ
.
$ git reset css/main.css
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ
$ git commit -m 'Added block students'
Π€Π»Π°Π³ -m Π·Π°Π΄Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° (commit message). ΠΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π² Π½Π΅ΠΌ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ.
Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² git. ΠΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
ΠΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ — ΡΡΠΎ ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΡΠΏΠ΅Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ
ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ «ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Ρ» ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠΎ Π΅ΡΡΡ Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
git add filename Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ» ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ.
git reset filename ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ» ΠΈΠ· ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ
ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ. ΠΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ ΠΈ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ
, ΠΈ Π² ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ
.
ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ», Π½ΠΎ Π½Π΅ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΠ»ΠΈ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ»ΠΈ Π΄Π΅Π»Π°ΡΡ Π² Π½Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ.
ΠΠ· ΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡ
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈΠΌΠ΅Π΅Ρ
ΠΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
$ git commit -a -m 'Commit message'
git commit Ρ ΡΠ»Π°Π³ΠΎΠΌ -a Π΄ΠΎΠ±Π°Π²ΠΈΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΠΎ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ, Π½Π΅ ΡΠ²Π»Π΅ΠΊΠ°ΠΉΡΠ΅ΡΡ ΡΡΠΈΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎ ΠΎΡΠΈΠ±ΠΊΠ΅ Π»Π΅Π³ΠΊΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΊΠΎΠΌΠΌΠΈΡ Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΈ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ — ΡΡΠΎ ΡΠ΅, Π² ΠΊΠΎΡΠΎΡΡΡ
git ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΡ
ΡΠ΅ΡΠ΅Π· git status ΠΈ git diff. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΠ°ΠΉΠ»Ρ index.html ΠΈ css/main.css — ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅.
ΠΠ΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ — ΡΡΠΎ ΡΠ°ΠΉΠ»Ρ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΡΠΎΡΡΡ
git Π½Π΅ ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°Π΅Ρ. ΠΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅.
ΠΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π² ΡΠ°Π±ΠΎΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ git ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git add filename
ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², git log
ΠΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΡΡΠΎΡΠΈΡ Ρ
ΡΠ°Π½ΠΈΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ
ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
$ git log
ΠΡΡΠΎΡΠΈΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π²ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ
: Ρ
ΡΡ, Π°Π²ΡΠΎΡ, Π΄Π°ΡΠ° ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git show ΠΏΠΎ Ρ
ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°
$ git show hash_commit
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, git commit —amend
ΠΡΠ»ΠΈ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ, Π½ΠΎ Ρ
ΠΎΡΠΈΠΌ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ commit message
$ git commit --amend -m 'New commit message'
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΡΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΎΠΏΠ°ΡΠ½Π°Ρ.
ΠΡΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ Π΅Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ (push ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· ΡΡΠΎΠΊ)
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ ΡΡΠΏΠ΅Π»ΠΈ Π·Π°ΠΏΡΡΠΈΡΡ, ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ — Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΡΡΡΠ°.
ΠΡΠΊΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², git revert
ΠΡΠ»ΠΈ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π½Π΅Π²Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈ Ρ
ΠΎΡΠΈΠΌ ΠΎΡΠΊΠ°ΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² Π½Π΅ΠΌ, ΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git revert
$ git revert hash_commit
ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΠ»ΠΆΠΈΡ Π²Π²Π΅ΡΡΠΈ commit message.
ΠΡΠ»ΠΈ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΠΎΡΡΠ°Π²ΠΈΡΡ commit message ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π°ΠΆΠΊΠ° —no-edit
$ git revert --no-edit hash_commit
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π½ΡΠΆΠ½ΠΎ ΡΡΠ΅ΡΡΡ, ΡΡΠΎ Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ git ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π² Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅.
ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΡΠΎΠΈΡ ΡΠ½Π°ΡΠ°Π»Π° Π΅Π³ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ, Π° ΠΏΠΎΡΠΎΠΌ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ΅ΡΠ΅Π· git diff
ΠΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π° Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ mv git ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ 2 ΡΠ°ΠΉΠ»Π°: ΡΡΠ°ΡΡΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΈ Π½ΠΎΠ²ΡΠΉ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ.
Π§ΡΠΎΠ±Ρ git ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΡΡΠΎΡ ΡΠ°ΠΉΠ» ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ, Π½ΡΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ Π² ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ
$ git add .
Π’ΠΎΠ³Π΄Π° ΠΏΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git status ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ
ΠΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ
$ git mv about.html company.html
Π’ΠΎΠ³Π΄Π° ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π·Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ. Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π°
$ git rm about.html
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° vs IDE
Π Π°Π±ΠΎΡΠ° Π² PhpStorm ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½Π° Π² ΠΏΠ΅ΡΠ²ΡΡ
Π΄Π²ΡΡ
ΡΠ°ΡΡΡΡ
Π²ΠΈΠ΄Π΅ΠΎ.
ΠΠ°ΠΊ ΠΈ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅ΡΠΈ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π΄Π΅Π»Π°ΡΡ Π² IDE. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² (git add) Π² PhpStorm ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΏΠΎΡΡΠΈ Π½Π΅ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°Π΅Ρ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ.
ΠΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ git add ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½. Π ΡΡΠΎ Π»ΡΠ±Π°Ρ IDE ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git.
ΠΡΠΎΡΡΠΎ Π΄Π»Ρ Π½Π°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠ΄ΠΎΠ±Π½Π°Ρ ΠΎΠ±Π΅ΡΡΠΊΠ°, ΡΡΠΎΠ±Ρ ΠΌΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠ»ΠΈΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π° Π½Π΅ Π½Π° git.
ΠΠ°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠ²Π΅ΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ
Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠ²ΠΎΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎ Ρ ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΎΠ±ΡΠΈΠ΅ ΡΠΎΠ²Π΅ΡΡ ΠΈ ΡΠ°Π·ΠΌΡΡΠ»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅
- ΠΊΠΎΠΌΠΌΠΈΡ — ΡΡΠΎ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»
- Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ, ΡΡΠΎ Π² Π½Π΅Π³ΠΎ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ. git diff — Π½Π°Ρ Π»ΡΡΡΠΈΠΉ Π΄ΡΡΠ³
- Π²ΡΠ΄Π΅Π»ΡΠΉΡΠ΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ Π±Π°Π³ΠΈ ΠΈ ΠΏΡΠ°Π²ΠΊΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ
- ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ — ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ
- Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ — ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ°Π·Π±ΠΈΡΡ ΠΈΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ
- ΠΌΡΡΠ»ΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠ΅ΠΉ, Π° Π½Π΅ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. ΠΡΠ΄Π΅Π»ΡΠΉΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°
- commit message Π³ΠΎΠ²ΠΎΡΠΈΡ, Π§Π’Π Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ, Π° Π½Π΅ ΠΠΠ Π΄Π΅Π»Π°Π΅Ρ
- ΠΊΠΎΠΌΠΌΠΈΡ-ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ — ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ. ΠΠ΅ ΡΡΠΎΠΈΡ ΠΌΠ΅ΡΠ°ΡΡ Π΅Π³ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ
- git ΠΏΠ»ΠΎΡ ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠ°ΠΌΠΈ (ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°ΠΌΠΈ, pdf, Π²ΠΈΠ΄Π΅ΠΎΡΠ°ΠΉΠ»Π°ΠΌΠΈ) — Π²ΠΈΠ΄ΠΈΡ ΡΠ°ΠΊΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½ΠΎ Π½Π΅ ΡΠ°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
- ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΡΠ΅ ΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠ±Π»ΡΡΡΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΡΡΠ΄Π½ΠΎ. ΠΡΠΎ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡ Ρ ΠΎΠΏΡΡΠΎΠΌ, Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ — ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° Π·Π΄ΡΠ°Π²ΡΠΉ ΡΠΌΡΡΠ».
Π£ΠΌΠ΅Π½ΠΈΠ΅ Ρ
ΠΎΡΠΎΡΠΎ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ² Ρ
ΠΎΡΠΎΡΠ΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π² IDE, Π½ΠΎ Π½Π΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ. Π Π½Π΅ΠΉ Π²Ρ Π»ΡΡΡΠ΅ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½ git, ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
Π₯ΠΎΡΠΎΡΠΈΠ΅ ΠΈ ΠΏΠ»ΠΎΡ ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ git ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π΅ Π±ΡΠ²Π°ΡΡ ΠΏΠ»ΠΎΡ
ΠΈΠΌΠΈ ΠΈ Ρ
ΠΎΡΠΎΡΠΈΠΌΠΈ. ΠΠΎ Π΅ΡΡΡ ΡΠ΄Π°ΡΠ½ΡΠ΅ ΠΈ Π½Π΅ΡΠ΄Π°ΡΠ½ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π½Π°ΡΠΈΡ
ΠΊΠΎΠ»Π»Π΅Π³. ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²
ΠΠ·ΠΌΠ΅Π½Π΅Π½ ΡΠ°ΠΉΠ» index.html
ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π±Π»ΠΎΠΊ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ, Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ — ΡΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Π° Π·Π°Π΄Π°ΡΠ°
ΠΠ·ΠΌΠ΅Π½Π΅Π½Ρ ΡΡΠΈΠ»ΠΈ Π±Π°Π½Π½Π΅ΡΠ°
Π Π°ΡΡΡΠ½ΡΠ»ΠΈ Π±Π°Π½Π½Π΅Ρ Π½Π° Π²ΡΡ ΡΠΈΡΠΈΠ½Ρ ΠΎΠΊΠ½Π°
ΠΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ
ΡΡΠΈΠ»Π΅ΠΉ Π±Π°Π½Π½Π΅ΡΠ°, Π²ΡΠΎΡΠΎΠΉ — ΡΠΎΡΠ½ΠΎ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ. ΠΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ°ΠΉΠ» VipClient
Π Π°Π±ΠΎΡΠ° Ρ vip-ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ Π²ΡΠ½Π΅ΡΠ΅Π½Π° Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ
ΠΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ Π² VipClient ΠΌΡ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ ΠΠΠΠ°ΠΌΠΈ. ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ ΡΡΠΎ ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΏΠ»ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΡΠΎ ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ.
ΠΠΎΠΏΡΠ°Π²Π»Π΅Π½Ρ ΡΡΠΈΠ»ΠΈ Π² main.css
Π Π΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΡΡΠΈΠ»Π΅ΠΉ Π² main.css
ΠΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΠΏΡΠ°Π²ΠΊΠ΅ ΡΡΠΈΠ»Π΅ΠΉ, Π½ΠΎ Π½Π΅ΠΏΠΎΡΠ½ΡΠ½ΠΎ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠΏΡΠ°Π²Π»Π΅Π½ΠΎ. ΠΠ°Π³Π°? ΠΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ? ΠΠ·ΠΌΠ΅Π½Π΅Π½ ΡΠ²Π΅Ρ ΡΠ΅ΠΊΡΡΠ° ΠΏΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ°?
ΠΡΠΎΡΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΡΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΡΠΎ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³
ΠΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΡΠΈΠΊΡ
ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠ° Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ title ΡΡΡΠ°Π½ΠΈΡΡ «Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ»
ΠΠΎΠΌΠΌΠΈΡ «ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΡΠΈΠΊΡ» Π΄Π°ΠΆΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡ, Π² ΡΠ΅ΠΌ ΠΎΠ½ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ. ΠΡΠΎΡΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π΄Π°Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ ΡΠΈΠ»ΠΎΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ Π΅ΡΠ»ΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΡΠΎ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ ΠΊ Π½Π΅ΠΉ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ. Π‘ git Π½Π°ΠΌ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅.
ΠΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π΄Π°ΡΠΈ, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ. ΠΠ΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π΄Π°ΡΠΈ, ΡΠΎ Π΅ΡΡΡ ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡ ΠΈΡ
Π½Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°ΡΡΠΈ.
ΠΡ Π±ΠΎΠ»ΡΡΠ΅ Π΄ΡΠΌΠ°Π΅ΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π½Π΅ ΠΎΠ΄Π½ΠΈ, Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅. ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΎΠ±ΡΠ°Ρ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π§Π΅ΠΌ Π»ΡΡΡΠ΅ ΠΌΡ Π½Π°ΡΡΠΈΠΌΡΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ΅ΠΌ Π»Π΅Π³ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ Π½Π°ΠΌ ΡΠ°ΠΌΠΈΠΌ ΠΈ Π½Π°ΡΠΈΠΌ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ.
Π Π»ΡΠ±ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π²Π°ΠΆΠ½Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ΄ ΠΈ Π΅Π³ΠΎ ΡΡΡΡΠΊΡΡΡΠ°, Π½ΠΎ ΠΈ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ Ρ
ΠΎΡΠΎΡΠΈΠ΅ commit message.
ΠΠ° ΡΡΠΎΠΌ Π²ΡΠ΅. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ Π΄ΠΎ Π²ΡΡΡΠ΅ΡΠΈ!
ΠΡΠ΅ ΡΡΠΎΠΊΠΈ ΠΊΡΡΡΠ°
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ…
ΠΠΎΠΌΠ°Π½Π΄Π° Git diff. ΠΠ°ΠΊ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Git
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΒ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ
ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²Β ΡΠ°ΠΉΠ»Π°Ρ ΠΏΠΎΒ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΒ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ git diff Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
git diff
ΠΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Β ΡΠ°ΠΉΠ»Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΠ΅ Π½Π΅Β Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π²Β ΠΈΠ½Π΄Π΅ΠΊΡ. Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΒ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΒ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΠΉΠ»Ρ Π²Β ΠΈΠ½Π΄Π΅ΠΊΡΠ΅
ΠΡΠ»ΠΈ Π²ΡΒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ°ΠΉΠ»Ρ Π²Β Π²Π°ΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΈΒ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·Β Π½ΠΈΡ Π²Β ΠΈΠ½Π΄Π΅ΠΊΡ (ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ git add), ΡΠΎΒ ΠΊΠΎΠΌΠ°Π½Π΄Π° git diff Π½Π΅Β ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Β ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ . Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Β ΡΠ°ΠΉΠ»Π°Ρ , Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΠΉΠ»Ρ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ Π²Β ΠΈΠ½Π΄Π΅ΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡ —cached:
git diff --cached
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΠΎΠΌΠ°Π½Π΄Π° git diff ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ Π΄Π²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°. Π‘Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Ρ Π΅Ρ (ID) ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ. ΠΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git log, ΡΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΒ ΠΈΡ Β ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ:
git log --oneline
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠ°Π²Π½ΠΈΠΌ Π΄Π²Π° ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Β ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git diff ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Ρ Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π°Β Π²ΡΠΎΡΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ Ρ Π΅Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
git diff 4612297 5e356cf
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ Π²Π΅ΡΠΎΠΊ
ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π²ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ½ΡΠ°ΠΌΠΈ Π΄Π²ΡΡ Π²Π΅ΡΠΎΠΊ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ git diff ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΠ΅Π½Π° Π²Π΅ΡΠΎΠΊ:
git diff branch2 branch3
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π²Π΅ΡΠΊΠ°ΠΌΠΈ
Π§ΡΠΎΠ±Ρ ΡΡΠ°Π²Π½ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π²Π΅ΡΠΊΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°:
git diff branch2 branch3 ./myfile.cpp
ΠΠΌΠ΅ΡΡΠΎ branch2, branch3 Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ, Π°Β Π²ΠΌΠ΅ΡΡΠΎ myfile.cpp ΠΏΡΡΡ Π΄ΠΎΒ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. Π§Π΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π» ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ.
ΠΡΠΊΠ»ΡΡΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ·Β ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ
ΠΠ½ΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ git diff, Π½ΠΎΒ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git diff ΠΈΡ Β ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π»Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π°ΠΏΠΈΡΡ Π²ΠΈΠ΄Π° β:(exclude)ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°β ΠΈΠ»ΠΈ ΠΊΠΎΡΠΎΡΠΊΠ°Ρ Π·Π°ΠΏΠΈΡΡ β:!ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°β
ΠΡΠΈΠΌΠ΅Ρ:
git diff -- . ':(exclude)file1.abc' ':(exclude)file2.abc'
ΠΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠ°Ρ Π·Π°ΠΏΠΈΡΡ:
git diff -- . ':!file1.abc' ':!file2.abc'
Π‘ΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Β ΡΠ°ΠΉΠ»Π°Ρ (ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΈΒ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ)
Π§ΡΠΎΠ±Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ·Β ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΠ΅ ΠΈΒ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠΏΡΠΈΠ΅ΠΉ —diff-filter, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (ΡΠ°ΠΉΠ»Ρ) Π½ΡΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ.
Π§ΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² (ΠΈΠ³Π½ΠΎΡΠΈΡΡΡ Π½ΠΎΠ²ΡΠ΅, ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡ Modified (M)Β β —diff-filter=M:
git diff --diff-filter=M
Git Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ / Π₯Π°Π±Ρ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° Pro Git, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π³ΠΈΡΠ°. ΠΠΎ ΠΏΠΎΡΠ»Π΅ Π΅Π΅ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Π² Git, ΠΊΠΎΠ³Π΄Π° ΠΈΡ Π·Π°Π²ΠΎΠ΄ΠΈΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΆΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. ΠΠΎΡΠΎΠΉ ΠΌΠ½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈΡΡ ΠΎΡΠ΅Π½Ρ Β«ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠ΅Β» ΠΈ Π½Π΅ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π½ΠΎ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½Π½ΡΠ΅ ΡΡ Π΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ Π³ΠΈΡΠΎΠΌ. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π² ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΡΠΆΠ΅ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»Π°ΡΡ ΡΡ Π΅ΠΌΠ° ΡΠ°Π±ΠΎΡΡ Ρ Π³ΠΈΡΠΎΠΌ ΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Π² Π½Π΅ΠΌ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ Ρ ΠΎΡΡ Π΄Π°ΡΡ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Git, ΠΈ ΠΎΠΏΠΈΡΠ°ΡΡ Β«ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΡΡΒ» ΡΡ Π΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ. ΠΠ½ΠΎΠ³ΠΎΠ΅ ΠΈΠ· ΡΠΎΠ³ΠΎ ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ ΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ.
ΠΡΠ° ΡΡΠ°ΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π° Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΎΡΠ²Π°ΠΈΠ²Π°ΡΡ Git, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΡΡ-ΡΠΎ Π΄ΡΡΠ³ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ. ΠΠ»Ρ ΠΎΠΏΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ Π±Π°Π½Π°Π»ΡΠ½ΠΎΠΉ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Ρ ΡΠ΅ΠΌ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π²Π΅ΡΠΊΠ° ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠΎΠΌΠΌΠΈΡ
ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡ ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π² Π»ΡΠ±ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ. Π Π½Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π½ΠΎΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π Git ΠΊΠΎΠΌΠΌΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ»Ρ ΠΏΡΠΎΡΡΠΎΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΡΠΎ ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
Π£ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π΅ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π°ΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π°Π²ΡΠΎΡ, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ Ρ.ΠΏ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π½ΠΎΡΠΈΡ ΡΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΊΠΎΠ΄, ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΡΠ΅ΡΠ°Π΅Ρ.
Git ΡΡΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ΡΡΡ ΡΠ²ΠΎΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ β.gitβ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Git. ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ Git, ΠΎΠ½ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΎΠΉ.
ΠΠ°Π²Π΅ΡΡΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
git init
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Ρ Π²Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΡΡΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² ΡΠ²ΠΎΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΡΠ°ΠΊ:
git clone <url ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ>
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ .git Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΠΊΠΎΠ΄.
- Π Π°Π±ΠΎΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ β ΡΡΠΎ ΡΠ°ΠΉΠ»Ρ Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠΎΡ ΠΊΠΎΠ΄ Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅.
- ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ β ΠΎΠ½Π° ΠΆΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ β.gitβ. Π Π½Π΅ΠΉ Ρ ΡΠ°Π½ΡΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
- Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ β ΡΠΎΡ ΡΠ°ΠΌΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΎΠ±ΡΠΈΠΌ, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΡΡΠΎ Π±Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡ ΡΠ²ΠΈΠ΄Π΅ΡΡ. Π£Π΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, Π½ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ½ Π±ΡΠ²Π°Π΅Ρ ΠΎΠ΄ΠΈΠ½.
- ΠΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΠΎΠ±Π»Π°ΡΡΡ, Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ±ΡΡΠ½ΠΎ Π±ΡΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠΎ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (staging area). ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠΌΠΈΡ, Π½ΡΠΆΠ½ΠΎ Π²Π½Π°ΡΠ°Π»Π΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΡΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ. Π ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ², Π½ΠΎ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π½Π΅ Π²ΡΠ΅ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π ΡΠ΅Π»ΠΎΠΌ ΡΠ°Π±ΠΎΡΠ° Ρ Π³ΠΈΡΠΎΠΌ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ: Π²Ρ ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² staging area ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git add <ΠΈΠΌΡ/ΡΠ°ΠΉΠ»Π°>
ΠΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΠΊΠΈ ΡΠΎ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΎΠΉ.
ΠΠΎΡΠΎΠΌ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΡΠ²ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
git commit βm βΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡβ
ΠΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π½Π°ΠΊΠΎΠΏΠΈΡΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ, Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git push
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΡ ΠΎΠ΄ΡΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git pull
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, Π² Π²Π°ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΠΎΡΠ²ΡΡΡΡ ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ.
ΠΠΎΠ΄ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ . Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π΅ΡΡΡ ΡΠ²ΠΎΠ΅ ΠΈΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Ρ Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ sha-1 ΠΎΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git log
Π€ΠΎΡΠΌΠ°Ρ ΠΎΡΠ²Π΅ΡΠ° ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎ Π΄Π΅ΡΠΎΠ»ΡΡ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π΅Π½. ΠΠΎΡ ΡΠ°ΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ²Π΅Π΄Π΅Ρ ΠΎΡΠ²Π΅Ρ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΠΎΠΌ Π²ΠΈΠ΄Π΅
git log --pretty=format:"%H [%cd]: %an - %s" --graph --date=format:%c
Π§ΡΠΎ Π±Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ»Π°Π²ΠΈΡΡ q
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈ staging area ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
git status
Π Π°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git checkout <hash ΠΊΠΎΠΌΠΌΠΈΡΠ°>
Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ git status ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΈ Π½Π΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ½Π°ΡΠ΅ Git Π½Π΅ ΠΏΠΎΠΉΠΌΠ΅Ρ, ΠΊΠ°ΠΊ Π΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ. git status ΠΏΠΎΠ΄ΡΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ ΡΡΠΎ Π±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ. ΠΡΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΈ ΠΏΡΠΈ Π²ΡΡΠΊΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ.
ΠΠ΅ΡΠΊΠ°
ΠΠ΅ΡΠΊΠ° Π² Git ΡΡΠΎ ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ±ΡΡΠ½ΠΎ Π²Π΅ΡΠΊΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ΅ΡΠΊΠ° Π±Π΅ΡΠ΅Ρ ΡΠ²ΠΎΠ΅ Π½Π°ΡΠ°Π»ΠΎ ΠΎΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π²ΠΎΡ ΡΠ°ΠΊ.
Π‘Π΄Π΅Π»Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git pull
git checkout βb <ΠΈΠΌΡ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ>
ΠΡΠΎΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²Π΅ΡΠΊΡ, Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡ Π½Π° Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
git branch <ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ>
ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π²Π΅ΡΠΊΡ
git checkout <ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ>
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π²Π΅ΡΠΊΠ° Π±Π΅ΡΠ΅Ρ ΡΠ²ΠΎΠ΅ Π½Π°ΡΠ°Π»ΠΎ Π½Π΅ ΠΎΡ Π²Π΅ΡΠΊΠΈ, Π° ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ.
ΠΠ΅ΡΠΊΠ° ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ merge ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ Π²Π΅ΡΠΊΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Ρ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ. Π merge ΠΊΠΎΠΌΠΌΠΈΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π΄Π²Π΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π΄Π²Π° ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π² ΠΎΠ΄Π½Ρ Π²Π΅ΡΠΊΡ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄ΡΡΠ³Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ Π²Π΅ΡΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ merge ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ Π±Π΅Π· merge commit. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π΅ΡΠΎΠΊ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² merge commit Ρ Π΄Π²ΡΠΌΡ ΠΏΡΠ΅Π΄ΠΊΠ°ΠΌΠΈ ΠΎΡΠΏΠ°Π΄Π°Π΅Ρ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π²Π΅ΡΠΎΠΊ, Git ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΠΊΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π΄Π°Π»ΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΠ΄ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠΎΠΉ Π²Π΅ΡΠΊΠΈ Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ° Π²Π΅ΡΠΊΠ° Π±ΡΠ»Π° ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π°. Π’Π°ΠΊΠ°Ρ ΡΡ Π΅ΠΌΠ° merge Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅-ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° (fast-forward merge), Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π²ΠΎΡ ΡΠ°ΠΊ.
ΠΠΎ Π²ΡΠ΅Ρ
ΡΡΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
, ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Π΅ΡΠΊΠ° ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ, Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² Π½Π΅ΠΉ, ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π² Π²Π΅ΡΠΊΡ Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½Π° Π±ΡΠ»Π° ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π°. Π’Π°ΠΊ ΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ merge ΡΡΠΎ Π½Π΅ Π΄Π²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ. ΠΡΠ»ΠΈ ΡΠΌΠ΅ΡΠΆΠΈΡΡ Π²Π΅ΡΠΊΡ Π·Π°Π΄Π°ΡΠΈ Π² ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΡ, ΡΠΎ Π² ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΠ΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ
ΠΎΠ΄ΠΈΠ»ΡΡ Π² Π²Π΅ΡΠΊΠ΅ Π·Π°Π΄Π°ΡΠΈ, Π° Π² Π²Π΅ΡΠΊΠ΅ Π·Π°Π΄Π°ΡΠΈ Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ ΠΈΠ· ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΠΈ. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΡΠΎ Π±Ρ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, Π½ΡΠΆΠ½ΠΎ ΡΠΌΠ΅ΡΠΆΠΈΡΡ ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΡ Π² Π²Π΅ΡΠΊΡ Π·Π°Π΄Π°ΡΠΈ.
Π§ΡΠΎ Π±Ρ ΡΠΌΠ΅ΡΠΆΠΈΡΡ ΠΎΠ΄Π½Ρ Π²Π΅ΡΠΊΡ Π² Π΄ΡΡΠ³ΡΡ Π½ΡΠΆΠ½ΠΎ Π²Π½Π°ΡΠ°Π»Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΡΡ Π²Π΅ΡΠΊΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΌΠ΅ΡΠΆΠΈΡΡ
git checkout <ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ>
ΠΠΎΡΠΎΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ²
git pull
ΠΠ°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git merge <ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ>
Π’Π°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°Π±ΠΎΡΠ° Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Π² ΠΎΠ±ΡΠΈΡ ΡΠ΅ΡΡΠ°Ρ .
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π·Π°Π²ΠΎΠ΄ΠΈΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ git pull. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ.
- ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠ³ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π²Π½Π΅ΡΡΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π·Π°Π²ΠΎΠ΄ΠΈΡΠ΅ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ. ΠΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ²ΠΎΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ.
- ΠΠ·-Π·Π° ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΠΏΡΠΈ ΠΌΠ΅ΡΠΆΠ΅.
- ΠΠΎΠ»ΡΡΠ΅ ΡΠ°Π½Ρ ΡΡΠΎ Ρ Π²Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ merge commit. ΠΡΠΎ Π½Π΅ ΡΠ°ΠΊ ΠΏΠ»ΠΎΡ ΠΎ, ΠΊΠ°ΠΊ Π΄Π²Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΏΡΠ½ΠΊΡΠ°. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π»ΠΈΡΠ½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΡΠΎ ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°ΡΡ?
ΠΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΡ Π΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Π² Git
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΡ Π΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Π² Π³ΠΈΡΠ΅.
ΠΠ΅ΡΠΊΠΈ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΌΠΎΠ³Π»ΠΈ Π²Π΅ΡΡΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΈ Π½Π΅ ΠΌΠ΅ΡΠ°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ. ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Git ΡΠΎΠ·Π΄Π°Π΅Ρ Π±Π°Π·ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ. ΠΠ½Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ master Π²Π΅ΡΠΊΠΎΠΉ. ΠΠ½Π° ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ, Ρ.Π΅. Π² Π½Π΅ΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡ Π΅ΠΌΠ° ΡΠ°Π±ΠΎΡΡ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ
ΠΠ±ΡΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π²Π·ΡΡΡΡΡ Π·Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π·Π°Π΄Π°ΡΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π·Π°Π²ΠΎΠ΄ΠΈΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΠΈ ΠΈ ΡΠ΅ΡΠ°Π΅Ρ Π·Π°Π΄Π°ΡΡ Π² ΡΡΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠ΅. Π Ρ ΠΎΠ΄Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠ΄ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Π²Π΅ΡΠΊΠ΅ Π·Π°Π΄Π°ΡΠΈ. Π ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π·Π°Π΄Π°ΡΠ° ΡΠ΅ΡΠ΅Π½Π°, Π΄Π΅Π»Π°ΡΡ merge ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΡ. Π’Π°ΠΊΡΡ ΡΡ Π΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Ρ ΡΠ½ΠΈΡ ΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π΄Π΅ΠΏΠ»ΠΎΠ΅ΠΌ. ΠΡΠ»ΠΈ ΡΠ½ΠΈΡ ΡΠ΅ΡΡΡ Π±ΡΠ΄ΡΡ ΠΏΠΎΠΊΡΡΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΊΠΎΠ΄, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΄Π΅ΠΏΠ»ΠΎΠΉ ΡΠ°ΠΊ, ΡΡΠΎ Π²Π½Π°ΡΠ°Π»Π΅ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠ³ΠΎΠ½ΡΡΡΡΡ Π²ΡΠ΅ ΡΠ΅ΡΡΡ Π² Π²Π΅ΡΠΊΠ΅ Π·Π°Π΄Π°ΡΠΈ. Π ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΏΡΠΎΡΠ»ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ merge ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ. ΠΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΈ.
ΠΠΌΠ΅Π½Π½Π°Ρ Π²Π΅ΡΠΊΠ°
ΠΠ΅ΠΎΠΏΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π·Π°Π²ΠΎΠ΄ΡΡ ΡΠ΅Π±Π΅ ΠΈΠΌΠ΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΠ΅Π³Π΄Π° Π² Π½Π΅ΠΉ. ΠΠ½ΠΈ ΡΠ΅ΡΠ°ΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π·Π° ΡΠ°Π·, ΠΈ ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π·Π°Π΄Π°Ρ, Π΄Π΅Π»Π°ΡΡ Π½ΠΎΠ²ΡΠΉ Pull Π·Π°ΠΏΡΠΎΡ ΡΠ΅ΡΠ΅Π· Web ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ (ΠΎΠ± ΡΡΠΎΠΌ ΡΡΡΡ Π½ΠΈΠΆΠ΅). ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ Π·Π°Π΄Π°ΡΡ ΠΈ Π½Π΅Π»ΡΠ·Ρ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Π΅ΡΠΊΠΈ ΡΠ°ΠΊ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π±ΡΠ΄ΡΡ Π²ΡΠ΅ ΡΠΈΠ»ΡΠ½Π΅Π΅ ΡΠ°ΡΡ ΠΎΠ΄ΠΈΡΡΡΡ ΠΈ ΠΊΠΎΠ΄ Π² Π²Π΅ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΡΡΡΠ°ΡΠ΅Π΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΠΈ ΠΈ Π΅Π³ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΡΠΌΠ΅ΡΠΆΠΈΡΡ ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΡ Π² Π²Π΅ΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, Π»ΠΈΠ±ΠΎ Π·Π°Π²Π΅ΡΡΠΈ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΠ΅. ΠΡΠ°Π²Π΄Π° ΠΊ ΡΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ²ΠΎΠΈΡΡ Π³ΠΈΡ Π² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΡΡΠΎ Π±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° βΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΡΡβ ΡΡ Π΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΠ° ΡΡ Π΅ΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ Π±ΡΡΡ Π΄Π»Ρ Π½Π΅ΠΎΠΏΡΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Git.
Π‘Ρ Π΅ΠΌΠ° Ρ dev Π²Π΅ΡΠΊΠΎΠΉ
ΠΡΡΠ³Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π² Π½Π΅ΠΉ ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΠΈ Π΅ΡΡΡ Π΅ΡΠ΅ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅ΡΡΠΊΠ°Ρ Π²Π΅ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡΡ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ. Π’Π°ΠΊΡΡ Π²Π΅ΡΠΊΡ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ dev. Π‘Ρ Π΅ΠΌΠ° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΊΠ°Ρ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π·Π°Π²ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π½Π΅Π΅ Π²Π΅ΡΠΊΡ ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΠ΅. ΠΠΎΠ³Π΄Π° ΠΎΠ½ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ Π·Π°Π΄Π°ΡΠ΅ΠΉ, ΡΠΎ ΠΌΠ΅ΡΠΆΠΈΡ Π²Π΅ΡΠΊΡ Π·Π°Π΄Π°ΡΠΈ Π² dev Π²Π΅ΡΠΊΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠΌΠΈ Π·Π°Π΄Π°ΡΠ° ΡΠ΅ΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ. ΠΡΠ»ΠΈ Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠΎ Π·Π°Π΄Π°ΡΡ Π΄ΠΎΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ Π²Π΅ΡΠΊΠ΅ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΌΠ΅ΡΠΆΠ°Ρ Ρ dev Π²Π΅ΡΠΊΠΎΠΉ. ΠΠΎΠ³Π΄Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ, ΡΠΎ ΠΠΠ’ΠΠ£ ΠΠΠΠΠ§Π ΠΌΠ΅ΡΠΆΠ°Ρ Ρ ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΠΎΠΉ. ΠΠ°ΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² ΡΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΠΎΠΉ Π½ΡΠΆΠ½ΠΎ ΠΌΠ΅ΡΠΆΠΈΡΡ Π²Π΅ΡΠΊΡ Π·Π°Π΄Π°ΡΠΈ, Π° Π½Π΅ dev Π²Π΅ΡΠΊΡ. ΠΠ΅Π΄Ρ Π² dev Π²Π΅ΡΠΊΠ΅ Π±ΡΠ΄ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅, Π½ΠΎ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΠΈ Π½Π΅ Π²ΡΠ΅ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ. ΠΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΠ° ΠΈ dev Π²Π΅ΡΠΊΠ° ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΈΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π²ΠΎΠ΄ΡΡ Π½ΠΎΠ²ΡΡ dev Π²Π΅ΡΠΊΡ ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΠΈ. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΡ, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡ Π΅ΠΌΠΎΠΉ. Π’Π°ΠΊΡΡ ΡΡ Π΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΅ΡΠ»ΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π½Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΡΡΠΎΠ² ΠΈ Π²ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΡΡΠ½ΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π’Π°ΠΊ ΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΡΠΎ ΡΡΠΈ ΡΡ Π΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ, Π΅ΡΠ»ΠΈ Π² ΡΡΠΎΠΌ Π΅ΡΡΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ.
Pull Π·Π°ΠΏΡΠΎΡΡ
Π‘ ΡΡΠΈΠΌ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΡΡΠ°Π½ΠΈΡΠ°. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² Git Π΅ΡΡΡ Π΄Π²Π΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ Pull Π·Π°ΠΏΡΠΎΡΠΎΠΌ. ΠΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ , ΡΡΠΎ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git pull. ΠΡΡΠ³Π°Ρ ΡΡΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° Π² web ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ° github.com ΠΎΠ½Π° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π²ΠΎΡ ΡΠ°ΠΊ
ΠΡΠΎ ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ ΠΏΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΡΡ Π΄Π°Π»ΡΡΠ΅.
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΡΠ½ΡΠΉ ΠΈ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ, ΡΠΎ ΠΎΠ½ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΌ ΡΠ»ΠΈΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π² ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΡ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄Π΅Π»Π°Π΅Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ Pull Π·Π°ΠΏΡΠΎΡ. Pull Π·Π°ΠΏΡΠΎΡ ΡΡΠΎ ΠΏΠΎ ΡΡΡΠΈ Π΄Π΅Π»Π° Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ merge. Pull Π·Π°ΠΏΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ· web ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Git, ΠΈΠ»ΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git request-pull. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Pull Π·Π°ΠΏΡΠΎΡ ΡΠΎΠ·Π΄Π°Π½, ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΠΎ, ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΎΡ ΠΊΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²Π½Π΅ΡΡΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡ, ΠΈ Π»ΠΈΠ±ΠΎ ΠΎΠ΄ΠΎΠ±ΡΠΈΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π»ΠΈΠ±ΠΎ Π½Π΅Ρ. Merge ΡΠ΅ΡΠ΅Π· pull Π·Π°ΠΏΡΠΎΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΏΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ. ΠΠΈΠ½ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΄Π»Ρ ΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠΏΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π»ΠΈΡΠ½ΠΈΠΌ. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠΌΠΎΠ·ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈ Π²Π½ΠΎΡΠΈΡΡ Π² Π½Π΅Π΅ ΠΎΡΡΠ΅Π½ΠΊΠΈ Π±ΡΡΠΎΠΊΡΠ°ΡΠΈΠΈ.
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π΅ΡΠ»ΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΅ΡΡΡ Π½Π΅ ΠΎΠΏΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ»ΠΎΠΌΠ°ΡΡ ΠΊΠΎΠ΄, ΡΠΎ Pull Π·Π°ΠΏΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΈ Π±ΡΡΡΡΠ΅Π΅ ΠΎΠ±ΡΡΠΈΡΡ ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π½Π°Π±Π»ΡΠ΄Π°Ρ Π·Π° ΡΠ΅ΠΌ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π²Π½Π΅ΡΡΠΈ Π² ΠΊΠΎΠ΄.
Π’Π°ΠΊ ΠΆΠ΅ Pull Π·Π°ΠΏΡΠΎΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅Π»ΡΠ·Ρ Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ-ΡΠΎ ΠΎ ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΡΠ°ΠΊΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ Ρ ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π² ΠΊΠΎΠ΄Π΅.
ΠΠΎΠ½ΡΠ»ΠΈΠΊΡΡ
ΠΠΎΠ½ΡΠ»ΠΈΠΊΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΈ ΠΌΠ΅ΡΠ΄ΠΆΠ΅ Π²Π΅ΡΠΎΠΊ Π΅ΡΠ»ΠΈ Π² ΡΡΠΈΡ
Π²Π΅ΡΠΊΠ°Ρ
ΠΎΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠ΄Π° Π±ΡΠ»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ. Π’ΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Git Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΌ ΡΠ΅ΡΠΈΡΡ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΈ ΠΎΠ½ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²ΡΡΡΠ½ΡΡ ΡΠ΅ΡΠΈΡΡ ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ. ΠΡΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅. ΠΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π·Π°Π΄Π°ΡΠΈ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ.
ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΎΠ³ΠΎ, ΡΡΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡΡΡ ΠΎ ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅ ΠΊΠΎΠ΄Π°. Π’ΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΌΠ΅Π½ΡΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΡΡΠΎΡΠΊΡ ΡΡΠ°Π½Π΅Ρ Π½ΠΈΠΆΠ΅.
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΎΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΡΠΎ Π²Π½ΠΎΡΠΈΡΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ. Π§Π΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΡΠΎΡΠ΅ΠΊ Π²Ρ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΠΈ, ΡΠ΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΡΡΠΎ Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡ ΠΆΠ΅ ΡΠ°ΠΌΡΡ ΡΡΡΠΎΠΊΡ ΡΡΠΎ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π² ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΠ΅ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΌ ΠΎΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ΅Π³ΠΎΠΌ Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΡΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΡΠΎ ΠΈ Π΅ΡΡΡ ΡΠΎ ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ Π²ΠΎΡ ΡΠ°ΠΊ
git tag -a v1.0
Π§ΡΠΎ Π±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²Π΅ΡΠΊΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git push βtags
Π’Π΅Π³ΠΈ ΡΠ΄ΠΎΠ±Π½Ρ Π΅ΡΠ΅ ΠΈ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠΌΠ΅ΡΠ΅Π½ΠΎ ΡΠ΅Π³ΠΎΠΌ. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ΅ ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git checkout <ΠΈΠΌΡ ΡΠ΅Π³Π°>
Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅Π³ΠΈ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΠΈΠ»ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ. Π’Π°ΠΊ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈΠ»ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ, ΡΠΎ Π΅ΡΡΡ ΡΠΈΡΠΊ, ΡΡΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π½Π΅ΡΠ΅Ρ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΡ, ΠΈ ΠΌΡ ΡΠΎΠ±Π΅ΡΠ΅ΠΌ Π½Π΅ ΡΠΎ ΡΡΠΎ Ρ ΠΎΡΠ΅Π»ΠΈ. Π ΡΠΎΠΌΡ ΠΆΠ΅ ΡΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
ΠΡΠ»ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΈ βΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉβ ΡΡ Π΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ, ΡΠΎ Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π°Ρ Git Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ packagist.org. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΡΠΊΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΡΠΈΡΠ°Π½Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΡΠ°ΠΊΡΡ ΡΡ Π΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ Π³ΠΈΡΠΎΠΌ, ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΠ°Π·Ρ Π½Π°ΡΠ½Π΅ΡΠ΅ Π΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΠ»ΡΡΠΎΠΌ Π΄Π»Ρ Π²Π°Ρ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ.
ΠΡΠΎ ΠΎΠ±Π·ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Git. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ ΠΏΡΠΎ Git Π±ΠΎΠ»ΡΡΠ΅, ΡΠΎ Ρ Π²Π°ΠΌ ΠΏΠΎΡΠΎΠ²Π΅ΡΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ Pro Git. ΠΠΎΡ Π·Π΄Π΅ΡΡ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π±ΡΠ»Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΡΠΏΡΠΎΡΠ΅Π½Π½Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π΅Π΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ Ρ ΡΠ΅ΡΠΈΠ» ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ ΡΠ°Π½ΡΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅. ΠΡΠ»ΠΈ Π²Π°Ρ ΡΠΎΠΆΠ΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎΠ± ΡΡΠΎΠΌ Π²ΠΎΡ Π·Π΄Π΅ΡΡ.
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π² ΡΡΠ°ΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ (Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ)
ΠΠ°Π΄Π°ΡΠ°: Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Β ΡΠ°ΠΉΠ»Ρ Π²Β ΡΡΠ°ΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ (Π½Π΅Β ΡΠ°ΠΌΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ/ΡΠ²Π΅ΠΆΠ΅ΠΌ).
git stash
git log --oneline
git rebase -i HEAD~3
git stash pop
ΠΠ»ΠΈΒ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
git add myfile1 myfile2
git commit --amend --no-edit
git rebase --continue
ΠΡΠ»ΠΈ Π²ΡΠ΅ ΠΏΡΠΎΠΉΠ΄Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΡΠΎΒ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π°:
Successfully rebased and updated refs/heads/master.
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ°Π·Ρ Π²Β Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅, Π½ΠΎΒ Π½Π°Β ΡΠ°Π³Π΅ 4Β Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΒ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ»ΠΎΠ²ΠΎ pick Π½Π°Β edit ΡΡΠ°Π·Ρ ΡΒ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π²Β ΡΠΏΠΈΡΠΊΠ΅.
ΠΠΎΡΠ»Π΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° (ΡΠ°Π³Β 5) Π²ΡΒ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ Π½Π°Β ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ (ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ°ΡΠ΅Π΅), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΒ ΠΏΠΎΠΌΠ΅ΡΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΠ°Π³ΠΈ ΡΒ 6Β ΠΏΠΎΒ 8. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΡΒ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ Π½Π°Β ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΒ ΠΏΠΎΠΌΠ΅ΡΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΒ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² — GitHub Docs
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ GitHub
ΠΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ
- GitHub.com
ΠΠ°ΡΠΈΠ½Π°Ρ
- ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
- ΠΠ°ΡΡΡΠΎΠΈΡΡ Git
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΏΠΎ
- Π€ΠΎΡΠΊ ΡΠ΅ΠΏΠΎ
- ΠΡΡΡ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΌ
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ GitHub
- ΠΡΠΎΠ΄ΡΠΊΡΡ GitHub
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΡΡΠΊΠΎΠ² ΡΠ°Π½Π½Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ
- Π’ΠΈΠΏΡ Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠ² GitHub
- Π§Π°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ Π² ΠΏΠ»Π°Π½Π°Ρ GitHub
- GitHub CLI
- GitHub Desktop
- GitHub Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²
- Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π΄ΠΎΡΡΡΠΏ Π½Π° GitHub
- ΠΠ»ΠΎΡΡΠ°ΡΠΈΠΉ GitHub
- Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ Git
- ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
.
Git — ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ | Π£ΡΠ΅Π±Π½ΠΈΠΊ Atlassian Git
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«ΠΎΡΠΌΠ΅Π½ΡΒ» Git. ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π²Π°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² Git Π½Π΅Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Β«ΠΎΡΠΌΠ΅Π½ΡΒ», ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠΎΠΉ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°Ρ . ΠΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²ΠΎΠ·Π΄Π΅ΡΠΆΠ°ΡΡΡΡ ΠΎΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Git Ρ Π»ΡΠ±ΠΎΠΉ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ Β«ΠΎΡΠΌΠ΅Π½ΡΒ». ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Git Π΅ΡΡΡ ΡΠ²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Β«ΠΎΡΠΌΠ΅Π½ΡΒ», ΠΊΠΎΡΠΎΡΡΡ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Ρ ΠΎΠ΄Π΅ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ. Π ΡΡΡ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΡ Π²Ρ ΠΎΠ΄ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Ρ, ΠΊΠ°ΠΊ ΡΠ±ΡΠΎΡ, Π²ΠΎΠ·Π²ΡΠ°Ρ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°, ΠΎΡΠΈΡΡΠΊΠ° ΠΈ Π΄ΡΡΠ³ΠΈΠ΅.
ΠΠ°Π±Π°Π²Π½Π°Ρ ΠΌΠ΅ΡΠ°ΡΠΎΡΠ° — Π΄ΡΠΌΠ°ΡΡ ΠΎ Git ΠΊΠ°ΠΊ ΠΎ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΊΠ°Π»ΠΎΠΉ. ΠΠΎΠΌΠΌΠΈΡΡ — ΡΡΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ ΡΠΎΡΠ΅ΠΊ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΊΠ°Π»Π΅ ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠΊΠ°Π»Π°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π΅ΡΠΎΠΊ. ΠΡΠΈ Β«ΠΎΡΠΌΠ΅Π½Π΅Β» Π² Git Π²Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΠ΅ΡΡ Π½Π°Π·Π°Π΄ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Π½Π° Π΄ΡΡΠ³ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΊΠ°Π»Ρ, Π³Π΄Π΅ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅ Π±ΡΠ»ΠΎ.
ΠΡΠΎΡ ΡΡΠ΅Π±Π½ΠΈΠΊ Π΄Π°Π΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π½Π°Π²ΡΠΊΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠΊΠ°ΡΠΎΠΌ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΡΠ±ΡΠΎΡ Π½Π΅ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° Π²Π°ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
ΠΠΎΠΈΡΠΊ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠΎΡΠ΅ΡΡΠ½ΠΎ: ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΡΠ°ΡΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΡΡ ΠΈΠ΄Π΅Ρ, Π»Π΅ΠΆΠ°ΡΠ°Ρ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Π»ΡΠ±ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Ρ
ΡΠ°Π½ΠΈΡΡ Β«Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅Β» ΠΊΠΎΠΏΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΡΠΎΠ±Ρ Π²Π°ΠΌ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ Π±Π΅Π·Π²ΠΎΠ·Π²ΡΠ°ΡΠ½ΠΎΠΌ Π½Π°ΡΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΠΎΡΠ΅ΡΠΈΡΡ Π»ΡΠ±ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ. ΠΠ΄Π½Π° ΠΈΠ· Π»ΡΡΡΠΈΡ
ΡΡΠΈΠ»ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Git — ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° git log
.Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ git log
, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
git log --oneline e2f9a78fe ΠΠ°ΠΌΠ΅Π½Π΅Π½ΠΎ FlyControls Π½Π° OrbitControls d35ce0178 Π Π΅Π΄Π°ΠΊΡΠΎΡ: ΠΠ°Π½Π΅Π»Ρ ΡΡΠ»ΡΠΊΠΎΠ² ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Safari. Π Π΅Π΄Π°ΠΊΡΠΎΡ 9dbe8d0cf: ΠΠΎΠΊΠΎΠ²Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ. ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ. Π―ΡΠ»ΡΠΊΠΈ. Π£Π±ΠΈΡΠ°ΠΉΡΡ. 05c5288fc ΠΠ°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ # 12612 ΠΎΡ TyLindberg / editor-controls-panel 0d8b6e74b ΠΠ°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ # 12805 ΠΎΡ harto / patch-1 23b20c22e ΠΠ°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ # 12801 ΠΎΡ gam0022 / Superior-raymarching-example-v2 fe78029f1 ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ 7ce43c448 Merge pull request # 12794 ΠΎΡ WestLangley / dev-x 17452bb93 Merge pull request # 12778 ΠΎΡ OndrejSpanel / unitTestFixes b5c1b5c70 Merge pull request # 12799 ΠΎΡ dhritzkiv / patch-21 1b48ff4d2 ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ.88adbcdf6 WebVRManager: ΠΎΡΠΈΡΡΠΈΡΡ. 2720fbb08 Merge pull request # 12803 from dmarcos / parentPoseObject 9ed629301 ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ PoseObject Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠ°ΠΌΠ΅ΡΡ 219f3eb13 ΠΠ±Π½ΠΎΠ²ΠΈΡΡ GLTFLoader.js 15f13bb3c ΠΠ±Π½ΠΎΠ²ΠΈΡΡ GLTFLoader.js 6d9c22a3b ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ½ΠΈΡΠΎΡΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π°ΡΠΏΠ΅ΠΊΡΠ° 900M Projection 900M Π² onWindow12Resize 881b25
ΠΠ°ΠΆΠ΄Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ Ρ
Π΅Ρ-ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ SHA-1. ΠΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΊΠ°Π»Π΅ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ git log
ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π΅ΡΠΊΠΈ.ΠΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΈΡΠ΅ΡΠ΅, Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²ΠΎ Π²ΡΠ΅Ρ
Π²Π΅ΡΠΊΠ°Ρ
, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log --branches = *
. ΠΠΎΠΌΠ°Π½Π΄Π° git branch
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈ ΠΏΠΎΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ
Π²Π΅ΡΠΎΠΊ. ΠΡΠ·ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ git branch -a
Π²Π΅ΡΠ½Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
ΠΈΠΌΠ΅Π½ Π²Π΅ΡΠΎΠΊ. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΡΠΈΡ
ΠΈΠΌΠ΅Π½ Π²Π΅ΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git log
.
ΠΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΡΠ»ΠΈ ΡΡΡΠ»ΠΊΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π½Π° ΡΠΎΡΠΊΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΡΠ΅ΡΠΈΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout
Π΄Π»Ρ ΠΏΠΎΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. Git checkout
- ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Β«Π·Π°Π³ΡΡΠ·ΠΈΡΡΒ» Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ
ΡΠΎΡ
ΡΠ°Π½Π΅Π½Π½ΡΡ
ΡΠ½ΠΈΠΌΠΊΠΎΠ² ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π½Π° Π²Π°ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ HEAD
ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° master
ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΡΡ-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠ²Ρ, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, HEAD
Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π²Π΅ΡΠΊΡ - ΠΎΠ½ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΡΠΈΠΊΡΠ°ΡΠΈΡ. ΠΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠΌ HEAD
Β», ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD
.ΠΠ½ ΠΎΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ Π²Π΅ΡΠΊΠ΅ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΈΠ·Π±Π΅Π³Π°Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Β«ΠΎΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²ΡΒ». ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° Π² Π½ΠΎΠ²ΠΎΠΌ ΡΠ½ΠΈΠΌΠΊΠ΅, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ git checkout
Π² ΡΠ°ΠΉΠ»Π΅, ΠΏΠΎ ΡΡΡΠΈ, ΡΠ»ΡΠΆΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΡΡΠΈΡ
Π΄Π²ΡΡ
ΡΠ΅ΠΆΠΈΠΌΠ°Ρ
ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ git checkout
page
ΠΡΠΎΡΠΌΠΎΡΡ ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ Π½Π°ΡΠ°Π»ΠΈ Π±Π΅Π·ΡΠΌΠ½ΡΠΉ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ, Π½ΠΎ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, Ρ
ΠΎΡΠΈΡΠ΅ Π»ΠΈ Π²Ρ Π΅Π³ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΠ»ΠΈ Π½Π΅Ρ.Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΠΏΡΠΈΠ½ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π½Π°ΡΠ½Π΅ΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²Π΅ΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ.
git ΠΆΡΡΠ½Π°Π» --oneline
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΈΡΡΠΎΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
b7119f2 ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡΠ΅ Π΄Π΅Π»Π°ΡΡ Π±Π΅Π·ΡΠΌΠ½ΡΠ΅ Π²Π΅ΡΠΈ 872fa7e ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π±Π΅Π·ΡΠΌΠ½ΠΎΠ΅ a1e8fb5 ΠΠ½Π΅ΡΠΈΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² hello.txt 435b61d Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ hello.txt 9773e52 ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git checkout
, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Β«ΠΠ½Π΅ΡΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠΌΠΏΠΎΡΡΠ° Π² hello.txt Β»ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
git checkout a1e8fb5
ΠΡΠΎ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°Ρ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎΡΠ½ΠΎΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° a1e8fb5
. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΡΡΡ ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΡΡΡ ΠΎ ΠΏΠΎΡΠ΅ΡΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠ΅, ΡΡΠΎ Π²Ρ Π·Π΄Π΅ΡΡ Π΄Π΅Π»Π°Π΅ΡΠ΅, Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΎ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² Β«ΡΠ΅ΠΊΡΡΠ΅Π΅Β» ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
git checkout master
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ Π² Π²Π΅ΡΠΊΠ΅ master
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.ΠΠ΅ΡΠ½ΡΠ²ΡΠΈΡΡ Π² Π²Π΅ΡΠΊΡ master
, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΈΠ±ΠΎ git revert
, Π»ΠΈΠ±ΠΎ git reset
, ΡΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π»ΡΠ±ΡΠ΅ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΡΠΌΠ΅Π½Π° Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΌΠΊΠ°
Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ "ΠΎΡΠΌΠ΅Π½Ρ" ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
git log --oneline 872fa7e ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π±Π΅Π·ΡΠΌΠ½ΠΎΠ΅ a1e8fb5 ΠΠ½Π΅ΡΠΈΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² hello.txt 435b61d Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ hello.txt 9773e52 ΠΠ°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ
ΠΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠΌΡΡ Π½Π° ΠΎΡΠΌΠ΅Π½Π° 872fa7e ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π±Π΅Π·ΡΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ
.ΠΠΎΠΆΠ΅Ρ, Π²ΡΠ΅ ΡΡΠ°Π»ΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΡΠΌΠ°ΡΡΠ΅Π΄ΡΠΈΠΌ.
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git checkout
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout
, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, a1e8fb5,
, ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΡΡΠΌΠ°ΡΡΠ΅Π΄ΡΠ°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Ρ ΡΠ΅ΠΏΠΎ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Β«ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ HEADΒ». ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½ΠΈ Π½Π°Π΄ ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ. Π ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π»ΡΠ±ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅, Π±ΡΠ΄ΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Ρ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π²Π΅ΡΠ²Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ.ΠΡΠΈΡΠΎΡΠ΅Π²ΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΌΡΡΠΎΡΠ° Git. Π‘Π±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠΌ ΠΈ Π±Π΅Π·Π²ΠΎΠ·Π²ΡΠ°ΡΠ½ΠΎ ΡΠ½ΠΈΡΡΠΎΠΆΠ°Π΅Ρ ΠΏΠΎΡΠ΅ΡΡΠ½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ. Π§ΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΡΠ±ΠΎΡ ΠΌΡΡΠΎΡΠ° ΠΎΡΠΈΡΠΎΡΠ΅Π²ΡΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΌΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌΡΡ Π² Π²Π΅ΡΠΊΠ΅.
ΠΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΠΎΠΉ HEAD ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ git checkout -b new_branch_without_crazy_commit
. ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ new_branch_without_crazy_commit
ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡ Π² ΡΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. Π Π΅ΠΏΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π½ΠΎΠ²ΠΎΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΊΠ°Π»Π΅ ΠΈΡΡΠΎΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΡ 872fa7e
Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΡΡΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΡ 872fa7e
Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΈ ΡΡΠΈΡΠ°ΡΡ Π΅Π΅ Β«ΠΎΡΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉΒ». Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ Π²Π΅ΡΠΊΠ°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ Π±ΡΠ»Π° Π²Π°ΡΠ° master Π²Π΅ΡΠΊΠ°
, ΡΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΎΡΠΌΠ΅Π½Ρ Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΎΡΠΌΠ΅Π½Ρ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π°ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ git checkout
.
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git revert
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ Π²Π΅ΡΠ½ΡΠ»ΠΈΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.ΠΡΡΠΎΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ 872fa7e
. ΠΠ° ΡΡΠΎΡ ΡΠ°Π· ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Β«ΠΎΡΠΌΠ΅Π½ΠΈΡΡΒ». ΠΡΠ»ΠΈ ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ git revert HEAD
, Git ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΈΠ½Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½ΠΎΠ²ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ Π² ΡΠ΅ΠΊΡΡΡΡ ΠΈΡΡΠΎΡΠΈΡ Π²Π΅ΡΠΎΠΊ, ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½Π° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
git log --oneline e2f9a78 ΠΡΠΌΠ΅Π½ΠΈΡΡ Β«ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π±Π΅Π·ΡΠΌΠ½ΠΎΠ΅Β» 872fa7e ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π±Π΅Π·ΡΠΌΠ½ΠΎΠ΅ a1e8fb5 ΠΠ½Π΅ΡΠΈΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² hello.txt 435b61d Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ hello.txt 9773e52 ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ
ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΌΡ ΡΠ½ΠΎΠ²Π° ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ Β«ΠΎΡΠΌΠ΅Π½ΠΈΠ»ΠΈΒ» ΡΠΈΠΊΡΠ°ΡΠΈΡ 872fa7e
.Π₯ΠΎΡΡ 872fa7e
Π²ΡΠ΅ Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² ΠΈΡΡΠΎΡΠΈΠΈ, Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ e2f9a78
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² 872fa7e
. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π·Π°ΠΊΠ°Π·Π°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡ ΠΆΠ΅ Π²Π΅ΡΠΊΡ. ΠΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ - ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΡΠΌΠ΅Π½Π°. ΠΡΠΎ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Β«ΠΎΡΠΌΠ΅Π½ΡΒ» Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠΈΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π²Π΅ΡΡΠΈ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°Π½Π½ΡΡ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΈΡΡΠΎΡΠΈΡ Git, ΡΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ.
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git reset
ΠΠ»Ρ ΡΡΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΎΡΠΌΠ΅Π½Ρ ΠΌΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ Π½Π°Ρ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ. git reset
- ΠΎΠ±ΡΠΈΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ git reset --hard a1e8fb5
, ΠΈΡΡΠΎΡΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git log
ΡΠ΅ΠΏΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
git log --oneline a1e8fb5 ΠΠ½Π΅ΡΠΈΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² hello.txt 435b61d Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ hello.txt 9773e52 ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ
Π Π²ΡΡ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΆΡΡΠ½Π°Π»Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ e2f9a78
ΠΈ 872fa7e
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ Β«ΡΡΠΌΠ°ΡΡΠ΅Π΄ΡΠΈΡ
Β» ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ»ΠΎ. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΡΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΌΠΎΠ΅ ΡΠ΅ΡΠΊΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΈΡΡΠΎΡΠΈΡ. Π‘Π±ΡΠΎΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΠ±ΡΠΈΠΌ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ. ΠΡΠ»ΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠ±ΡΠΈΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π° ΡΠΈΠΊΡΠ°ΡΠΈΡ 872fa7e
, ΠΈ ΠΌΡ ΠΏΡΡΠ°Π΅ΠΌΡΡ git push
Π²Π΅ΡΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ ΡΠ±ΡΠΎΡΠΈΠ»ΠΈ ΠΈΡΡΠΎΡΠΈΡ, Git ΠΏΠΎΠΉΠΌΠ°Π΅Ρ ΡΡΠΎ ΠΈ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ.Git ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠ°Ρ Π²Π΅ΡΠΊΠ° Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° ββΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². Π ΡΡΠΈΡ
ΡΡΠ΅Π½Π°ΡΠΈΡΡ
ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΎΡΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ git revert
.
ΠΡΠΌΠ΅Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠ»ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΎΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΡΠ΅ ΡΡΠΈ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ ΠΈ ΠΊ ΡΠ°ΠΌΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ»ΡΡΠ°ΡΡ
Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠ΄Π°Π»ΡΡΡ ΠΈΠ»ΠΈ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ. ΠΠΎΠΆΠ΅Ρ, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΡΠ΅ΠΆΠ΄Π΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΌΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ.ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π²Π½Π΅ΡΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ»ΠΈ ΠΈΡ
Π΄Π»Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git add
, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ git commit --amend
. ΠΡΠΈ ΡΡΠΎΠΌ Git ΠΎΡΠΊΡΠΎΠ΅Ρ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. ΠΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΡΠΌΠ΅Π½Π° Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΠΎΠ½ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠΈΡ
Π΄Π²ΡΡ
ΠΎΠ±Π»Π°ΡΡΡΡ
.ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ - ΡΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Git. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠΈ Π΄Π²Π° ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ°, ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ git reset
, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ.
Π Π°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
Π Π°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. Π§ΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ²ΠΎΠΉ Π»ΡΠ±ΠΈΠΌΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ. Π Git Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΈΠ»ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ.Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git clean
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠΈΠ»ΠΈΡΡ Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, git reset
ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ --mixed
ΠΈΠ»ΠΈ --hard
ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡ ΡΠ±ΡΠΎΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ.
ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ
ΠΠΎΠΌΠ°Π½Π΄Π° git add
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ. Git reset
Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°. Π‘Π±ΡΠΎΡ --mixed
ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡ Π»ΡΠ±ΡΠ΅ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
ΠΡΠΌΠ΅Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»ΡΡΡ ΠΎΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΡΠΌΠ΅Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Git reset
ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ Β«Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉΒ» ΠΌΠ΅ΡΠΎΠ΄ ΠΎΡΠΌΠ΅Π½Ρ. ΠΡΠΈ ΠΎΡΠΌΠ΅Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΡΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ±ΡΠΎΡ. ΠΡΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ
Π²Π΅ΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ. ΠΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ±ΡΠΎΡ Π² ΠΎΠ±ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΠ° Π²Π΅ΡΠΊΠ° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git push
.Git Π·Π°Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ push Π² ΡΡΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΆΠ°Π»ΡΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠ°Ρ Π²Π΅ΡΠΊΠ° ΡΡΡΠ°ΡΠ΅Π»Π° ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π½Π΅ΠΉ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ.
ΠΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΡΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ - git revert
. ΠΡΠΊΠ°Ρ Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½, ΡΠ΅ΠΌ ΡΠ±ΡΠΎΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ Π½Π΅ ΡΠ΄Π°Π»ΠΈΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ. ΠΡΠΊΠ°Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ, ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ½Π²Π΅ΡΡΠΈΡΡΠ΅Ρ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΠ΅ΠΌ ΠΈΠ·Π²Π»Π΅ΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΎΡΠΊΠ°ΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ.
Π‘Π²ΠΎΠ΄ΠΊΠ°
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ
ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π² Git. ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Git Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Β«ΠΎΡΠΌΠ΅Π½ΠΈΡΡΒ». ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΊΠ°ΡΠ°Π»Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΈΡ
ΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ
, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Git. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Β«ΠΎΡΠΌΠ΅Π½ΡΒ» - ΡΡΠΎ git checkout, git revert
ΠΈ git reset
. ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ:
- ΠΠΎΡΠ»Π΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌΠΈ
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
git checkout
Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΡΡΠΎΡΠΈΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ -
git revert
- Π»ΡΡΡΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠΈΡ
ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ -
git reset
Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΡΠ°ΡΡΠ½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΠΎΠΌΠΈΠΌΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΡΠΌΠ΅Π½Ρ, ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡ Git: git log
Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΡΠ΅ΡΡΠ½Π½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² git clean
Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½Ρ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ git add
Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°.
Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄ Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠΉ Π·Π΄Π΅ΡΡ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΡΡΠ»ΠΊΠ°ΠΌ.
.