рд╡рд┐рддрд░рд┐рдд рд╕реНрддреНрд░реЛрдд рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реАрдЪреЗ рдкреНрд░рдХрд╛рд╢рди Git 2.26

рдЙрдкрд▓рдмреНрдз рд╡рд┐рддрд░рд┐рдд рд╕реНрддреНрд░реЛрдд рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реАрдЪреЗ рдкреНрд░рдХрд╛рд╢рди рдЧрд┐рдЯ 2.26.0. Git рд╣реА рд╕рд░реНрд╡рд╛рдд рд▓реЛрдХрдкреНрд░рд┐рдп, рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдЖрдгрд┐ рдЙрдЪреНрдЪ-рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрд╡реГрддреНрддреА рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реАрдВрдкреИрдХреА рдПрдХ рдЖрд╣реЗ, рдЬреА рдмреНрд░рдБрдЪрд┐рдВрдЧ рдЖрдгрд┐ рд╡рд┐рд▓реАрдиреАрдХрд░рдгрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд▓рд╡рдЪрд┐рдХ рдиреЙрди-рд░реЗрдЦреАрдп рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдзрдиреЗ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдЗрддрд┐рд╣рд╛рд╕рд╛рдЪреА рдЕрдЦрдВрдбрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдкреВрд░реНрд╡рд▓рдХреНрд╖реА рдмрджрд▓рд╛рдВрдирд╛ рдкреНрд░рддрд┐рдХрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдкреНрд░рддреНрдпреЗрдХ рдХрдорд┐рдЯрдордзреНрдпреЗ рд╕рдВрдкреВрд░реНрдг рдорд╛рдЧреАрд▓ рдЗрддрд┐рд╣рд╛рд╕рд╛рдЪреЗ рдирд┐рд╣рд┐рдд рд╣реЕрд╢рд┐рдВрдЧ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ; рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдЪреНрдпрд╛ рдбрд┐рдЬрд┐рдЯрд▓ рд╕реНрд╡рд╛рдХреНрд╖рд░реАрд╕рд╣ рд╡реИрдпрдХреНрддрд┐рдХ рдЯреЕрдЧ рдЖрдгрд┐ рдХрдорд┐рдЯ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдгреЗ рджреЗрдЦреАрд▓ рд╢рдХреНрдп рдЖрд╣реЗ.

