Π²ΡΠΏΡΡΠΊ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ΅ΠΊΡΡΠ°ΠΌΠΈ . Git ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ , Π½Π°Π΄ΡΠΆΠ½ΡΡ ΠΈ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π±Π°Π·ΠΈΡΡΡΡΠΈΠ΅ΡΡ Π½Π° ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π²Π΅ΡΠΎΠΊ. ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ Β«Π·Π°Π΄Π½ΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌΒ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π΅ΡΠ²Π½ΠΎΠ΅ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ΅Π³ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠΎΡΠ»ΡΠΌ Π²ΡΠΏΡΡΠΊΠΎΠΌ Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΎ 544 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΠΈ 78 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ 21 Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΡΠΈΠ½ΡΠ»ΠΈ ΡΡΠ°ΡΡΠΈΠ΅ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅. :
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ, Π½Π΅ Π²Π΄Π°Π²Π°ΡΡΡ Π² Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ Π½ΠΈΠΌΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΎΠΏΡΠΈΠΉ. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»ΡΡΠ°Π΅ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΡΡΠΏΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΆΠ°ΡΠΈΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠ² ΠΏΡΡΠ΅ΠΉ ΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², Π²ΡΡΡΠ°Π²ΠΈΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ index.version Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 4 ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π² core.untrackedCache. ΠΠ°ΠΊΡΠΎΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π΅ ΡΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΏΠΎΠΈΡΠΊ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π° ΡΡΠ°Π·Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠΌΠΈ Π΄Π»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²:
git config feature.manyFiles true
- ΠΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΡΠΎΡΠΌΠ΅ Π³ΡΠ°ΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² (commit-graph), ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄Π»Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Ρ
ΡΡΠ΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π° ΡΡΡΡΠΊΡΡΡΠ° Π² Π²ΠΈΠ΄Π΅ Π³ΡΠ°ΡΠ°. ΠΡΠ»ΠΈ ΡΠ°Π½ΡΡΠ΅ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² Π² ΠΊΠΎΡΠΎΡΡΡ
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π»Π°ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ Π΄ΠΈΡΠΊΠ° Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΡΠ»ΠΎΠΊ, ΡΠΎ ΠΏΡΠΈ Ρ
ΡΠ°Π½Π΅Π½ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ Π³ΡΠ°ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ²ΡΠ·ΠΈ. ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ Π½Π° Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ Π³ΡΠ°ΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ
ΡΠ΄ΡΠ° Linux ΠΈ Git ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΏΠΎΡΡΠΈ Π΄Π²ΡΡ
ΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ. ΠΠ»Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄ΠΎ Git 2.24 ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«git gcΒ».
ΠΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ commit-graph, ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΌΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π²ΠΈΠ΄Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ commit-graph ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ (Β«git commit-graph writeΒ», Β«git commit-graph verifyΒ» ΠΈ Ρ.ΠΏ.). ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ° ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° (Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠΈΡ Β«-[no-]progressΒ»). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ fetch.writeCommitGraph, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Ρ Π³ΡΠ°ΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ Β«git fetchΒ» (Π²ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΡΠ΅ ΠΈΠ· Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΊΠΎΠΌΠΌΠΈΡΡ Π±ΡΠ΄ΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π² commit-graph Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° auto-gc);
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ β ««, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «» Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°). ΠΠ»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠΌΠΌΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ° Π² Β«git filter-repoΒ» ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π°Π΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΡΡΠΎΡΠΈΠΈ Π² ΡΠΎΡΠΌΠ΅ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°.
Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΡΠΈΠΈ Β«-path-{glob,regex}Β», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΡΠ΅ ΠΌΠ°ΡΠΊΠΈ, ΡΠ°ΠΊ ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ ΠΎΠΏΡΠΈΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Β«ΠΏΠΎΠΈΡΠΊ ΠΈ Π·Π°ΠΌΠ΅Π½Π°Β» ΠΈΠ»ΠΈ ΡΠΈΡΡΠΊΠΈ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ Π·Π°Π΄Π°Π½Π½ΡΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ½Π°Π±ΠΆΠ°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΌ Ρ ΡΡ-ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ SHA-1 ΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½ΠΎΠ²ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π·Π°ΠΌΠ΅Π½ΡΠ½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ²ΠΎΠ΄ΠΊΠΈ ΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΎΠΉ ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ (ΡΠΈΡΠ»ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠΎ ΡΠΈΠΏΠ°ΠΌ, ΡΠ°ΠΌΡΠ΅ ΠΊΡΡΠΏΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΈ Ρ.ΠΏ.) ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΎΠΏΡΠΈΡ Β«-analyzeΒ». ΠΠ»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ callback-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ Python, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠ°ΠΊ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ ΡΠ°ΠΉΠ»ΠΎΠ²);
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«βend-of-optionsΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΎΡΠ΄Π΅Π»ΠΈΡΡ ΠΎΠΏΡΠΈΠΈ ΠΎΡ ΠΈΠΌΡΠ½ ΡΡΡΠ»ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° Β«-Β» ΠΈ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠΏΡΠΈΠΈ (Β«git log βend-of-options βsuper-dangerous-optionΒ»). ΠΡΠ»ΠΈ Π² ΠΎΠ±ΠΈΡ ΠΎΠ΄Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Β«git log βrefs/heads/βsuper-dangerous-option'Β», ΡΠΎ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ ΠΌΠΎΠ³Π»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½. ΠΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΡΠΉ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Β» β Β» Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠΌΡΠ½ ΡΡΡΠ»ΠΎΠΊ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«git log βend-of-options βsuper-dangerous-option ^master β path/to/fileΒ»);
- Π Β«git rebase βrebase-mergesΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠΏΡΡΠΈΠΈ Β«βstrategyΒ» ΠΈ Β«βstrategy-optionΒ» Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Β«.git/hooks/pre-merge-commitΒ», Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ, Π½ΠΎ Π΄ΠΎ Π·Π°ΠΏΠΈΡΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°;
- Π Π΄Π²ΠΈΠΆΠΎΠΊ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π² ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π°Π±ΡΠ°ΡΡ Β«git -c core.autocrlf=false add path/to/my/fileΒ», Π½ΠΎ Π½Π΅ ΠΏΠΎΠΌΠ½Ρ ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«core.autocrlfΒ», ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΆΠ°ΡΡ Tab ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Git ΠΊΠΎΠ΄Π΅ΠΊΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ. ΠΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΡ Β«Β«, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΎΡΠΊΡΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΄ΡΠΎ Linux, Eclipse, Freedesktop, GitLab, Ruby ΠΈ Kubernetes. ΠΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°Π²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ², Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΈΡ ΠΌΠΈΡΠΎΠ²ΠΎΠ·Π·ΡΠ΅Π½ΠΈΡ, Π²ΠΎΠ·ΡΠ°ΡΡΠ°, ΠΏΠΎΠ»Π°, ΡΠ΅Π»ΠΈΠ³ΠΈΠΎΠ·Π½ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ, ΡΡΠΎΠ²Π½Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΡΠ° ΠΈ Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ. Π ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΡΡΡ Π΄ΡΡΠΆΠ΅Π»ΡΠ±Π½Π°Ρ ΡΠΎΡΠΌΠ° ΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠΎΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ², Π²ΠΎΡΠΏΡΠΈΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΊΡΠΈΡΠΈΠΊΠΈ, ΠΏΡΠΈΠ½ΡΡΠΈΠ΅ Π½Π°ΠΈΠ»ΡΡΡΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. ΠΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΡΠΎΠ»Π»ΠΈΠ½Π³, ΠΎΡΠΊΠΎΡΠ±ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΌΠ°Π½Π΅ΡΠ° ΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠΏΡΡΠΊΠΈ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ, Π΄ΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΡΡΠ²Π°, Π½Π°ΡΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΏΡΠΈΠΊΠΎΡΠ½ΠΎΠ²Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°ΡΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ, ΡΠ°Π·Π³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΡΠΈΡΠ°ΡΡΡΡ Π½Π΅ΡΠΌΠ΅ΡΡΠ½ΡΠΌΠΈ ΠΏΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠ±ΡΠ΅Π½ΠΈΠΈ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
