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

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

рдЕрдШрд┐рд▓реНрд▓реЛ рд░рд┐рд▓рд┐рдЬрдХреЛ рддреБрд▓рдирд╛рдорд╛, рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрдорд╛ 505 рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреН, 77 рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд╕рд╣рднрд╛рдЧрд┐рддрд╛рдорд╛ рддрдпрд╛рд░ рдЧрд░рд┐рдПрдХреЛ, рдЬрд╕рдордзреНрдпреЗ 26 рд▓реЗ рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ рд╡рд┐рдХрд╛рд╕рдорд╛ рднрд╛рдЧ рд▓рд┐рдПред рдЖрдзрд╛рд░рднреВрдд рдирд╡рд╛рдЪрд╛рд░рд╣рд░реВ:

  • рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ "git switch" рд░ "git restore" рдЖрджреЗрд╢рд╣рд░реВ рдврд┐рд▓реЛ рд░реВрдкрдорд╛ рдЬреЛрдбрд┐рдПрдХреЛ "git checkout" рдХреНрд╖рдорддрд╛рд╣рд░реВ, рдЬрд╕реНрддреИ рд╢рд╛рдЦрд╛ рд╣реЗрд░рдлреЗрд░ (рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдиреЗ рд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ) рд░ рдХрд╛рд░реНрдп рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдкреЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдЫ ("git checkout $commit - $filename") рд╡рд╛ рддреБрд░реБрдиреНрддреИ рд╕реНрдЯреЗрдЬрд┐рдЩ рдХреНрд╖реЗрддреНрд░рдорд╛ ("тАФрд╕реНрдЯреЗрдЬрд┐рдЩ", "рдЧрд┐рдЯ рдЪреЗрдХрдЖрдЙрдЯ" рдорд╛ рдХреБрдиреИ рдПрдирд╛рд▓рдЧ рдЫреИрди)ред рдпреЛ рдиреЛрдЯ рдЧрд░реНрди рд▓рд╛рдпрдХ рдЫ рдХрд┐, "git checkout" рдХреЛ рд╡рд┐рдкрд░реАрдд, "git restore" рд▓реЗ рдЕрдирдЯреНрд░реНрдпрд╛рдХ рдЧрд░рд┐рдПрдХрд╛ рдлрд╛рдЗрд▓рд╣рд░реВрд▓рд╛рдИ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдЧрд░рд┐рдБрджреИрдЫ ("--no-overlay" рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛)ред
  • рд╡рд┐рдХрд▓реНрдк рдердкрд┐рдпреЛ "git merge -quit", рдЬрд╕рд▓реЗ "-abort" рдЬрд╕реНрддреИ, рд╢рд╛рдЦрд╛рд╣рд░реВ рдорд░реНрдЬ рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рд░реЛрдХреНрдЫ, рддрд░ рдХрд╛рд░реНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рд▓рд╛рдИ рдЕрдЫреБрддреЛ рдЫреЛрдбреНрдЫред рдпреЛ рд╡рд┐рдХрд▓реНрдк рдЙрдкрдпреЛрдЧреА рд╣реБрди рд╕рдХреНрдЫ рдпрджрд┐ рдореНрдпрд╛рдиреБрдЕрд▓ рдорд░реНрдЬрдХреЛ рдХреНрд░рдордорд╛ рдЧрд░рд┐рдПрдХрд╛ рдХреЗрд╣реА рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрд▓рд╛рдИ рдЫреБрдЯреНрдЯреИ рдХрдорд┐рдЯрдХреЛ рд░реВрдкрдорд╛ рдЬрд╛рд░реА рдЧрд░реНрди рдЙрдкрдпреБрдХреНрдд рд╣реБрдиреНрдЫред
  • "рдЧрд┐рдЯ рдХреНрд▓реЛрди", "рдЧрд┐рдЯ рдлреЗрдЪ" рд░ "рдЧрд┐рдЯ рдкреБрд╢" рдЖрджреЗрд╢рд╣рд░реВрд▓реЗ рдЕрдм рд▓рд┐рдЩреНрдХ рдЧрд░рд┐рдПрдХреЛ рднрдгреНрдбрд╛рд░рд╣рд░реВрдорд╛ рдХрдорд┐рдЯрд╣рд░реВрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрдЫ (рд╡реИрдХрд▓реНрдкрд┐рдХ);
  • рдердкрд┐рдпреЛ "git blame тАФignore-rev" рд░ "-ignore-revs-file" рд╡рд┐рдХрд▓реНрдкрд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХрдорд┐рдЯрд╣рд░реВ рдЫреЛрдбреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдЬрд╕рд▓реЗ рд╕рд╛рдирд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЧрд░реНрджрдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдврд╛рдБрдЪрд╛ рд╕рдорд╛рдзрд╛рдирд╣рд░реВ);
  • рдПрдХ рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдЫреЛрдбреНрди "git cherry-pick тАФskip" рд╡рд┐рдХрд▓реНрдк рдердкрд┐рдпреЛ ("git reset && git cherry-pick тАФcontinue" рдЕрдиреБрдХреНрд░рдордХреЛ рдпрд╛рдж рдЧрд░рд┐рдПрдХреЛ рдПрдирд╛рд▓рдЧ);
  • Status.aheadBhind рд╕реЗрдЯрд┐рдЩ рдердкрд┐рдпреЛ, рдЬрд╕рд▓реЗ рд╕реНрдерд╛рдпреА рд░реВрдкрдорд╛ "рдЧрд┐рдЯ рд╕реНрдерд┐рддрд┐ -[рдиреЛ-]рдЕрдЧрд╛рдбрд┐ рдкрдЫрд╛рдбрд┐" рд╡рд┐рдХрд▓реНрдкрд▓рд╛рдИ рдлрд┐рдХреНрд╕ рдЧрд░реНрдЫ;
  • рдпрд╕ рд╡рд┐рдореЛрдЪрдирдХреЛ рд░реВрдкрдорд╛, "git log" рд▓реЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдореЗрд▓рдореНрдпрд╛рдкрджреНрд╡рд╛рд░рд╛ рдЧрд░рд┐рдПрдХрд╛ рдЦрд╛рддрд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрд▓рд╛рдИ рд▓рд┐рдиреНрдЫ, рдЬрд╕реНрддреИ git shortlog рд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рдЧрд░реНрдЫ;
  • 2.18 рдорд╛ рдкреЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдХрдорд┐рдЯ рдЧреНрд░рд╛рдл (core.commitGraph) рдХреЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдХреНрдпрд╛рд╕рдХреЛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЕрдкрд░реЗрд╢рдирд▓рд╛рдИ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдкрдорд╛ рджреНрд░реБрдд рдЧрд░рд┐рдПрдХреЛ рдЫред рд╕рд╛рдереИ рдзреЗрд░реИ рдЯреЗрдореНрдкреНрд▓реЗрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ git for-ref-ref рдЫрд┐рдЯреЛ рдмрдирд╛рдЗрдпреЛ рд░ "git fetch тАФmultiple" рдорд╛ рд╕реНрд╡рдд-gc рдорд╛ рдХрд▓рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдШрдЯрд╛рдЗрдпреЛ;
  • "git branch --list" рд▓реЗ рдЕрдм рд▓реЛрдХреЗрд▓рдХреЛ рдкрд░реНрд╡рд╛рд╣ рдирдЧрд░реА рд╕реВрдЪреАрдХреЛ рд╕реБрд░реБрдорд╛ рдиреИ рдЫреБрдЯреНрдпрд╛рдПрдХреЛ рд╣реЗрдб рджреЗрдЦрд╛рдЙрдБрдЫред

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

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