рдорд╛рдЧреАрд▓ рд░рд┐рд▓реАрдЭрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд, рдирд╡реАрди рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ 504 рдмрджрд▓ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд, рдЬреЗ 64 рд╡рд┐рдХрд╕рдХрд╛рдВрдЪреНрдпрд╛ рд╕рд╣рднрд╛рдЧрд╛рдиреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд, рддреНрдпрд╛рдкреИрдХреА 12 рдиреЗ рдкреНрд░рдердордЪ рд╡рд┐рдХрд╛рд╕рд╛рдд рднрд╛рдЧ рдШреЗрддрд▓рд╛. рдореБрдЦреНрдп рдирд╡рдХрд▓реНрдкрдирд╛:

  • рдбреАрдлреЙрд▓реНрдЯ рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ рджреБрд╕рд░реА рдЖрд╡реГрддреНрддреА Git рдХрдореНрдпреБрдирд┐рдХреЗрд╢рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓, рдЬреЗ рдХреНрд▓рд╛рдпрдВрдЯ рджреВрд░рд╕реНрдердкрдгреЗ Git рд╕рд░реНрд╡реНрд╣рд░рд╢реА рдХрдиреЗрдХреНрдЯ рдЭрд╛рд▓реНрдпрд╛рд╡рд░ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ. рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪреА рджреБрд╕рд░реА рдЖрд╡реГрддреНрддреА рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ рдмрд╛рдЬреВрд▓рд╛ рд╢рд╛рдЦрд╛ рдЖрдгрд┐ рдЯреЕрдЧ рдлрд┐рд▓реНрдЯрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдЖрд╣реЗ, рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рд▓рд┐рдВрдХреНрд╕рдЪреА рдПрдХ рдЫреЛрдЯреА рдпрд╛рджреА рдкрд░рдд рдХрд░рддреЗ. рдкреВрд░реНрд╡реА, рдХреЛрдгрддреАрд╣реА рдкреБрд▓ рдХрдорд╛рдВрдб рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рд╕рдВрдкреВрд░реНрдг рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреАрд▓ рд╕рдВрджрд░реНрднрд╛рдВрдЪреА рд╕рдВрдкреВрд░реНрдг рдпрд╛рджреА рдиреЗрд╣рдореА рдкрд╛рдард╡рдд рдЕрд╕реЗ, рдЬрд░реА рдХреНрд▓рд╛рдпрдВрдЯ рдлрдХреНрдд рдПрдХ рд╢рд╛рдЦрд╛ рдЕрджреНрдпрдпрд╛рд╡рдд рдХрд░рдд рдЕрд╕рдд рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЪреА рдкреНрд░рдд рдЕрджреНрдпрдпрд╛рд╡рдд рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рддрдкрд╛рд╕рдд рдЕрд╕рдд. рдЯреВрд▓рдХрд┐рдЯрдордзреНрдпреЗ рдирд╡реАрди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЙрдкрд▓рдмреНрдз рдЭрд╛рд▓реНрдпрд╛рдореБрд│реЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдордзреНрдпреЗ рдирд╡реАрди рдХреНрд╖рдорддрд╛ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд╣реА рдЖрдгрдЦреА рдПрдХ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдирд╡рдХрд▓реНрдкрдирд╛ рдЖрд╣реЗ. рдХреНрд▓рд╛рдпрдВрдЯ рдХреЛрдб рдЬреБрдиреНрдпрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓рд╢реА рд╕реБрд╕рдВрдЧрдд рд░рд╛рд╣рддреЛ рдЖрдгрд┐ рдирд╡реАрди рдЖрдгрд┐ рдЬреБрдиреНрдпрд╛ рджреЛрдиреНрд╣реА рд╕рд░реНрд╡реНрд╣рд░рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рд╕реБрд░реВ рдареЗрд╡реВ рд╢рдХрддреЛ, рд╕рд░реНрд╡реНрд╣рд░ рджреБрд╕рд▒реНрдпрд╛рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдд рдирд╕рд▓реНрдпрд╛рд╕ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдкрд╣рд┐рд▓реНрдпрд╛ рдЖрд╡реГрддреНрддреАрд╡рд░ рдкрд░рдд рдпреЗрддреЛ.
  • "-рд╢реЛ-рд╕реНрдХреЛрдк" рдкрд░реНрдпрд╛рдп "рдЧрд┐рдЯ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди" рдХрдорд╛рдВрдбрдордзреНрдпреЗ рдЬреЛрдбрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдореБрд│реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдард┐рдХрд╛рдгрд╛рдЪреА рдУрд│рдЦ рдХрд░рдгреЗ рд╕реЛрдкреЗ рд╣реЛрддреЗ. Git рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдард┐рдХрд╛рдгреА рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ: рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ (.git/info/config), рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд (~/.gitconfig), рд╕рд┐рд╕реНрдЯрдо-рд╡рд╛рдЗрдб рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓рдордзреНрдпреЗ (/etc/gitconfig) рдЖрдгрд┐ рдХрдорд╛рдВрдбрджреНрд╡рд╛рд░реЗ рд▓рд╛рдЗрди рдкрд░реНрдпрд╛рдп рдЖрдгрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд▓. "рдЧрд┐рдЯ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди" рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддрд╛рдирд╛ рдЗрдЪреНрдЫрд┐рдд рд╕реЗрдЯрд┐рдВрдЧ рдиреЗрдордХреА рдХреБрдареЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реА рдЖрд╣реЗ рд╣реЗ рд╕рдордЬрдгреЗ рдЦреВрдк рдХрдареАрдг рдЖрд╣реЗ. рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, тАЬ--рд╢реЛ-рдУрд░рд┐рдЬрд┐рдитАЭ рдкрд░реНрдпрд╛рдп рдЙрдкрд▓рдмреНрдз рд╣реЛрддрд╛, рдкрд░рдВрддреБ рддреЛ рдлрдХреНрдд рддреНрдпрд╛ рдлрд╛рдИрд▓рдЪрд╛ рдорд╛рд░реНрдЧ рджрд░реНрд╢рд╡рд┐рддреЛ рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕реЗрдЯрд┐рдВрдЧ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реА рдЖрд╣реЗ, рдЬреА рддреБрдордЪреА рдлрд╛рдЗрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рд╛рдпрдЪреА рдЕрд╕реЗрд▓ рддрд░ рдЙрдкрдпреБрдХреНрдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рдЬрд░ рддреБрдореНрд╣реА рдорджрдд рдХрд░рдд рдирд╛рд╣реА. "--system", "--global" рдХрд┐рдВрд╡рд╛ "-local" рдкрд░реНрдпрд╛рдп рд╡рд╛рдкрд░реВрди "git config" рджреНрд╡рд╛рд░реЗ рдореВрд▓реНрдп рдмрджрд▓рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдирд╡реАрди рдкрд░реНрдпрд╛рдп "-show-scope" рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдбреЗрдлрд┐рдиреЗрд╢рди рд╕рдВрджрд░реНрдн рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЛ рдЖрдгрд┐ -show-origin рдЪреНрдпрд╛ рд╕рдВрдпреЛрдЧрд╛рдиреЗ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ:

    $ git --list --show-scope --show-origin
    рдЧреНрд▓реЛрдмрд▓ рдлрд╛рдЗрд▓:/home/user/.gitconfig diff.interhunkcontext=1
    рдЧреНрд▓реЛрдмрд▓ рдлрд╛рдЗрд▓:/home/user/.gitconfig push.default=current
    [тАж] local file:.git/config branch.master.remote=origin
    рд╕реНрдерд╛рдирд┐рдХ рдлрд╛рдЗрд▓:.git/config branch.master.merge=refs/heads/master

    $ git config --show-scope --get-regexp 'diff.*'
    рдЬрд╛рдЧрддрд┐рдХ diff.statgraphwidth 35
    рд╕реНрдерд╛рдирд┐рдХ diff.colormoved рдореИрджрд╛рди

    $ git config --global --unset diff.statgraphwidth

  • рдмрдВрдзрдирдХрд╛рд░рдХ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ рдХреНрд░реЗрдбреЗрдиреНрд╢рд┐рдпрд▓ URL рдордзреНрдпреЗ рдорд╛рд╕реНрдХ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рдкрд░рд╡рд╛рдирдЧреА рдЖрд╣реЗ. Git рдордзреАрд▓ рдХреЛрдгрддреАрд╣реА HTTP рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдЖрдгрд┐ рдХреНрд░реЗрдбреЗрдиреНрд╢рд┐рдпрд▓ рд╕рд░реНрд╡ рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА (http.extraHeader, credential.helper) рдЖрдгрд┐ URL-рдЖрдзрд╛рд░рд┐рдд рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА (credential.https://example.com.helper, credential.https://example) рджреЛрдиреНрд╣реА рд╕реЗрдЯ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд. com.helper). рдЖрддреНрддрд╛рдкрд░реНрдпрдВрдд, *.example.com рд╕рд╛рд░рдЦреНрдпрд╛ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдбреНрд╕рдирд╛ рдлрдХреНрдд HTTP рд╕реЗрдЯрд┐рдВрдЧреНрдЬрд╕рд╛рдареА рдкрд░рд╡рд╛рдирдЧреА рд╣реЛрддреА, рдкрд░рдВрддреБ рдХреНрд░реЗрдбреЗрдиреНрд╢рд┐рдпрд▓ рдмрд╛рдЗрдВрдбрд┐рдВрдЧрд╕рд╛рдареА рддреЗ рд╕рдорд░реНрдерд┐рдд рдирд╡реНрд╣рддреЗ. Git 2.26 рдордзреНрдпреЗ, рд╣реЗ рдлрд░рдХ рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рд░реНрд╡ рдЙрдкрдбреЛрдореЗрдирд╡рд░ рд╡рд╛рдкрд░рдХрд░реНрддрд╛рдирд╛рд╡ рдмрд╛рдВрдзрдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рдЖрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛:

    [рдХреНрд░реЗрдбреЗрдиреНрд╢рд┐рдпрд▓ "https://*.example.com"]

    рд╡рд╛рдкрд░рдХрд░реНрддрд╛рдирд╛рд╡ = ttaylorr

  • рдЖрдВрд╢рд┐рдХ рдХреНрд▓реЛрдирд┐рдВрдЧ (рдЖрдВрд╢рд┐рдХ рдХреНрд▓реЛрди) рд╕рд╛рдареА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╕рдорд░реНрдердирд╛рдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реБрд░реВрдЪ рдЖрд╣реЗ, рдЬреНрдпрд╛рдореБрд│реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдбреЗрдЯрд╛рдЪрд╛ рдлрдХреНрдд рдХрд╛рд╣реА рднрд╛рдЧ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рдпреЗрддреЛ рдЖрдгрд┐ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЪреНрдпрд╛ рдЕрдкреВрд░реНрдг рдкреНрд░рддреАрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рдпреЗрддреЗ. рдирд╡реАрди рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ "git sparse-checkout add" рд╣реА рдирд╡реАрди рдХрдорд╛рдВрдб рдЬреЛрдбрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ "git" рдХрдорд╛рдВрдбрджреНрд╡рд╛рд░реЗ рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЕрд╢рд╛ рд╕рд░реНрд╡ рдбрд┐рд░реЗрдХреНрдЯрд░реА рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА, рдХрд╛рд░реНрдпрд░рдд рдЭрд╛рдбрд╛рдЪреНрдпрд╛ рдлрдХреНрдд рднрд╛рдЧрд╛рд╡рд░ "рдЪреЗрдХрдЖрдЙрдЯ" рдСрдкрд░реЗрд╢рди рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡реИрдпрдХреНрддрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рд╡рд┐рд░рд│-рдЪреЗрдХрдЖрдЙрдЯ рд╕реЗрдЯ" (рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рд╕рдВрдкреВрд░реНрдг рдпрд╛рджреА рдкреБрдиреНрд╣рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рди рдХрд░рддрд╛, рддреБрдореНрд╣реА рдПрдХрд╛рдорд╛рдЧреВрди рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЬреЛрдбреВ рд╢рдХрддрд╛).
    рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдмреНрд▓реЙрдмреНрд╕ рди рдХрд░рддрд╛ рдЧрд┐рдЯ/рдЧрд┐рдЯ рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рдХреНрд▓реЛрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЪреЗрдХрдЖрдЙрдЯ рдХреЗрд╡рд│ рдХрд╛рд░реНрдпрд░рдд рдХреЙрдкреАрдЪреНрдпрд╛ рдореВрд│ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдкрд░реНрдпрдВрдд рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ "t" рдЖрдгрд┐ "рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдВрд╕рд╛рдареА рдЪреЗрдХрдЖрдЙрдЯ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░рдгреЗ, рдЖрдкрдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛:

    $ git clone --filter=blob: none --sparse [рдИрдореЗрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд]:git/git.git

    $ cd git
    $ git sparse-checkout init --cone

    $ git sparse-checkout add t
    ....
    $ git sparse-checkout рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдЬреЛрдбрд╛
    ....
    $ git рд╕реНрдкрд╛рд░реНрд╕-рдЪреЗрдХрдЖрдЙрдЯ рд╕реВрдЪреА
    рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг
    t

  • "git grep" рдХрдорд╛рдВрдбрдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди, рд░рд┐рдкреЙрдЭрд┐рдЯрд░реА рдЖрдгрд┐ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдЖрд╡рд░реНрддрди рджреЛрдиреНрд╣реА рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ, рд▓рдХреНрд╖рдгреАрдп рд╕реБрдзрд╛рд░рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ. рд╢реЛрдзрд╛рдЪреА рдЧрддреА рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА, рдЕрдиреЗрдХ рдереНрд░реЗрдбреНрд╕ (тАЬgit grep тАУthreadsтАЭ) рд╡рд╛рдкрд░реВрди рдХрд╛рд░реНрдпрд░рдд рдЭрд╛рдбрд╛рдЪреА рд╕рд╛рдордЧреНрд░реА рд╕реНрдХреЕрди рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ, рдкрд░рдВрддреБ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдкреБрдирд░рд╛рд╡реГрддреНрддреАрдВрдордзреАрд▓ рд╢реЛрдз рд╕рд┐рдВрдЧрд▓-рдереНрд░реЗрдбреЗрдб рд╣реЛрддрд╛. рдЖрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬрдордзреВрди рд╡рд╛рдЪрди рдСрдкрд░реЗрд╢рдиреНрд╕ рд╕рдорд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдХрд░реВрди рд╣реА рдорд░реНрдпрд╛рджрд╛ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдд рдЖрд▓реА рдЖрд╣реЗ. рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рдереНрд░реЗрдбреНрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛ рд╕реАрдкреАрдпреВ рдХреЛрд░рдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдЗрддрдХреА рд╕реЗрдЯ рдХреЗрд▓реА рдЬрд╛рддреЗ, рдЬреНрдпрд╛рд╕рд╛рдареА рдЖрддрд╛ "-рдереНрд░реЗрдбреНрд╕" рдкрд░реНрдпрд╛рдп рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА.
  • рд╕рдмрдХрдорд╛рдВрдбреНрд╕, рдкрде, рд▓рд┐рдВрдХреНрд╕ рдЖрдгрд┐ тАЬрдЧрд┐рдЯ рд╡рд░реНрдХрдЯреНрд░реАтАЭ рдХрдорд╛рдВрдбрдЪреНрдпрд╛ рдЗрддрд░ рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯреНрд╕рдЪреНрдпрд╛ рд╕реНрд╡рдпрдВрдкреВрд░реНрдгрддреЗрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдЖрд╣реЗ, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЪреНрдпрд╛ рдЕрдиреЗрдХ рдХрд╛рд░реНрдпрд░рдд рдкреНрд░рддреАрдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.
  • рдПрдПрдирдПрд╕рдЖрдп рдПрд╕реНрдХреЗрдк рд╕реАрдХреНрд╡реЗрдиреНрд╕ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЪрдордХрджрд╛рд░ рд░рдВрдЧрд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╣рд╛рдпрд▓рд╛рдЗрдЯ рд░рдВрдЧрд╛рдВрдЪреНрдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ тАЬgit config тАУcolorтАЭ рдХрд┐рдВрд╡рд╛ тАЬgit diff тАУcolor-movedтАЭ рддреБрдореНрд╣реА рдЪрдордХрджрд╛рд░ рдирд┐рд│реНрдпрд╛рд╕рд╛рдареА тАЬ--formatтАЭ рдкрд░реНрдпрд╛рдпрд╛рджреНрд╡рд╛рд░реЗ тАЬ%C(brightblue)тАЭ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛.
  • рд╕реНрдХреНрд░рд┐рдкреНрдЯрдЪреА рдирд╡реАрди рдЖрд╡реГрддреНрддреА рдЬреЛрдбрд▓реА fsmonitor-рд╡реЙрдЪрдорди, рдпрдВрддреНрд░рдгрд╛ рд╕рд╣ рдПрдХреАрдХрд░рдг рдкреНрд░рджрд╛рди рдлреЗрд╕рдмреБрдХ рд╡реЙрдЪрдорди рдлрд╛рдИрд▓рдордзреАрд▓ рдмрджрд▓рд╛рдВрдЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдШреЗрдгреЗ рдЖрдгрд┐ рдирд╡реАрди рдлрд╛рдЗрд▓реНрд╕ рджрд┐рд╕рдгреЗ. рдЧрд┐рдЯ рдЕрдкрдбреЗрдЯ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдкреБрдирд░реНрд╕реНрдерд┐рдд рдХрд░рд╛ рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рдордзреНрдпреЗ рд╣реБрдХ.
  • рдмрд┐рдЯрдореЕрдк рд╡рд╛рдкрд░рддрд╛рдирд╛ рдЖрдВрд╢рд┐рдХ рдХреНрд▓реЛрдирдЪреА рдЧрддреА рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдЬреЛрдбрд▓реЗ
    (рдмрд┐рдЯрдореЕрдк рдорд╢реАрдирд░реА) рдЖрдЙрдЯрдкреБрдЯ рдлрд┐рд▓реНрдЯрд░ рдХрд░рддрд╛рдирд╛ рд╕рд░реНрд╡ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдЪрд╛ рд╕рдВрдкреВрд░реНрдг рд╢реЛрдз рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА. рдЖрдВрд╢рд┐рдХ рдХреНрд▓реЛрдирд┐рдВрдЧ рджрд░рдореНрдпрд╛рди рдмреНрд▓реЙрдм (тАФfilter=blob:none рдЖрдгрд┐ тАФfilter=blob:limit=n) рддрдкрд╛рд╕рдгреЗ рдЖрддрд╛ рдХреЗрд▓реЗ рдЬрд╛рддреЗ.
    рд▓рдХреНрд╖рдгреАрдп рдЬрд▓рдж. GitHub рдиреЗ рдпрд╛ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рдирд╕рд╣ рдкреЕрдЪрдЪреА рдШреЛрд╖рдгрд╛ рдХреЗрд▓реА рдЖрдгрд┐ рдЖрдВрд╢рд┐рдХ рдХреНрд▓реЛрдирд┐рдВрдЧрд╕рд╛рдареА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╕рдорд░реНрдерди рдХреЗрд▓реЗ.

  • "рдЧрд┐рдЯ рд░рд┐рдмреЗрд╕" рдХрдорд╛рдВрдб рд╡реЗрдЧрд│реНрдпрд╛ рдмреЕрдХрдПрдВрдбрд╡рд░ рд╣рд▓рд╡рдгреНрдпрд╛рдд рдЖрд▓реА рдЖрд╣реЗ, 'рдкреЕрдЪ+рдЕрдкреНрд▓рд╛рдп' рдРрд╡рдЬреА рдбреАрдлреЙрд▓реНрдЯ 'рдорд░реНрдЬ' рдореЗрдХреЕрдирд┐рдЭрдо (рдкреВрд░реНрд╡реА "рд░реАрдмреЗрд╕ -i" рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдд рд╣реЛрддреА) рд╡рд╛рдкрд░реВрди. рдмреЕрдХрдПрдВрдб рдХрд╛рд╣реА рдЫреЛрдЯреНрдпрд╛ рдорд╛рд░реНрдЧрд╛рдВрдиреА рднрд┐рдиреНрди рдЕрд╕рддрд╛рдд, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рдВрдШрд░реНрд╖рд╛рдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдСрдкрд░реЗрд╢рди рд╕реБрд░реВ рдареЗрд╡рд▓реНрдпрд╛рдирдВрддрд░ (git rebase --continue), рдирд╡реАрди рдмреЕрдХрдПрдВрдб рдХрдорд┐рдЯ рдореЗрд╕реЗрдЬ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдСрдлрд░ рджреЗрддреЗ, рддрд░ рдЬреБрдирд╛ рдлрдХреНрдд рдЬреБрдирд╛ рдореЗрд╕реЗрдЬ рд╡рд╛рдкрд░рддреЛ. рдЬреБрдиреНрдпрд╛ рд╡рд░реНрддрдирд╛рдХрдбреЗ рдкрд░рдд рдЬрд╛рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА "--apply" рдкрд░реНрдпрд╛рдп рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ рдХрд┐рдВрд╡рд╛ 'rebase.backend' рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ 'рд▓рд╛рдЧреВ' рд╡рд░ рд╕реЗрдЯ рдХрд░реВ рд╢рдХрддрд╛.
  • .netrc рджреНрд╡рд╛рд░реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╛рдареА рд╣рдБрдбрд▓рд░рдЪреЗ рдЙрджрд╛рд╣рд░рдг рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпреЛрдЧреНрдп рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдлреЙрд░реНрдордордзреНрдпреЗ рдХрдореА рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.
  • рдбрд┐рдЬрд┐рдЯрд▓ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдкрдбрддрд╛рд│рдгреА рдХрд░рдгрд╛рд▒реНрдпрд╛ рд╡рд┐рд╡рд┐рдз рдШрдЯрдХрд╛рдВрд╕рд╛рдареА рдХрд┐рдорд╛рди рд╡рд┐рд╢реНрд╡рд╛рд╕ рдкрд╛рддрд│реА рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА gpg.minTrustLevel рд╕реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд▓реА.
  • "рдЧреАрдЯ рдЖрд░рдПрдо" рдЖрдгрд┐ "рдЧрд┐рдЯ рд╕реНрдЯреЕрд╢" рдордзреНрдпреЗ "--pathspec-from-file" рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛.
  • SHA-2 рдРрд╡рдЬреА SHA-1 рд╣реЕрд╢рд┐рдВрдЧ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордордзреНрдпреЗ рд╕рдВрдХреНрд░рдордгрд╛рдЪреА рддрдпрд╛рд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЪрд╛рдЪрдгреА рд╕реВрдЯреНрд╕рдЪреА рд╕реБрдзрд╛рд░рдгрд╛ рдЪрд╛рд▓реВ рд░рд╛рд╣рд┐рд▓реА.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