π ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ, ΠΈΠ· ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½Π° Π²Π΅ΡΠΊΠ° git? πΏ
git log --decorate
. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ Π²Π΅ΡΠΊΠ°Ρ
. ΠΡΠ»ΠΈ Π²Π΅ΡΠΊΠ° ΡΠΎΠ·Π΄Π°Π½Π° ΠΎΡ Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π²ΡΠ²ΠΎΠ΄Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
git log --decorate
commit abcdef12345 (HEAD -> ΡΠ΅ΠΊΡΡΠ°Ρ_Π²Π΅ΡΠΊΠ°, Π²Π΅ΡΠΊΠ°_ΠΈΡΡ
ΠΎΠ΄Π°)
git log --decorate
ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΡ ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½Π° ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ°.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΡ ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΡΠ΄Π΅Π»Π°Π½Π° Π²Π΅ΡΠΊΠ° git
ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ Git, ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΎΡ ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ°. Π Git ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ², ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ "git show-branch"
git show-branch
ΠΠΎΠΌΠ°Π½Π΄Π° "git show-branch" ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ Π²Π΅ΡΠΊΠΈ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈ ΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. ΠΠ½Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ (merge base) ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π²Π΅ΡΠΎΠΊ.
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ "git log"
git log --graph --oneline --decorate
ΠΠΎΠΌΠ°Π½Π΄Π° "git log" ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π°Π³ΠΈ "--graph", "--oneline", ΠΈ "--decorate". Π€Π»Π°Π³ "--graph" ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ASCII-Π³ΡΠ°ΡΠΈΠΊΠ°, "--oneline" Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, Π° "--decorate" ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΠΈΠ΄Π΅ΡΡ ΠΈΠΌΠ΅Π½Π° Π²Π΅ΡΠΎΠΊ ΠΈ ΡΠ΅Π³ΠΈ ΡΡΠ΄ΠΎΠΌ Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ.
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ "git branch --contains"
git branch --contains <branch-name>
ΠΠΎΠΌΠ°Π½Π΄Π° "git branch --contains" ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈΠ»ΠΈ Π²Π΅ΡΠΊΡ. Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΠΎΡ ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ°, Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ Π²ΠΌΠ΅ΡΡΠΎ <branch-name>.
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΈΠΌΠ΅Ρ 1: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ "git show-branch"
git show-branch
ΠΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ "git show-branch" ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
! [branch1] Commit A1
* [branch2] Commit B1
! [branch2^] Merge branch1 into branch2
---
+ [branch1^] Commit A2
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Π΅ΡΠΊΠ° "branch1" Π±ΡΠ»Π° ΡΠ»ΠΈΡΠ° Π² Π²Π΅ΡΠΊΡ "branch2" Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° "Merge branch1 into branch2".
ΠΡΠΈΠΌΠ΅Ρ 2: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ "git log"
git log --graph --oneline --decorate
ΠΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ "git log" Ρ ΡΠ»Π°Π³Π°ΠΌΠΈ "--graph", "--oneline", ΠΈ "--decorate" ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
* 1a2b3c4 (branch2) Commit B1
| * 5d6e7f8 (branch1) Commit A1
|/
* 9g0h1i2 Commit C1
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Π΅ΡΠΊΠ° "branch2" Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΠ΅ "Commit B1", Π° Π²Π΅ΡΠΊΠ° "branch1" Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΠ΅ "Commit A1".
ΠΡΠΈΠΌΠ΅Ρ 3: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ "git branch --contains"
git branch --contains branch2
ΠΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ "git branch --contains branch2" ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
branch1
* branch2
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Π΅ΡΠΊΠ° "branch2" ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ Π²Π΅ΡΠΊΡ "branch1".
ΠΡΠ²ΠΎΠ΄
ΠΡΠ°ΠΊ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ·Π½Π°ΡΡ ΠΎΡ ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° Π² Git. ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ "git show-branch", "git log", ΠΈ "git branch --contains", ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠΎΡ ΡΠΏΠΎΡΠΎΠ±, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π³ΠΎ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Git ΠΈ Π½Π΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΎ ΡΠΎΡ ΡΠ°Π½Π½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΡΠ΅ΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.