Git: рдмрдЧреНрд╕ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдФрд░ рдХрдорд┐рдЯ рдХрд░рдирд╛

рдкреНрд░рддрд┐рдмрджреНрдз рдореЗрдВ рддреНрд░реБрдЯрд┐ ... рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВ? рдХрдорд┐рдЯреНрд╕ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдПрдХ рдЧрдбрд╝рдмрдбрд╝ ... рдХреИрд╕реЗ рд╕рдм рдХреБрдЫ рд╕рднреНрдп рджрд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП? рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ, рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдЖрдЬ рд╣рдо рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рд╢реНрди рдкреВрдЫреЗ рдереЗред рдЙрдирдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддреБрдд рдЧрд┐рдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЧрд┐рдЯ рдХреА рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдорд╛рд░реНрдЧ рдкрд░ рдХрд╛рдлреА рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред


рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдкрд╛рдардХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧрд┐рдЯ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдзрд╛рд░ рдХреЛ рдорд╛рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдЖрд╡рд╛рдЧрдорди рдореЗрдВ рдХреАрдбрд╝реЗ рдареАрдХ рдХрд░реЗрдВ


рдпрд╣рд╛рдВ рд╣рдо рдХрдорд┐рдЯреНрд╕ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЙрдирдХреЗ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдХрдИ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред

тЦН рдкрд░рд┐рджреГрд╢реНрдп рд╕рдВрдЦреНрдпрд╛ 1


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдиреЗ рдмрд╣реБрдд рд╕реА рдлрд╛рдЗрд▓реЗрдВ рдХреАрдВ рдФрд░ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдкреНрд░рддрд┐рдмрджреНрдз рд╕рдВрджреЗрд╢ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдиреЗ рдЗрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, git commit --amend рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣рд╛рдБ рдЗрд╕рдХреЗ рдЖрд╡реЗрджрди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

 git commit --amend -m "New commit message" 

тЦН рдкрд░рд┐рджреГрд╢реНрдп рд╕рдВрдЦреНрдпрд╛ 2


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдЫрд╣ рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЧрд▓рддреА рд╕реЗ рдХреЗрд╡рд▓ рдкрд╛рдВрдЪ рд╣реА рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдПрдХ рдирдИ рдХрдорд┐рдЯ рдмрдирд╛рдХрд░ рдФрд░ рдЙрд╕рдореЗрдВ рдЫрдареА рдлрд╛рдЗрд▓ рдХреЛ рдЬреЛрдбрд╝рдХрд░ред

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЬреАрд╡рди рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИред рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдмрджреНрдз рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдЕрдЪреНрдЫреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдВрднрд╡рддрдГ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ рдПрдХ рд╣реА рдкреНрд░рддрд┐рдмрджреНрдз рдореЗрдВ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЫреЛрдбрд╝ рджреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред рдпрд╣ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдлрд┐рд░ рд╕реЗ, git commit --amend ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 git add file6 git commit --amend --no-edit 

--no-edit рдлреНрд▓реИрдЧ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрдорд┐рдЯ рдореИрд╕реЗрдЬ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред

тЦН рдкрд░рд┐рджреГрд╢реНрдп рд╕рдВрдЦреНрдпрд╛ 3


Git рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрдорд┐рдЯреНрд╕ рд▓реЗрдЦрдХ рдХреЗ рдирд╛рдо рдФрд░ рдЙрд╕рдХреЗ рдИрдореЗрд▓ рдкрддреЗ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░, рдпрд╣ рдбреЗрдЯрд╛ Git рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдХреЗ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЬреЛ рд▓реЛрдЧ Git рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдмрджреНрдз рдХреЛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЙрд╕рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рд▓реЗрдЦрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдИрдореЗрд▓ рдкрддрд╛ рдЬреЛ рдореБрдЦреНрдп рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИред рдРрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕ рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдИрдореЗрд▓ рдкрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

 git config user.email "your email id" 

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдпрд╣ рд╕реЗрдЯрдЕрдк рдХрд░рдирд╛ рднреВрд▓ рдЧрдП рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╣рд▓рд╛ рдХрд╛рдо рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред рд╕рд╣реА рд╕реНрдерд┐рддрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдореЗрдВ рдЯреАрдо amend рд╕реЗ рдкрд░рд┐рдЪрд┐рдд amend ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдкрд┐рдЫрд▓реЗ рдкреНрд░рддрд┐рдмрджреНрдз рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:

 git commit --amend --author "Author Name <Author Email>" 

