рд╡рд┐рддрд░рд┐рдд рд╕реНрд░реЛрдд рдирд┐рдпрдиреНрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА Git 2.26 рдХреЛ рд░рд┐рд▓реАрдЬ

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

рдЕрдШрд┐рд▓реНрд▓реЛ рд░рд┐рд▓реАрдЬрдХреЛ рддреБрд▓рдирд╛рдорд╛, рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрдорд╛ 504 рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреН, 64 рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд╕рд╣рднрд╛рдЧрд┐рддрд╛рдорд╛ рддрдпрд╛рд░ рдкрд╛рд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдЬрд╕рдордзреНрдпреЗ 12 рд▓реЗ рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ рд╡рд┐рдХрд╛рд╕рдорд╛ рднрд╛рдЧ рд▓рд┐рдПред рдореБрдЦреНрдп рдирд╡рд╛рдЪрд╛рд░рд╣рд░реВ:

  • рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░рд┐рдПрдХреЛ рдЫ рджреЛрд╕реНрд░реЛ рд╕рдВрд╕реНрдХрд░рдг Git рд╕рдВрдЪрд╛рд░ рдкреНрд░реЛрдЯреЛрдХрд▓, рдЬреБрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ рдЬрдм рдЧреНрд░рд╛рд╣рдХ рдЯрд╛рдврд╛рдмрд╛рдЯ Git рд╕рд░реНрднрд░рдорд╛ рдЬрдбрд╛рди рд╣реБрдиреНрдЫред рдкреНрд░реЛрдЯреЛрдХрд▓рдХреЛ рджреЛрд╕реНрд░реЛ рд╕рдВрд╕реНрдХрд░рдг рд╕рд░реНрднрд░ рд╕рд╛рдЗрдбрдорд╛ рд╢рд╛рдЦрд╛рд╣рд░реВ рд░ рдЯреНрдпрд╛рдЧрд╣рд░реВ рдлрд┐рд▓реНрдЯрд░ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдЫ, рдХреНрд▓рд╛рдЗрдиреНрдЯрд▓рд╛рдИ рд▓рд┐рдЩреНрдХрд╣рд░реВрдХреЛ рдЫреЛрдЯреЛ рд╕реВрдЪреА рдлрд░реНрдХрд╛рдЙрдБрджреИред рдкрд╣рд┐рд▓реЗ, рдХреБрдиреИ рдкрдирд┐ рдкреБрд▓ рдХрдорд╛рдгреНрдбрд▓реЗ рд╕рдзреИрдБ рдЧреНрд░рд╛рд╣рдХрд▓рд╛рдИ рд╕рдореНрдкреВрд░реНрдг рднрдгреНрдбрд╛рд░рдорд╛ рд╕рдиреНрджрд░реНрднрд╣рд░реВрдХреЛ рдкреВрд░реНрдг рд╕реВрдЪреА рдкрдард╛рдЙрдиреЗ рдЧрд░реНрджрдереНрдпреЛ, рдЧреНрд░рд╛рд╣рдХрд▓реЗ рдПрдЙрдЯрд╛ рд╢рд╛рдЦрд╛ рдорд╛рддреНрд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рд╡рд╛ рднрдгреНрдбрд╛рд░рдХреЛ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЕрдк рдЯреБ рдбреЗрдЯ рднрдПрдХреЛ рдЬрд╛рдБрдЪ рдЧрд░реНрджрд╛ рдкрдирд┐ред рдЕрд░реНрдХреЛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдирд╡реАрдирддрд╛ рднрдиреЗрдХреЛ рдкреНрд░реЛрдЯреЛрдХрд▓рдорд╛ рдирдпрд╛рдБ рдХреНрд╖рдорддрд╛рд╣рд░реВ рдердкреНрдиреЗ рдХреНрд╖рдорддрд╛ рд╣реЛ рдХрд┐рдирднрдиреЗ рдирдпрд╛рдБ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЯреВрд▓рдХрд┐рдЯрдорд╛ рдЙрдкрд▓рдмреНрдз рд╣реБрдиреНрдЫред рдХреНрд▓рд╛рдЗрдиреНрдЯ рдХреЛрдб рдкреБрд░рд╛рдиреЛ рдкреНрд░реЛрдЯреЛрдХрд▓рд╕рдБрдЧ рдорд┐рд▓реНрджреЛ рд░рд╣рдиреНрдЫ рд░ рд╕рд░реНрднрд░рд▓реЗ рджреЛрд╕реНрд░реЛрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджреИрди рднрдиреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдкрд╣рд┐рд▓реЛ рд╕рдВрд╕реНрдХрд░рдгрдорд╛ рдлрд░реНрдХреЗрд░, рдирдпрд╛рдБ рд░ рдкреБрд░рд╛рдиреЛ рд╕рд░реНрднрд░рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрди рд╕рдХреНрдЫред
  • "-show-scope" рд╡рд┐рдХрд▓реНрдк "git config" рдЖрджреЗрд╢рдорд╛ рдердкрд┐рдПрдХреЛ рдЫ, рдпрд╕рд▓реЗ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдард╛рдЙрдБ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдБрдЫред Git рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рднрд┐рдиреНрди рдард╛рдЙрдБрд╣рд░реВрдорд╛ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ: рднрдгреНрдбрд╛рд░рдорд╛ (.git/info/config), рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ (~/.gitconfig), рдкреНрд░рдгрд╛рд▓реА-рд╡реНрдпрд╛рдкреА рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдорд╛ (/etc/gitconfig), рд░ рдЖрджреЗрд╢ рдорд╛рд░реНрдлрддред рд░реЗрдЦрд╛ рд╡рд┐рдХрд▓реНрдк рд░ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ред "git рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди" рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрджрд╛ рдпреЛ рдмреБрдЭреНрди рдЧрд╛рд╣реНрд░реЛ рдЫ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдЗрдЪреНрдЫрд┐рдд рд╕реЗрдЯрд┐рдЩ рдХрд╣рд╛рдБ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред рдпреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, "--sow-origin" рд╡рд┐рдХрд▓реНрдк рдЙрдкрд▓рдмреНрдз рдерд┐рдпреЛ, рддрд░ рдпрд╕рд▓реЗ рд╕реЗрдЯрд┐рдЩ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдлрд╛рдЗрд▓рдХреЛ рдмрд╛рдЯреЛ рдорд╛рддреНрд░ рджреЗрдЦрд╛рдЙрдБрдЫ, рдЬреБрди рддрдкрд╛рдИрдВрд▓реЗ рдлрд╛рдЗрд▓ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ рдЙрдкрдпреЛрдЧреА рд╣реБрдиреНрдЫ, рддрд░ рдорджреНрджрдд рдЧрд░реНрджреИрдиред рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ "--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" рдХрдорд╛рдгреНрдб рдорд╛рд░реНрдлрдд рдПрдХреИрдЪреЛрдЯрд┐ рддреНрдпрд╕реНрддрд╛ рд╕рдмреИ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрд╣рд░реВ рд╕реВрдЪреАрдмрджреНрдз рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ "рдЪреЗрдХрдЖрдЙрдЯ" рдЕрдкрд░реЗрд╢рдирд▓рд╛рдИ рдХрд╛рдо рдЧрд░реНрдиреЗ рд░реВрдЦрдХреЛ рднрд╛рдЧрдорд╛ рд▓рд╛рдЧреВ рдЧрд░реНрди рд╡реНрдпрдХреНрддрд┐рдЧрдд рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрд╣рд░реВ рдердкреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред sparse-checkout set" (рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрдЯрдХ рд╕рдореНрдкреВрд░реНрдг рд╕реВрдЪреА рдкреБрди: рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирдЧрд░реАрдХрди, рдПрдХ-рдПрдХ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдердкреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ)ред
    рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдмреНрд▓рдмрд╣рд░реВ рдирдЧрд░реАрдХрди git/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 worktree" рдЖрджреЗрд╢рдХреЛ рдЕрдиреНрдп рддрд░реНрдХрд╣рд░реВрдХреЛ рдЗрдирдкреБрдЯрдХреЛ рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рднрдгреНрдбрд╛рд░рдХреЛ рдзреЗрд░реИ рдХрд╛рдо рдЧрд░реНрдиреЗ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
  • ANSI рдПрд╕реНрдХреЗрдк рдЕрдиреБрдХреНрд░рдорд╣рд░реВ рднрдПрдХрд╛ рдЙрдЬреНрдпрд╛рд▓реЛ рд░рдЩрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рд░рдЩрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдорд╛ "git config -color" рд╡рд╛ "git diff -color-moved" рддрдкрд╛рдИрдВрд▓реЗ рдЙрдЬреНрдпрд╛рд▓реЛ рдиреАрд▓реЛрдХреЛ рд▓рд╛рдЧрд┐ "--format" рд╡рд┐рдХрд▓реНрдк рдорд╛рд░реНрдлрдд "% C(brightblue)" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
  • рд╕реНрдХреНрд░рд┐рдкреНрдЯрдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг рдердкрд┐рдпреЛ fsmonitor-рдкрд╣рд░реЗрджрд╛рд░, рд╕рдВрдпрдиреНрддреНрд░ рд╕рдВрдЧ рдПрдХреАрдХрд░рдг рдкреНрд░рджрд╛рди рдЧрд░реНрджреИ рдлреЗрд╕рдмреБрдХ рдЪреМрдХреАрджрд╛рд░ рдлрд╛рдИрд▓ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд░ рдирдпрд╛рдБ рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рдХреЛ рдЯреНрд░реНрдпрд╛рдХрд┐рдЩрд▓рд╛рдИ рдЧрддрд┐ рджрд┐рдиред Git рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реЗрдкрдЫрд┐ рдЖрд╡рд╢реНрдпрдХ рдЫ рдмрджрд▓реНрдиреБрд╣реЛрд╕реН рднрдгреНрдбрд╛рд░рдорд╛ рд╣реБрдХред
  • рдмрд┐рдЯрдореНрдпрд╛рдк рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рдЖрдВрд╢рд┐рдХ рдХреНрд▓реЛрдирд╣рд░реВрдХреЛ рдЧрддрд┐ рдмрдврд╛рдЙрди рдЕрдиреБрдХреВрд▓рдирд╣рд░реВ рдердкрд┐рдпреЛ
    (рдмрд┐рдЯрдореНрдпрд╛рдк рдореЗрд╕рд┐рдирд░реА) рдЖрдЙрдЯрдкреБрдЯ рдлрд┐рд▓реНрдЯрд░ рдЧрд░реНрджрд╛ рд╕рдмреИ рд╡рд╕реНрддреБрд╣рд░реВрдХреЛ рдкреВрд░реНрдг рдЦреЛрдЬрдмрд╛рдЯ рдмрдЪреНрдиред рдЖрдВрд╢рд┐рдХ рдХреНрд▓реЛрдирд┐рдЩрдХреЛ рдХреНрд░рдордорд╛ рдмреНрд▓рдмрд╣рд░реВ (тАФрдлрд┐рд▓реНрдЯрд░=рдмреНрд▓рдм:рдХреБрдиреИ рдкрдирд┐ рд░ тАФрдлрд┐рд▓реНрдЯрд░=рдмреНрд▓рдм:рд▓рд┐рдорд┐рдЯ=n) рдХреЛ рд▓рд╛рдЧрд┐ рдЬрд╛рдБрдЪ рдЧрд░рд┐рдБрджреИрдЫред
    рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдкрдорд╛ рдЫрд┐рдЯреЛред GitHub рд▓реЗ рдпреА рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рдирд╣рд░реВ рд░ рдЖрдВрд╢рд┐рдХ рдХреНрд▓реЛрдирд┐рдЩрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕рдорд░реНрдердирдХреЛ рд╕рд╛рде рдкреНрдпрд╛рдЪрд╣рд░реВ рдШреЛрд╖рдгрд╛ рдЧрд░реНрдпреЛред

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

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди