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

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

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

  • рдЖрдВрд╢рд┐рдХ рдХреНрд▓реЛрдирд┐рдЩрдХреЛ рд╕рдореНрднрд╛рд╡рдирд╛ рд╕реНрдерд┐рд░рддрд╛ рд░ рдкреВрд░реНрдг рддрддреНрдкрд░рддрд╛рдХреЛ рдирдЬрд┐рдХ рдЫ, рддрдкрд╛рдИрдВрд▓рд╛рдИ рдбрд╛рдЯрд╛рдХреЛ рдЕрдВрд╢ рдорд╛рддреНрд░ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрди рд░ рднрдгреНрдбрд╛рд░рдХреЛ рдЕрдкреВрд░реНрдг рдкреНрд░рддрд┐рд▓рд┐рдкрд┐рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд▓реЛрдирд▓реЗ рдкрд░рд┐рд╡рд░реНрддрди рдЗрддрд┐рд╣рд╛рд╕рдорд╛ рдкреНрд░рддреНрдпреЗрдХ рдлрд╛рдЗрд▓рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдХрд░рдг рд╕рд╣рд┐рдд рднрдгреНрдбрд╛рд░рдмрд╛рдЯ рд╕рдмреИ рдбреЗрдЯрд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрджрдЫред рдзреЗрд░реИ рдареВрд▓рд╛ рднрдгреНрдбрд╛рд░рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рдбреЗрдЯрд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрджрд╛ рдЯреНрд░рд╛рдлрд┐рдХ рд░ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рдирдорд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╡реГрджреНрдзрд┐ рд╣реБрдиреНрдЫ, рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓реЗ рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рдЙрдкрд╕рдореВрд╣рдорд╛ рдорд╛рддреНрд░ рд░реБрдЪрд┐ рд░рд╛рдЦреЗрдХреЛ рднрдП рддрд╛рдкрдирд┐ред рдХрд╛рдо рдЧрд░реНрдиреЗ рд╕реНрд░реЛрдд рд░реВрдЦрдХреЛ рдорд╛рддреНрд░ рдЕрдВрд╢ рдкреБрди: рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐, рдирдпрд╛рдБ рд░рд┐рд▓реАрдЬрд▓реЗ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ "рд╕реНрдкрд░реНрд╢-рдЪреЗрдХрдЖрдЙрдЯ" рдХрдорд╛рдгреНрдб рд░ "рдХреНрд▓реЛрди" рдЖрджреЗрд╢рдХреЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ "--sparse" рд╡рд┐рдХрд▓реНрдк рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНрджрдЫред

    рдкрд╣рд┐рд▓реЗ, рдЪрдпрдирд╛рддреНрдордХ рдХреНрд▓реЛрдирд┐рдЩ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рд░реНрдп рдорд╛рд░реНрдлрдд рдкреНрд░рджрд░реНрд╢рди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ рдлрд┐рд▓реНрдЯрд░рд╣рд░реВ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рд╛рдордЧреНрд░реА рдлрд┐рд▓реНрдЯрд░ рдЧрд░реНрди рд░ рдЫреБрдЯреЗрдХрд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рднрд░реНрди рдЕрд╕рдХреНрд╖рдо рдкрд╛рд░реНрди "рдиреЛ-рдЪреЗрдХрдЖрдЙрдЯ" рд╡рд┐рдХрд▓реНрдкред рддреНрдпрд╕ рдкрдЫрд┐, рдЪреЗрдХрдЖрдЙрдЯ рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реНрдиреБ рдЕрдШрд┐, core.sparseCheckout рд╕реЗрдЯрд┐рдЩ рд╕рдХреНрд╖рдо рдЧрд░реНрди рд░ .git/info/sparse-checkout рдлрд╛рдЗрд▓рдорд╛ рдмрд╣рд┐рд╖реНрдХреГрдд рдорд╛рд░реНрдЧ рдврд╛рдБрдЪрд╛рд╣рд░реВрдХреЛ рд╕реВрдЪреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдмреНрд▓рдм рдмрд┐рдирд╛ рдХреНрд▓реЛрди рдЧрд░реНрди рд░ рдЧрд╣рд┐рд░рд╛рдИ 2 рд╡рд╛ рдЕрдзрд┐рдХ рдХреЛ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рд╣рд░реБ рдмрд╛рдЯ рдлрд╛рдИрд▓рд╣рд░реБ рд▓рд╛рдИ рдирд┐рдХрд╛рд▓реНрдирдмрд╛рдЯ рд░реЛрдХреНрди, рддрдкрд╛рдИрд▓реЗ рдЪрд▓рд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

    git clone --filter=blob: none --no-checkout/your/repository/here repo
    $cd рд░рд┐рдкреЛ
    $ cat >.git/info/sparse-checkout <EOF
    /*
    !/*
    рдИрдУрдПрдл
    $ git config core.sparseCheckout 1
    $ git рдЪреЗрдХрдЖрдЙрдЯред

    рдирдпрд╛рдБ "git sparse-checkout" рдЖрджреЗрд╢рд▓реЗ рдХрд╛рдорд▓рд╛рдИ рдзреЗрд░реИ рд╕рд░рд▓ рдмрдирд╛рдЙрдБрдЫ рд░ рдирд┐рдореНрди рдЖрджреЗрд╢рд╣рд░реВрдорд╛ рдЕрдкреВрд░реНрдг рднрдгреНрдбрд╛рд░рд╕рдБрдЧ рдХрд╛рдо рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рдХрдо рдЧрд░реНрдЫ:

    git clone --filter=blob: none --sparse/your/repository/here repo
    git sparse-checkout рд╕реЗрдЯ /path/to/check/out

    рд╕реНрдкрд╛рд░реНрд╕-рдЪреЗрдХрдЖрдЙрдЯ рдЖрджреЗрд╢рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдХрдиреНрдлрд┐рдЧрд░ рдирдЧрд░реА рдЪреЗрдХрдЖрдЙрдЯ (рд╕реЗрдЯ) рдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рд░реНрдЧрд╣рд░реВрдХреЛ рд╕реВрдЪреА рд╕реЗрдЯ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рд╕рд╛рдереИ рдорд╛рд░реНрдЧрд╣рд░реВрдХреЛ рд╣рд╛рд▓рдХреЛ рд╕реВрдЪреА (рд╕реВрдЪреА) рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдЖрдВрд╢рд┐рдХ рдЪреЗрдХрдЖрдЙрдЯрд╣рд░реВ рд╕рдХреНрд╖рдо рд╡рд╛ рдЕрд╕рдХреНрд╖рдо рдкрд╛рд░реНрдиреБрд╣реЛрд╕реН (рд╕рдХреНрд╖рдо рдЧрд░реНрдиреБрд╣реЛрд╕реНред / рдЕрд╕рдХреНрд╖рдо)ред

    рдзреЗрд░реИ рдареВрд▓рд╛ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реАрд╣рд░реВ рд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯрд╣рд░реВрдХреЛ рд╕реВрдЪреАрд╣рд░реВрдХреЛ рд╕рд╛рде рдХрд╛рдорд▓рд╛рдИ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди, "git config core.sparseCheckoutCone", рдЬрд╕рд▓реЗ рдЕрдиреБрдореЛрджрд┐рдд рдврд╛рдБрдЪрд╛рд╣рд░реВрд▓рд╛рдИ рд╕реАрдорд┐рдд рдЧрд░реНрджрдЫ (рдЖрд░реНрдмрд┐рдЯрд░реА .gitignore рдврд╛рдБрдЪрд╛рд╣рд░реВрдХреЛ рд╕рдЯреНрдЯрд╛, рддрдкрд╛рдЗрдБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдХрд┐ рджрд┐рдЗрдПрдХреЛ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдорд╛ рд╕рдмреИ рдорд╛рд░реНрдЧрд╣рд░реВ рд░ рд╕рдмреИ рдлрд╛рдЗрд▓рд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░рд┐рдиреБрдкрд░реНрдЫ)ред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрджрд┐ рдареВрд▓реЛ рднрдгреНрдбрд╛рд░рдорд╛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА "A/B/C" рдЫ рд░ рд╕рдмреИ рдХрд╛рдо рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ "C" рдорд╛ рдХреЗрдиреНрджреНрд░рд┐рдд рдЫ, рддрдм рдЬрдм рддрдкрд╛рдЗрдБ sparseCheckoutCone рдореЛрдб рд╕рдХреНрд╖рдо рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ, рдЖрджреЗрд╢ "git sparse-checkout рд╕реЗрдЯ A/B/ C" рд▓реЗ "C" рдХреЛ рд╕рдореНрдкреВрд░реНрдг рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдирд┐рдХрд╛рд▓реНрдиреЗрдЫ, рддрд░ "A" рд░ "B" рдмрд╛рдЯ рдпрд╕рд▓реЗ "C" рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рднрд╛рдЧрд╣рд░реВ рдорд╛рддреНрд░ рдирд┐рдХрд╛рд▓реНрдиреЗрдЫред

  • рдХрд╛рдЧрдЬрд╛рддрдмрд╛рдЯ ("git rebase -h"), "--preserve-merges" рд╡рд┐рдХрд▓реНрдкрдХрд╛ рд╕рдмреИ рд╕рдиреНрджрд░реНрднрд╣рд░реВ рд╣рдЯрд╛рдЗрдПрдХрд╛ рдЫрдиреН, рдЬреБрди рдкрджрд╛рд╡рдирдд рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рдХрдорд┐рдЯрд╣рд░реВрдХреЛ рд╕реЗрдЯ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдирдХреЛ рд╕рдЯреНрдЯрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдЫредgit rebase --rebase-merges"ред
  • рдореЗрд▓рд┐рдЩ рд╕реВрдЪреАрд╣рд░реВрдорд╛ рдкрдард╛рдЗрдПрдХрд╛ рдкреНрдпрд╛рдЪрд╣рд░реВрд╕рд╣рд┐рдд рд╕рдиреНрджреЗрд╢рд╣рд░реВрдХреЛ рдкрдардиреАрдпрддрд╛ рд╕реБрдзрд╛рд░ рдЧрд░реНрди, "рдЧрд┐рдЯ рдврд╛рдБрдЪрд╛-рдкреНрдпрд╛рдЪ тАФрдХрднрд░-рдлреНрд░рдо-рд╡рд┐рд╡рд░рдг рд╡рд┐рд╖рдп" рд╡рд┐рдХрд▓реНрдк рдердкрд┐рдПрдХреЛ рдЫ, рдЬрдм рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд╢рд╛рдЦрд╛ рд╡рд┐рд╡рд░рдг рдкрд╛рдардХреЛ рдкрд╣рд┐рд▓реЛ рдЕрдиреБрдЪреНрдЫреЗрдж рд╡рд┐рд╖рдпрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдкреНрдпрд╛рдЪрд╣рд░реВрдХреЛ рд╕реЗрдЯрдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рд░рдг рдкрддреНрд░ред
  • "git apply -3way" рдЖрджреЗрд╢ рд░ "merge.conflictStyle" рд╕реЗрдЯрд┐рдЩрдХреЛ рд╕рдВрдпреБрдХреНрдд рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдПрдХреЛ рд╕рдорд░реНрдерди ("git apply" рд▓реЗ рдЕрдм merge.conflictStyle рдмрд╛рдЯ рджреНрд╡рдиреНрджреНрд╡ рд╡рд░реНрдгрди рд╢реИрд▓реАрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрдЫ рдЬрдм рдпреЛ рдкреНрд░рдпрд╛рд╕ рдкрдЫрд┐ рджреНрд╡рдиреНрджреНрд╡ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреНрдЫред рднрдгреНрдбрд╛рд░рдорд╛ рдкреНрдпрд╛рдЪ рдлрд╛рдЗрд▓ рд▓рд╛рдЧреВ рдЧрд░реНрди)ред
  • "git diff/grep --show-function/-function-context" рдЬрд╕реНрддрд╛ рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рд╣реБрдиреЗ рдкреНрд░рдХрд╛рд░реНрдп рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛрдбрд▓рд╛рдИ рднрд╛рд╖рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВрдорд╛ рдкреНрд░рдХрд╛рд░реНрдп рд╕реАрдорд╛рд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рд╕рдорд░реНрдерди рдЧрд░реНрди рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫред рдПрд▓рд┐рд╕реЗрдЗрд░.
  • "рдЧрд┐рдЯ рдПрдб", "рдЧрд┐рдЯ рдХрдорд┐рдЯ", "рдЧрд┐рдЯ рд░рд┐рд╕реЗрдЯ" рд░ рдЕрдиреНрдп рдЖрджреЗрд╢рд╣рд░реВрдорд╛ рдирдпрд╛рдБ рд╡рд┐рдХрд▓реНрдк рдердкрд┐рдПрдХреЛ рдЫ - "-pathspec-from-file", рдЬрд╕рд▓реЗ рдлрд╛рдЗрд▓ рд╡рд╛ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░рд┐рдордмрд╛рдЯ рдорд╛рд░реНрдЧрд╣рд░реВрдХреЛ рд╕реВрдЪреА рд▓реЛрдб рдЧрд░реНрди рд╕рдореНрднрд╡ рдмрдирд╛рдЙрдБрдЫред , рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрдирдорд╛ рд╕реВрдЪреАрдмрджреНрдз рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ред
  • рдХрдорд┐рдЯ рд▓реЗрдЦреНрджрд╛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рд╕реНрддрд░рдорд╛ рдкреБрди:рдирд╛рдорд╛рдХрд░рдг рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреЗ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рднрдПрдХреЛ рдЫред рдпрджрд┐ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдХрд╛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рднрдгреНрдбрд╛рд░рдХреЛ рдореВрд▓рдорд╛ рд╕рд╛рд░рд┐рдпреЛ рднрдиреЗ рдкрд░рд┐рднрд╛рд╖рд╛рд▓реЗ рдХрд╛рдо рдЧрд░реНрджреИрдиред
  • рдкреБрди: рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ "git add -i" рдХрдорд╛рдгреНрдбрдХреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫ, рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдкрд░реНрд▓ рджреЗрдЦрд┐ C рдорд╛ рдкреБрди: рд▓реЗрдЦрд┐рдПрдХреЛ, рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд░реВрдкрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░рд┐рдПрдХреЛ рд╕рд╛рдордЧреНрд░реА рдердкреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИред "git add-p" рдХрдорд╛рдгреНрдбрдХреЛ рд╕рдорд╛рди рдкреБрди: рдХрд╛рд░реНрдп рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЫред
  • "git log -graph" рдХрдорд╛рдгреНрдб рд░рд┐рдлреНрдпрд╛рдХреНрдЯрд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рднрдгреНрдбрд╛рд░рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрдХреЛ рдЗрддрд┐рд╣рд╛рд╕рдХреЛ рд╕рд╛рде рдЧреНрд░рд╛рдлрдХреЛ ASCII рдЫрд╡рд┐ рдЙрддреНрдкрдиреНрди рдЧрд░реНрджреИред рдкреБрди: рдХрд╛рд░реНрдпрд▓реЗ рдХрдерд╛рдХреЛ рд╕рдВрд░рдЪрдирд╛рд▓рд╛рдИ рд╡рд┐рдХреГрдд рдирдЧрд░реА рдЖрдЙрдЯрдкреБрдЯрдорд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╕реБрдзрд╛рд░ рд░ рд╕рд░рд▓реАрдХрд░рдг рдЧрд░реНрди рд╕рдореНрднрд╡ рдмрдирд╛рдпреЛ, рдЬрд╕рд▓реЗ рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЯрд░реНрдорд┐рдирд▓ рд░реЗрдЦрд╛ рдЪреМрдбрд╛рдЗрднрдиреНрджрд╛ рдмрд╛рд╣рд┐рд░ рд╡рд┐рд╕реНрддрд╛рд░ рднрдПрдХреЛ рдЪрд┐рддреНрд░рдХреЛ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдпреЛред
  • "git log --format=.." рд╡рд┐рдХрд▓реНрдкрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЖрдЙрдЯрдкреБрдЯ рдврд╛рдБрдЪрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ,
    "@" рдкреНрд░рддреАрдХрдХреЛ рдЕрдЧрд╛рдбрд┐ рд╕рдВрдХреЗрдд рдЧрд░рд┐рдПрдХреЛ рдЗрдореЗрд▓ рдареЗрдЧрд╛рдирд╛рдХреЛ рдЕрдВрд╢ рдорд╛рддреНрд░ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди "l/L" рдЭрдгреНрдбрд╛рд╣рд░реВрдХреЛ рд╕рдорд░реНрдердирдХреЛ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╕рдмреИ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рд╕рдмреИ рдЗрдореЗрд▓рд╣рд░реВ рдПрдЙрдЯреИ рдбреЛрдореЗрдирдорд╛ рд╣реБрдБрджрд╛ рдЙрдкрдпреЛрдЧреА)ред

  • "git submodule" рдЖрджреЗрд╢рдорд╛ "set-url" subcommand рдердкрд┐рдпреЛред
  • рдорд╛ рд╕рдВрдХреНрд░рдордгрдХреЛ рддрдпрд╛рд░реАрдорд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдЯрд╣рд░реВ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдЫ
    SHA-2 рдХреЛ рд╕рдЯреНрдЯрд╛ рд╣реНрдпрд╛рд╕рд┐рдЩ рдПрд▓реНрдЧреЛрд░рд┐рджрдо SHA-1ред

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

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