тЦН рдиреЛрдЯ


рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рднрдВрдбрд╛рд░ рдореЗрдВ amend рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рджреВрд░рд╕реНрде рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рднрд╛рд░реА рднреНрд░рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЖрджреЗрд╢реЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдЖрджреЗрд╢ рдбрд╛рд▓рдирд╛


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рд▓рдЧрднрдЧ рджрд╕ рджрд┐рди рд▓рдЧреЗрдВрдЧреЗред рдЗрди рджрд╕ рджрд┐рдиреЛрдВ рдХреЗ рджреМрд░рд╛рди, рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реНрд░реЛрдд рднрдВрдбрд╛рд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрдВред

рд╕реНрдерд╛рдиреАрдп рдФрд░ рджреВрд░рд╕реНрде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдмреАрдЪ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдХрдИ рдорд░реНрдЬ рд╕рдВрдШрд░реНрд╖реЛрдВ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рддрдм рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕ рдЕрднреНрдпрд╛рд╕ рдХреЗ рдмрд╛рдж, рдЖрдк рджреВрд░рд╕реНрде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╣рд░ рджреЛ рджрд┐рди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВред

рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рд░рд┐рдореЛрдЯ рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдПрдХ рдирдпрд╛ рдорд░реНрдЬ рдХрдорд┐рдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рдмрджреНрдз рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдХрдИ рдРрд╕реЗ рдХрдорд┐рдЯ рд╣реЛрдВрдЧреЗ рдЬреЛ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рджреЗрдЦрдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рд╕реНрдерд╛рдиреАрдп рднрдВрдбрд╛рд░ рдореЗрдВ рдЖрдиреЗ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕

рдХреИрд╕реЗ рдкреНрд░рддрд┐рдмрджреНрдз рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП? рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк git rebase рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

тЦНGit рд░реАрдмреЗрдЬ рдХрдорд╛рдВрдб


рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░ git rebase рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред


рд░рд┐рд▓реАрдЬрд╝ рд╢рд╛рдЦрд╛ рдФрд░ рдлрд╝реАрдЪрд░ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╕рдВрдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ

Release рд╢рд╛рдЦрд╛ рдореЗрдВ рддреАрди рдХрдорд┐рдЯ рд╣реИрдВ: Rcommit1 , Rcommit2 , рдФрд░ Rcommit3 ред рдЖрдкрдиреЗ рдЕрдкрдиреА Feature рд╢рд╛рдЦрд╛ Release рд╢рд╛рдЦрд╛ рд╕реЗ рдмрдирд╛рдИ рдереА рдЬрдм рдЙрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдХрдорд┐рдЯ рдерд╛ - Rcommit1 ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдиреЗ Feature рдмреНрд░рд╛рдВрдЪ рдореЗрдВ рджреЛ рдХрдорд┐рдЯреНрд╕ рдЬреЛрдбрд╝реЗред рдпреЗ Fcommit1 рдФрд░ Fcommit2 ред рдЖрдкрдХрд╛ рд▓рдХреНрд╖реНрдп Release рд╢рд╛рдЦрд╛ рд╕реЗ рдЕрдкрдиреА Feature рд╢рд╛рдЦрд╛ рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк rebase рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

рд╣рдо рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рджреЛ рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирд╛рдо release рдФрд░ feature рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, rebase рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛:

 git checkout feature git rebase release 

Command рд░рд┐рдмреЗрд╕ рдХрдорд╛рдВрдб рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ


rebase рдХрдорд╛рдВрдб rebase рдЙрдкрдпреЛрдЧ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ Feature рд╢рд╛рдЦрд╛ рдореЗрдВ Release рд╢рд╛рдЦрд╛ рд╕реЗ рддрд╛рдЬрд╝рд╛ рдХреЛрдб рд╣реИред

рдЗрд╕ рдЖрджреЗрд╢ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рдЦрд╛ рдХреЛ Feature рд╢рд╛рдЦрд╛ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдмрд╛рд░ рдореЗрдВ, рдФрд░ рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдЬрдЯрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдХреГрддрд┐ рдХреЛ рджреЗрдЦреЗрдВред рдпрд╣ rebase рдХреЗ рдЖрдВрддрд░рд┐рдХ рддрдВрддреНрд░ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред


рдлрд╝реАрдЪрд░ рд╢рд╛рдЦрд╛ рдФрд░ рд░рд┐рдмреЗрд╕ рдХрдорд╛рдВрдб рдХреЗ рддреАрди рдЪрд░рдг

