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

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

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

  • рд░рд┐рд▓реАрдЭ 1.18 рдкрд╛рд╕реВрди рдЙрдкрд▓рдмреНрдз, рдирд╡реАрди рдХрдорд┐рдЯ рд░рд┐рдмреЗрд╕ рдореЛрдб "git rebase --rebase-merges" рдЬреБрдиреНрдпрд╛ "--preserve-merges" рдкрд░реНрдпрд╛рдпрд╛рдЪреА рдЬрд╛рдЧрд╛ рдШреЗрддреЗ, рдЬреЗ рдЖрддрд╛ рдирд╛рдкрд╕рдВрдд рдЭрд╛рд▓реЗ рдЖрд╣реЗ. "рдЧрд┐рдЯ рд░рд┐рдмреЗрд╕" рдСрдкрд░реЗрд╢рдирдЪрд╛ рд╡рд╛рдкрд░ рдХрдорд┐рдЯрдЪреНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрд▓рд╛ рдирд╡реАрди рдмреЗрд╕ рдХрдорд┐рдЯрд╕рд╣ рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХрд╛рд╣реА рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╡реЗрдЧрд│реНрдпрд╛ рд╢рд╛рдЦреЗрд▓рд╛ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦреЗрдЪреНрдпрд╛ рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдд рд╣рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╢рд╛рдЦреЗрдирдВрддрд░ рдЬреЛрдбрд▓реЗрд▓реЗ рдирд┐рд░рд╛рдХрд░рдг рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ. :

    o - o - o (рдорд╛рдЭреЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп)

    /

    рдУ - рдУ - рдУ - рдУ - рдУ (рдорд╛рд╕реНрдЯрд░)

    o - o - o (рдорд╛рдЭреЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп)

    /

    рдУ - рдУ - рдУ - рдУ - рдУ (рдорд╛рд╕реНрдЯрд░)

    рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рд╢рд╛рдЦреЗрдд рд╢рд╛рдЦрд╛ рд░рдЪрдирд╛ рдЬрддрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, тАЬ--рд╕рдВрд░рдХреНрд╖рд┐рдд-рд╡рд┐рд▓реАрдиреАрдХрд░рдгтАЭ рдкрд░реНрдпрд╛рдп рдкреВрд░реНрд╡реА рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ, рдЬреЛ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡реНрд╣ рдореЛрдбрдордзреНрдпреЗ (git rebase -i --preserve-merges) рдЪрд╛рд▓рд╡рддрд╛рдирд╛, рдХрдорд┐рдЯ рдЗрддрд┐рд╣рд╛рд╕ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ, рдкрд░рдВрддреБ рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рд╕рдВрд░рдЪрдиреЗрдЪреНрдпрд╛ рд╕рдВрдкреВрд░реНрдг рд╕рдВрд░рдХреНрд╖рдгрд╛рдЪреА рд╣рдореА рджрд┐рд▓реА рдирд╛рд╣реА. рдирд╡реАрди тАЬ--rebase-mergesтАЭ рдореЛрдб рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рд╣реЛрдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╢рд╛рдЦреЗрддреАрд▓ рдмрджрд▓рд╛рдВрдЪреА рд░рдЪрдирд╛ рдЬрддрди рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЛ, рддрд╕реЗрдЪ рдХрдорд┐рдЯ рд╣рдЯрд╡рдгреЗ, рдкреБрдирд░реНрдЧрдард┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдкреБрдирд░реНрдирд╛рдорд┐рдд рдХрд░рдгреЗ рдпрд╛рд╕рд╣ рдкрд░рд╕реНрдкрд░ рдХреНрд░рд┐рдпрд╛рдВрдЪреА рд╕рдВрдкреВрд░реНрдг рд╢реНрд░реЗрдгреА рдкреНрд░рджрд╛рди рдХрд░рддреЛ.

    рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, "--rebase-merges" рддреЛ рд╕рдВрдордд рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рд╢рд╛рдЦреЗрдд рд╢рд╛рдЦрд╛ рд░рдЪрдирд╛ рдХрд╛рдпрдо рдареЗрд╡рддрд╛рдирд╛, рд╡реЗрдЧрд│реНрдпрд╛ рд╢рд╛рдЦреЗрддреВрди рдирд╡реАрди рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦреЗрдд рдХрдорд┐рдЯ рдкреБрдиреНрд╣рд╛ рдЕрдкрд▓реЛрдб рдХрд░рд╛ рдЖрдгрд┐ рдХрдорд┐рдЯ рдиреЛрдЯреНрд╕рдордзреНрдпреЗ рдХрд╛рд╣реА рдмрджрд▓ рдХрд░рд╛.

  • "рдЧрд┐рдЯ рд╢рд╛рдЦрд╛ рдирд╡реАрди A...B" рдЖрдгрд┐ "git checkout -b new" рдпрд╛ рдмрд╛рдВрдзрдХрд╛рдорд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рдЗрддрд░ рджреЛрди рд╢рд╛рдЦрд╛рдВрдЪрд╛ (рдорд░реНрдЬ рдмреЗрд╕, рд╕рд╛рдорд╛рдиреНрдп рдкреВрд░реНрд╡рдЬрд╛рдВрдирд╛ рдмрдВрдзрдирдХрд╛рд░рдХ) рдард░рд╡рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдорд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдирд╡реАрди рд╢рд╛рдЦрд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ. A...B", рдЬреНрдпрд╛рдордзреНрдпреЗ "A ...B" рдордзреНрдпреЗ рджреЛрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрдорд┐рдЯрдордзреАрд▓ рдорд░реНрдЬ рдмреЗрд╕ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ, рдЬрд╕реЗ рдХреА "git checkout A...B" рд╣реЗрдбрд▓рд╛ рдмреЗрд╕ рдХрдорд┐рдЯ рдЖрдгрд┐ "рдбрд┐рдл рдП" рд╡рд░ рд╣рд▓рд╡рддреЗ. ..B" рдХрдорд┐рдЯ "B" рдЖрдгрд┐ рдХрдорд┐рдЯ "A" "рдкреВрд░реНрд╡рдЬ рдкреНрд░рдорд╛рдгреЗрдЪ рдмрджрд▓ рджрд░реНрд╢рд╡рддреЗ.

    рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╡реЗрдЧрд│реНрдпрд╛ рдорд╛рдп-рдлреАрдЪрд░ рд╢рд╛рдЦреЗрд╡рд░ рдХрд╛рдо рдХрд░рддрд╛рдирд╛, рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рд╡реЗрдЧрд│реНрдпрд╛ рд╢рд╛рдЦреЗрддреВрди рд╕реБрд░реБрд╡рд╛рдд рдХрд░реВ рдЗрдЪреНрдЫрд┐рдд рдЕрд╕рд╛рд▓ рддреЗрд╡реНрд╣рд╛ рд╣реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдорд╛рдп-рдлреАрдЪрд░ рд╢рд╛рдЦрд╛ рдЬреНрдпрд╛ рдорд╛рд╕реНрдЯрд░ рдмреНрд░рдБрдЪрдордзреВрди рддрдкрд╛рд╕рд▓реА рдЧреЗрд▓реА рд╣реЛрддреА рддреНрдпрд╛рдЪ рдард┐рдХрд╛рдгрд╛рд╣реВрди. рдкреВрд░реНрд╡реА, рдпрд╛рд╕рд╛рдареА рдмрджрд▓ рд▓реЙрдЧрдЪреЗ рд╡реНрдпрдХреНрддрд┐рдЪрд▓рд┐рддрдкрдгреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ, рдЬреЗ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдмрджрд▓рд╛рдВрдЪрд╛ рдореЛрдард╛ рдЗрддрд┐рд╣рд╛рд╕ рдЕрд╕рд▓реНрдпрд╛рд╕ рдЧреИрд░рд╕реЛрдпреАрдЪреЗ рд╣реЛрддреЗ, рдирдВрддрд░ рдорд╛рд╕реНрдЯрд░ рдЖрдгрд┐ рдорд╛рдп-рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рд╢рд╛рдЦрд╛рдВрдордзреАрд▓ рдорд░реНрдЬ рдмреЗрд╕рдЪреНрдпрд╛ рд╣реЕрд╢рдЪреА рдЧрдгрдирд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "рдЧрд┐рдЯ рдорд░реНрдЬ-рдмреЗрд╕ рдорд╛рд╕реНрдЯрд░ рдорд╛рдп-рдлреАрдЪрд░" рдЪрд╛рд▓рд╡рд╛. рдЖрдгрд┐ рд╕рд╛рдорд╛рдиреНрдп рдкреВрд░реНрд╡рдЬрд╛рдЪреНрдпрд╛ рд╕рд╛рдкреЗрдХреНрд╖ рдирд╡реАрди рд╢рд╛рдЦрд╛ рддрдпрд╛рд░ рдХрд░рдгреЗ " git branch my-other-feature hash." Git 2.22 рдордзреНрдпреЗ, рддреБрдореНрд╣реА рдЗрддрд░ рджреЛрди рд╢рд╛рдЦрд╛рдВрдЪреНрдпрд╛ рдорд░реНрдЬ рдмреЗрд╕рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╢рд╛рдЦрд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "git branch my-other-feature A...B" рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛;

  • рдЪреЗрдХрдЖрдЙрдЯ рдСрдкрд░реЗрд╢рди рджрд░рдореНрдпрд╛рди рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рд╢рд╛рдЦреЗрдЪреЗ рдирд╛рд╡ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "git branch --show-current" рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛;
  • тАЬgit checkout тАФno-overlay тАФ dirтАЭ рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛, рдЬреЛ рдЪреЗрдХрдЖрдЙрдЯ рдСрдкрд░реЗрд╢рди рдХрд░рдд рдЕрд╕рддрд╛рдирд╛, dir рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрддреАрд▓ рдордЬрдХреВрд░ рдорд╛рд╕реНрдЯрд░ рдмреНрд░рдБрдЪрдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрд╢реА рдкреВрд░реНрдгрдкрдгреЗ рд╕реБрд╕рдВрдЧрдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдлреЙрд░реНрдордордзреНрдпреЗ рдЖрдгрдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬрд░ dir рдбрд┐рд░реЗрдХреНрдЯрд░реАрдЪреНрдпрд╛ рд╕реНрдерд╛рдирд┐рдХ рдХреЙрдкреАрдордзреНрдпреЗ рдПрдЦрд╛рджреА рдлрд╛рдИрд▓ рдЕрд╕реЗрд▓ рдЬреА рдорд╛рд╕реНрдЯрд░ рдмреНрд░рдБрдЪрдордзреНрдпреЗ рдирд╕реЗрд▓, рддрд░ "git checkout master - dir" рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддрд╛рдирд╛ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рддреА рд╕реЛрдбрд▓реА рдЬрд╛рдИрд▓ рдЖрдгрд┐ рдЬрд░ "--no-overlay" рдЕрд╕реЗрд▓ рддрд░ тАЭ рдкрд░реНрдпрд╛рдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓рд╛ рдЖрд╣реЗ, рддреЛ рд╣рдЯрд╡рд┐рд▓рд╛ рдЬрд╛рдИрд▓;
  • рдкрд░реНрдпрд╛рдпрд╛рдВрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "git diff" рдХрдорд╛рдВрдб рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рд▓ API рд╡рд╛рдкрд░рддреЗ, рдЬреНрдпрд╛рдореБрд│реЗ рдЗрддрд░ git рдпреБрдЯрд┐рд▓рд┐рдЯреАрдЬрд╕рд╣ рдкрд░реНрдпрд╛рдп рд╣рд╛рддрд╛рд│рдгреА рдПрдХрддреНрд░ рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, тАЬgit diffтАЭ рдордзреНрдпреЗ, рд╕рд░реНрд╡ рдкрд░реНрдпрд╛рдпрд╛рдВрдирд╛ рддреНрдпрд╛рдВрдЪреЗ рд╡рд┐рд░реЛрдзреА (тАЬ--function-contextтАЭ рдЖрдгрд┐ тАЬ--no-function-contextтАЭ);
  • "рдЧрд┐рдЯ рд▓реЙрдЧ" рдЖрдЙрдЯрдкреБрдЯрдордзреНрдпреЗ рдХрдорд┐рдЯрд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЯреЕрдЧ рдлрд┐рд▓реНрдЯрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА ("рдЯреНрд░реЗрд▓рд░" - рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рд╣рд┐рддреА рдзреНрд╡рдЬ, рдЬрд╕реЗ рдХреА рд╕рд╛рдЗрди-рдСрдл-рдмрд╛рдп рдЖрдгрд┐ рд╕рд╣-рд▓реЗрдЦрдХ). рдХреА рдЖрдгрд┐ рдореВрд▓реНрдп рджреЛрдиреНрд╣реАрдиреБрд╕рд╛рд░ рд▓реЗрдмрд▓ рдлрд┐рд▓реНрдЯрд░ рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде:
    "git log --pretty="%(trailers:key=Reviewed-by,valueonly)";

  • рдирд╡реАрди рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдЗрдВрдЬрд┐рди, рдЯреНрд░реЗрд╕2, рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЬреЗ рдЕрдзрд┐рдХ рд▓рд╡рдЪрд┐рдХ рдЖрдгрд┐ рд╕рдВрд░рдЪрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк рджреЗрддреЗ. рдЯреНрд░реЗрд╕2 рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЖрдгрд┐ рдбреАрдмрдЧрд┐рдВрдЧрд╕рд╛рдареА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдСрдкрд░реЗрд╢рдиреНрд╕ рдЖрдгрд┐ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдбреЗрдЯрд╛рдмрджреНрджрд▓ рдЯреЗрд▓реАрдореЗрдЯреНрд░реА рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ (рд╣рдБрдбрд▓рд░ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рдХреЛрдгрддрд╛рд╣реА рдбреЗрдЯрд╛ рдмрд╛рд╣реЗрд░реВрди рдкрд╛рдард╡рд┐рд▓рд╛ рдЬрд╛рдд рдирд╛рд╣реА);
  • "рдЧрд┐рдЯ рдмрд┐рд╕реЗрдХреНрдЯ" рдЕрд╣рд╡рд╛рд▓ рдЕрдзрд┐рдХ рд╡рд╛рдЪрдиреАрдп рдмрдирд╡рд┐рд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдХрдорд┐рдЯ рдЖрддрд╛ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рд╣рд╛рдпрд▓рд╛рдЗрдЯ рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рдлрд╛рдИрд▓рдордзреАрд▓ рдмрджрд▓рд╛рдВрдЪреА рд╕рд╛рд░рд╛рдВрд╢ рдЖрдХрдбреЗрд╡рд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреЗрд▓реА рдЖрд╣реЗ (рдмрджрд▓рд▓реЗрд▓реНрдпрд╛ рдУрд│реАрдВрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдЪреНрдпрд╛ рдкрд╛рддрд│реАрд╡рд░);
  • рдбрд┐рд░реЗрдХреНрдЯрд░реА рдкреБрдирд░реНрдирд╛рдорд┐рддреА рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗрд░рд┐рд╕реНрдЯрд┐рдХреНрд╕ рдкреБрдирд░реНрдирд╛рдорд┐рдд рд▓реЗрдмрд▓реНрд╕рдЪреА рдЦреЛрдЯреА рд╕реНрдерд╛рдкрдирд╛ рджреВрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрдиреНрд╣рд╛ рдХрд╛рдо рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. рд╢рдВрдХрд╛ рдЕрд╕рддрд╛рдирд╛, рдЕрд╢рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЖрддрд╛ рдкрд░рд╕реНрдкрд░рд╡рд┐рд░реЛрдзреА рдореНрд╣рдгреВрди рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд;
  • рддреБрдореНрд╣реА рджреБрд╕рд░реНтАНрдпрд╛ рдЯреЕрдЧрд╡рд░ рдЯреЕрдЧ рдЗрдиреНрд╕реНрдЯреЙрд▓ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддрд╛ рддреЗрд╡реНрд╣рд╛ рдПрдХ рдЪреЗрддрд╛рд╡рдгреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ, рдЬреЗ рд╕рд╣рд╕рд╛ рдЪреБрдХреВрди рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рдЪреБрдХреАрдЪреНрдпрд╛ рдХрдорд┐рдЯрд╡рд░ рдЯреЕрдЧ рд╕реЗрдЯ рдХрд░реВ рд╢рдХрддреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, "рдЧрд┐рдЯ рдЯреЕрдЧ -рдПрдл -рдПрдо "рдЕрдкрдбреЗрдЯ рдХреЗрд▓реЗрд▓рд╛ рд╕рдВрджреЗрд╢" рд╕рд╛рд░рдЦреЗ рдмрд╛рдВрдзрдХрд╛рдо my-tag1 my-tag2тА│ рдореБрд│реЗ рдЬреБрдиреНрдпрд╛ рдЯреЕрдЧрд╡рд░ рдПрдХ рдЯреЕрдЧ рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓, рддрд░ рд╡рд┐рдХрд╛рд╕рдХрд╛рдиреЗ рдЬреБрдиреНрдпрд╛ рдЯреЕрдЧрджреНрд╡рд╛рд░реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХрдорд┐рдЯрд╡рд░ рдирд╡реАрди рдЯреЕрдЧ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдгреНрдпрд╛рдЪреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗрд▓реА рдЖрд╣реЗ);
  • рдмрд┐рдЯрдореЕрдк рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЬ (рдбрд┐рд╕реНрдХ-рдЖрдзрд╛рд░рд┐рдд "рд░реАрдЪрдмрд┐рд▓рд┐рдЯреА рдмрд┐рдЯрдореЕрдкреНрд╕" рд╕реНрдЯреНрд░рдХреНрдЪрд░) рд╕рд╛рдареА рдЬрдирд░реЗрд╢рди рд╕рдХреНрд╖рдо рдХреЗрд▓реЗ рдЖрд╣реЗ, рдЬреЗ рдкреНрд░рддреНрдпреЗрдХ рдХрдорд┐рдЯрд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдЪреНрдпрд╛ рд╕реЗрдЯрдмрджреНрджрд▓ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ рдЖрдгрд┐ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯрдЪреА рдЙрдкрд╕реНрдерд┐рддреА рджреНрд░реБрддрдкрдгреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рд╣реА рд░рдЪрдирд╛ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддреА рдСрдкрд░реЗрд╢рдиреНрд╕ (git fetch) рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреА рд╡реЗрд│ рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рдХрдореА рдХрд░рддреЗ.

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

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