Выпуск распрСдСлСнной систСмы управлСния исходными тСкстами Git 2.25

ДоступСн выпуск распрСдСлСнной систСмы управлСния исходными тСкстами Git 2.25.0. Git являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых популярных, Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹Ρ… ΠΈ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм управлСния вСрсиями, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π³ΠΈΠ±ΠΊΠΈΠ΅ срСдства Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΈ ΠΈ слиянии Π²Π΅Ρ‚ΠΎΠΊ. Для обСспСчСния цСлостности истории ΠΈ устойчивости ΠΊ измСнСниям «Π·Π°Π΄Π½ΠΈΠΌ числом» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ нСявноС Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ всСй ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ истории Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅, Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ удостовСрСниС Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ подписями Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π³ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΌ выпуском Π² Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ принято 583 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ участии 84 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 32 Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ приняли участиС Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • ΠŸΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Π΅Ρ‚ΡΡ ΠΊ стабилизации ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ готовности Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ частичного клонирования (partial clones), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ лишь Ρ‡Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ рСпозитория. ΠŸΡ€ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ· рСпозитория ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ всС Π΄Π°Π½Π½Ρ‹Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈΠ· истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Для ΠΎΡ‡Π΅Π½ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ дискового пространства, Π΄Π°ΠΆΠ΅ Ссли Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° интСрСсуСт лишь подмноТСство Ρ„Π°ΠΉΠ»ΠΎΠ². Для упрощСния получСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ части Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° исходных тСкстов Π² Π½ΠΎΠ²ΠΎΠΌ выпускС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° «sparse-checkout» ΠΈ новая опция «—sparse» для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «clone».

    Π Π°Π½Π΅Π΅ процСсс Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎΠ³ΠΎ клонирования производился Ρ‡Π΅Ρ€Π΅Π· Π·Π°Π΄Π°Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² для отсСивания лишнСго ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈ ΠΎΠΏΡ†ΠΈΠΈ «—no-checkout» для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ восполнСниС Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ². ПослС этого, ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ checkout, Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ настройку core.sparseCheckout ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ .git/info/sparse-checkout список шаблонов ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ. НапримСр, для клонирования Π±Π΅Π· Π±Π»ΠΎΠ±ΠΎΠ² ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‚Π° извлСчСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ 2 ΠΈ большС ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ:

    git clone —filter=blob:none —no-checkout /your/repository/here repo
    $ cd repo
    $ cat >.git/info/sparse-checkout <EOF
    /*
    !/*
    EOF
    $ git config core.sparseCheckout 1
    $ git checkout .

    Новая ΠΊΠΎΠΌΠ°Π½Π΄Π° «git sparse-checkout» сущСствСнно ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ сводит процСсс ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ:

    git clone —filter=blob:none —sparse /your/repository/here repo
    git sparse-checkout set /path/to/check/out

    Команда sparse-checkout позволяСт ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ список ΠΏΡƒΡ‚Π΅ΠΉ для checkout (set) Π±Π΅Π· Ρ€ΡƒΡ‡Π½ΠΎΠΉ настройки .git/info/sparse-checkout, Π° Ρ‚Π°ΠΊΠΆΠ΅ вывСсти Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ список ΠΏΡƒΡ‚Π΅ΠΉ (list) ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ частичныС checkout (enable/disable).

    Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΡ‡Π΅Π½ΡŒ большими рСпозиториями ΠΈ списками шаблонов ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° настройка «git config core.sparseCheckoutCone«, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ допустимыС ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ (вмСсто ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… шаблонов .gitignore ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ всС Π»ΠΈ ΠΏΡƒΡ‚ΠΈ ΠΈ всС Π»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ слСдуСт ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ). НапримСр, Ссли Π² большом Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π΅ΡΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ «A/B/C» ΠΈ вся Ρ€Π°Π±ΠΎΡ‚Π° сосрСдоточСна Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ «C», Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° sparseCheckoutCone ΠΊΠΎΠΌΠ°Π½Π΄Π° «git sparse-checkout set A/B/C» ΠΈΠ·Π²Π»Π΅Ρ‡Ρ‘Ρ‚ содСрТимоС «C» ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, Π½ΠΎ ΠΈΠ· «A» ΠΈ «B» ΠΈΠ·Π²Π»Π΅Ρ‡Ρ‘Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с «C» части.

  • Из Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ («git rebase -h») ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ всС упоминания ΠΎΠΏΡ†ΠΈΠΈ «—preserve-merges», которая объявлСна ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ ΠΈ вмСсто Π½Π΅Ρ‘ для пСрСноса Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ «git rebase —rebase-merges«.
  • Для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ читаСмости сообщСний с ΠΏΠ°Ρ‚Ρ‡Π°ΠΌΠΈ, отправляСмыми Π² списки рассылки, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «git format-patch —cover-from-description subject», ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² качСствС Ρ‚Π΅ΠΌΡ‹ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ письма для Π½Π°Π±ΠΎΡ€Π° ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Π±Π·Π°Ρ† ΠΈΠ· тСкста описания Π²Π΅Ρ‚ΠΊΠΈ.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° совмСстного примСнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «git apply —3way» ΠΈ настройки «merge.conflictStyle» («git apply» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ ΡΡ‚ΠΈΠ»ΡŒ описания ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° ΠΈΠ· merge.conflictStyle ΠΏΡ€ΠΈ нСобходимости Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° послС ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ примСнСния Ρ„Π°ΠΉΠ»Π° с ΠΏΠ°Ρ‚Ρ‡Π΅ΠΌ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ).
  • Код опрСдСлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² Ρ‚Π°ΠΊΠΈΡ… опСрациях ΠΊΠ°ΠΊ «git diff/grep —show-function/—function-context», Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ опрСдСлСния Π³Ρ€Π°Π½ΠΈΡ† Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° языкС Elixir.
  • Π’ «git add», «git commit», «git reset» ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая опция «—pathspec-from-file», Π΄Π°ΡŽΡ‰Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ список ΠΏΡƒΡ‚Π΅ΠΉ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°, вмСсто ΠΈΡ… пСрСчислСния Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС.
  • РСшСна ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΏΡ€ΠΈ записи ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ Π² случаС пСрСмСщСния содСрТимого ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² ΠΊΠΎΡ€Π΅Π½ΡŒ рСпозитория.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ рСализация ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «git add -i», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½ΠΎΠ΅ содСрТимоС Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, пСрСписанная с Perl Π½Π° Π‘ΠΈ. ВСдётся аналогичная ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «git add -p».
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «git log —graph», Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ASCII-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„Π° с историСй ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. ΠŸΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΈ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π±Π΅Π· искаТСния структуры истории, Ρ‡Ρ‚ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π΅ΡˆΠΈΠ»ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с Π²Ρ‹Π»Π΅Π·Π°Π½ΠΈΠ΅ΠΌ рисунка Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρƒ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ строки Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.
  • ΠžΠΏΡ†ΠΈΡ «git log —format=..», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π°,
    Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ„Π»Π°Π³ΠΎΠ² «l/L» для Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ части email-адрСса, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄ символом «@» (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρƒ всСх Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² всС email Π² ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅).

  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «git submodule» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π° «set-url».
  • ВСстовыС Π½Π°Π±ΠΎΡ€Ρ‹ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ Π½Π°
    Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ SHA-2 вмСсто SHA-1.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