рдЪрд░рдг 1


рдЬрдм рдХрдорд╛рдВрдб рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ Feature рд╢рд╛рдЦрд╛ Feature рд╢рд╛рдЦрд╛ рдХреЗ рдкреНрд░рдореБрдЦ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреА рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, Feature рд╢рд╛рдЦрд╛ рдореЗрдВ рддреАрди рдХрдорд┐рдЯ рд╣реИрдВ: Rcommit1 , Rcommit2 , рдФрд░ Rcommit3 ред рд╢рд╛рдпрдж рдпрд╣рд╛рдВ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдПрдХ рд╕рд╡рд╛рд▓ рд╣реЛрдЧрд╛ рдХрд┐ Fcommit1 рдФрд░ Fcommit2 рд╕рд╛рде рдХреНрдпрд╛ рд╣реБрдЖред рдпреЗ рдХрдорд┐рдЯ рджреВрд░ рдирд╣реАрдВ рдЧрдП рд╣реИрдВ, рдЕрдЧрд▓реЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЪрд░рдг 2


Git рдЕрдм Fcommit1 рдХрдорд┐рдЯ рдХреЛ Feature рд╢рд╛рдЦрд╛ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рд╡рд┐рд░реЛрдз рдирд╣реАрдВ рд╣реИ, рддреЛ Fcommit1 Rcommit3 рдмрд╛рдж рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЧрд┐рдЯ рдЗрд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛ рдФрд░ рдЖрдкрдХреЛ рдЗрд╕ рд╕рдВрдШрд░реНрд╖ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЪрд░рдг 3


Fcommit1 Feature рдмреНрд░рд╛рдВрдЪ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, Git рд╡рд╣рд╛рдБ Fcommit2 рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ Fcommit2 ред рдпрд╣рд╛рдВ, рдлрд┐рд░ рд╕реЗ, рдпрджрд┐ рдХреЛрдИ рд╕рдВрдШрд░реНрд╖ рдирд╣реАрдВ рд╣реИ, рддреЛ Fcommit2 рдмрд╛рдж Fcommit1 рдЬреЛрдбрд╝рд╛ Fcommit1 рдФрд░ рдСрдкрд░реЗрд╢рди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдПрдХ рд╕рдВрдШрд░реНрд╖ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рддреЛ Git, рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░реЗрдЧрд╛ред

Rcommit1 рдХрдорд╛рдВрдб rebase рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж rebase рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Feature рдмреНрд░рд╛рдВрдЪ рдореЗрдВ Rcommit1 , Rcommit2 , Rcommit3 , Fcommit1 рдФрд░ Fcommit2 ред

тЦН рдиреЛрдЯ


рдЧрд┐рдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, merge рдХрдорд╛рдВрдб рдФрд░ rebase рдХрдорд╛рдВрдб рджреЛрдиреЛрдВ рдХрд╛ rebase ред рдпрд╣ рдХрд╣рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред

рдпрджрд┐ рдЖрдк merge рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк merge рдХрдорд┐рдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рдЖрдк rebase рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд rebase рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЗрди рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЗрд╕рд▓рд┐рдП, rebase рджреВрд░рд╕реНрде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдирд╡реАрдирддрдо рдХреЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдХреЛрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред Release рдпрд╛ Master рд╢рд╛рдЦрд╛ рдХреЗ рд╕рд╛рде Feature рд╢рд╛рдЦрд╛ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП merge рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдкрд░рд┐рдгрд╛рдо


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдЧрд┐рдЯ рдХреМрд╢рд▓ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдПрдХ рдЧрд┐рдЯ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдХреЗ рд╕реНрддрд░ рдХреЗ рдХрд░реАрдм рд╣реИрдВред рд╣рдо рдЖрд╢рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдпрд╣рд╛рдВ рдЬреЛ рд╕реАрдЦрд╛ рд╣реИ рд╡рд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред рд▓реЗрдХрд┐рди рдЧрд┐рдЯ рдХреА рджреБрдирд┐рдпрд╛ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдХреБрдЫ рдирдпрд╛ рдХрд░рдиреЗ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд╣рд╛рдБ рд░реБрдХрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЧрд┐рдЯ рдХрдорд┐рдЯреНрд╕ рдореЗрдВ рдЧрдбрд╝рдмрдбрд╝реА рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИ?

Source: https://habr.com/ru/post/hi425665/


All Articles