π΄ Fork git: ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ?
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ "fork" Π² Git, ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΡΠΈΠΌ ΡΠ°Π³Π°ΠΌ:
- ΠΡΠΊΡΠΎΠΉΡΠ΅ Git Bash ΠΈΠ»ΠΈ Π²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ.
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΏΠΈΡ.
- ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² Git, Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ "Fork" ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° Π½Π΅Π΅.
- Git ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Π²Π°ΡΠ΅ΠΌ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ΅.
- Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠΊΠ½ΡΡΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° ΡΠ²ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git clone ΡΡΡΠ»ΠΊΠ°_Π½Π°_ΡΠΎΡΠΊΠ½ΡΡΡΠΉ_ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΠ΄Π΅ "ΡΡΡΠ»ΠΊΠ°_Π½Π°_ΡΠΎΡΠΊΠ½ΡΡΡΠΉ_ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ" - ΡΡΠΎ URL Π²Π°ΡΠ΅Π³ΠΎ ΡΠΎΡΠΊΠ½ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΎΡΠΊΠ½ΡΡΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ Π΅Π³ΠΎ, ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ 'fork' Π² Git
ΠΠΎΠΌΠ°Π½Π΄Π° 'fork' Π² Git ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Π²Π°ΡΠ΅ΠΌ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ΅. Forking (ΡΠ°Π·Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅) ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΠ΅ΡΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ ΠΈΠ»ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ. ΠΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π¨Π°Π³ 1: ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡΠΊΠ½ΡΡΡ. Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Git-Ρ ΠΎΡΡΠΈΠ½Π³Π°, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ GitHub, Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ 'Fork' ΡΡΠ΄ΠΎΠΌ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° Π½Π΅Π΅.
Π¨Π°Π³ 2: ΠΡΠ±ΠΎΡ ΠΌΠ΅ΡΡΠ° Π΄Π»Ρ ΡΠΎΡΠΊΠ°
ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ 'Fork' Git ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Π²Π°ΡΠ΅ΠΌ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ, ΠΊΡΠ΄Π° Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΡΡ ΠΊΠΎΠΏΠΈΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ΅ Π½Π° Git-Ρ ΠΎΡΡΠΈΠ½Π³Π΅.
Π¨Π°Π³ 3: ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΠΊΠ°
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΊΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π½Π° ΡΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ 'git clone' Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅:
git clone URL_ΡΠΎΡΠΊΠ°.git
URL_ΡΠΎΡΠΊΠ° - ΡΡΠΎ ΡΡΡΠ»ΠΊΠ° Π½Π° Π²Π°Ρ ΡΠΎΡΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΡΡ ΡΡΡΠ»ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎΡΠΊΠ°.
Π¨Π°Π³ 4: ΠΠ½Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ pull request
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ»ΠΎΠ½ ΡΠΎΡΠΊΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄. ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°Π²Π΅ΡΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ pull request, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
git add . # Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git commit -m "ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ" # ΠΊΠΎΠΌΠΌΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git push origin Π²Π΅ΡΠΊΠ° # ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΡΠΎΡΠΊ
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΡΠΎΡΠΊ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎΡΠΊΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Git-Ρ ΠΎΡΡΠΈΠ½Π³Π΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ 'New pull request' (ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ). ΠΠ°ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ pull request. ΠΠ°Ρ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΠΈ, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ 'fork' Π² Git, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Π²Π°ΡΠ΅ΠΌ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ΅. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΡΠΎΡΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΡ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ Ρ Π²Π°Ρ Π½Π΅Ρ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°. Π£ΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° 'fork' ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²Π° ΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ Π²ΠΊΠ»Π°Π΄Π° Π² open source ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π΅.
Π£Π΄Π°ΡΠΈ Π² Π²Π°ΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°Ρ !