GitLab рдореЗрдВ рдХреЛрдб рд╕рдВрдЧреНрд░рд╣рдг рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдирд╛ рдФрд░ GitFlow рдореЗрдВ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдирд╛

рдЗрддрдирд╛ рд╕рдордп рдкрд╣рд▓реЗ рдирд╣реАрдВ, рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдХреЗ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, рдЕрдВрддрддрдГ Git рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдХреЛрдбрд┐рдВрдЧ рдФрд░ рд╡рд░реНрдЬрдирд┐рдВрдЧ рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╕рдмрд╡рд░реНрд╕рди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред



рд╕рдВрдХреНрд░рдордг рдХреЗ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереЗ:


  • рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ред
  • рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред
  • рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рдмрд╛рдж рдЕрдкрдбреЗрдЯ рдмрдирд╛рдиреЗ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВред

рдЗрди рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд░реНрдд GitLab рдХрд╛ рдЙрдкрдпреЛрдЧ рдерд╛ (рдпрд╣ рдЧрд┐рдЯ рд╕рд░реНрд╡рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧреНрд░рд╛рд╣рдХ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╡рд╣рд╛рдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЛрдб рдерд╛ рдЬреЛ рд╕рдорд╛рдзрд╛рди рдХреЗ рдореЛрд░реНрдЪреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдерд╛) рдФрд░ рдЬреАрд░рд╛ (рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧреНрд░рд╛рд╣рдХ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред


Git Flow рдХреЛ рд▓рдХреНрд╖реНрдп рд╡рд┐рдХрд╛рд╕ рдореЙрдбрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдерд╛, рдЗрд╕рдореЗрдВ рдПрдХ рд╕рдореАрдХреНрд╖рд╛ рдХреЛрдб рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдХрд╛рд╕ рдореЙрдбрд▓ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдорд╛рдирдХ рдмрди рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрджреНрдпреЛрдЧ рджрд┐рдЧреНрдЧрдЬ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдЧрд┐рдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рд▓рд┐рдЦреА рдЧрдИ рд╣реИ; рдореИрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░рд┐рдЪрдп рдХреЗ рд▓рд┐рдП рдЙрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рд╕рдлрд▓ рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджреВрдВрдЧрд╛: рдПрдХ рдФрд░ рджреЛ ред


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


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


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


рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА (git рдХреНрд▓реЛрди) рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ Git Flow (git flow init) рдХреЛ рдЗрд╕рдореЗрдВ рдЖрд░рдореНрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдорд╛рд╕реНрдЯрд░ рдмреНрд░рд╛рдВрдЪ рдХреЗ рдЕрд▓рд╛рд╡рд╛ (рд╕реНрдерд┐рд░ рдЯреИрдЧ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреИрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдмреНрд░рд╛рдВрдЪ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдореБрдЦреНрдп рд╡рд┐рдХрд╛рд╕ рд╢рд╛рдЦрд╛, рдореЗрдВ) рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рд╢рд╛рдЦрд╛рдУрдВ, рд░рд┐рд▓реАрдЬрд╝ рдФрд░ рдлрд╝рд┐рдХреНрд╕реЗрд╕ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ), рдлрд╝рдВрдХреНрд╢рди рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдорд╛рд╕реНрдХ, рд░рд┐рд▓реАрдЬрд╝ рдФрд░ рдлрд╝рд┐рдХреНрд╕реЗрд╕ рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рд╢рд╛рдЦрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреНрд░рдордг рднреА рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдЗрд╕рдХреЗ рдмрд╛рдж, рд╕рдмрд╡рд░реНрд╕рди рд╕реЗ рд╡рд░реНрддрдорд╛рди рд╕реНрд░реЛрдд рдХреЛрдб рд╢рд╛рдЦрд╛ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХреЙрдкреА рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рд╢рд╛рдЦрд╛ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдФрд░ рд░рд┐рдореЛрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА (рдЬреАрдЖрдИрдЯреА рдкреБрд╢ рдУрд░рд┐рдЬрд┐рдирд▓ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ) рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИ (git add -A + git рдХрдорд┐рдЯ-рдПрдо "рдХрдорд┐рдЯ рдореИрд╕реЗрдЬ")ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдХреЛрдб рдХреЛ рд╕рдВрд╕реНрдХрд░рдгрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Git рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди, рд╡рд┐рдХрд╕рд┐рдд рд╢рд╛рдЦрд╛ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдирдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЗрд╕рдореЗрдВ рд╕реЗ рд╢рд╛рдЦрд╛рдПрдВ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ (рдЬреАрдЖрдЯ рдлреНрд▓реЛ рд╕реБрд╡рд┐рдзрд╛ рд╢реБрд░реВ MYFEATURE) рдЬрд┐рд░рд╛ рдЯрд╛рд╕реНрдХ рдХреЛрдб рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред



рдмрдирд╛рдИ рдЧрдИ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╕рдВрдХреНрд░рдордг (git checkout MYFEATURE) рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдирд┐рдпреЛрдЬрд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рд╕реНрдерд╛рдиреАрдп MYFEATURE рд╢рд╛рдЦрд╛ (git рдХрдорд┐рдЯ-рдореА "рдХрдорд┐рдЯ рдореИрд╕реЗрдЬ") рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ Git рдФрд░ Jira рдХреЗ рд╕рд╣реА рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП, Jira рдореЗрдВ рдкреНрд░рддрд┐рдмрджреНрдз рдХреЛрдб, рдЬрд┐рд╕ рдкрд░ рдпрд╣ рдлрд┐рдХреНрд╕ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдкреНрд░рддрд┐рдмрджреНрдз рд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд┐рд░ рдЗрди рдХрдорд┐рдЯреНрд╕ рдХреЛ рдЙрдирдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╕рд╛рде рд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ "рдЧрд┐рдЯ рдХрдорд┐рдЯреНрд╕" рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдЬрд┐рд╕рдХреА рдорджрдж рд╕реЗ рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред


рдЬрдм рдЪрдпрдирд┐рдд рдХрд╛рд░реНрдп рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрддреА рд╣реИ, рддреЛ рдмрдирд╛рдП рдЧрдП рдХрдорд┐рдЯреНрд╕ рдХреЛ рд░рд┐рдореЛрдЯ рдмреНрд░рд╛рдВрдЪ рдкрд░ рдЙрд╕реА рдирд╛рдо (git push -u Origin MYFEATURE) рдХреЗ рд╕рд╛рде рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рд╢рд╛рдЦрд╛ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреАрдо рд▓реАрдб рдпрд╛ рдЙрд╕рдХреЗ рдЕрднрд┐рдирдп рдХрд░реНрддрд╡реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдорд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрд░ рдорд░реНрдЬ рд╡рд┐рд░реЛрдзреЛрдВ (рдпрджрд┐ рдХреЛрдИ рд╣реЛ) рдФрд░ рд╡рд┐рдХрд╛рд╕ рдЯреАрдо рд▓реАрдб (рдпрд╛ рдЕрднрд┐рдирдп) рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдПрдХ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕реБрдзрд╛рд░ рдХреЗ рд╕рд╛рде рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдорд┐рдЯреНрд╕ (рдЧрд┐рдЯ рдХрдо-рдореА "рдХрдорд┐рдЯ рдореИрд╕реЗрдЬ") рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдХреЛрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рджреМрд░рд╛рди, рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╢рд╛рдЦрд╛ рдореЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреЗрдВрджреНрд░реАрдп рднрдВрдбрд╛рд░ (git push -u origin MYFEATURE) рдореЗрдВ рднреЗрдЬрдирд╛ред рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд╕рдлрд▓ рд╕рдорд╛рдкрди рдХреЗ рдмрд╛рдж, рдЯреАрдо рдХрд╛ рдиреЗрддреГрддреНрд╡ (рдпрд╛ рдЕрднрд┐рдирдп) рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рд╡рд┐рд▓рдп рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рд╡рд┐рд▓рдп рдХреЗ рдмрд╛рдж рд╢рд╛рдЦрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрд╡рдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЕрддрд┐рд╢рдпреЛрдХреНрддрд┐ рдирд╣реАрдВ рд╣реИ - рдЕрдиреНрдпрдерд╛ рд╢рд╛рдЦрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬрд▓реНрджреА рд╕реЗ рдЕрд╢реЛрднрдиреАрдп рдкреИрдорд╛рдиреЗ рдкрд░ рдмрдврд╝ рд╕рдХрддреА рд╣реИред


GitLab рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡реЗрдм рд╣реБрдХ "рдПрдХреАрдХрд░рдг" рдЦрдВрдб рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЬреЗрдирдХрд┐рдВрд╕ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░ рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрдирд╛рдиреЗ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИред рдЬреЗрдирдХрд┐рдиреНрд╕, Git рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧ-рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЙрд╕рд╕реЗ рдХрд╛рд░реНрдп рдХрд╛ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ Jira API рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдШрдЯрдХреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдмрд┐рд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВ рдФрд░ рдирд┐рд░реНрдорд┐рдд рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░реЗрдВ рдпрджрд┐ рд╡реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ Sonatype Nexus рдкрд░ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдХрд┐рд╕реА рдПрдХ рдЪрд░рдг рдореЗрдВ рд╡рд┐рдлрд▓рддрд╛ рд╣реЛрддреА рд╣реИ рдпрд╛ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдкреНрд▓рдЧ-рдЗрди рдХреА рдорджрдж рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдЯреАрдо рдХреЛ рдмрд┐рд▓реНрдб рдкрд░рд┐рдгрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╕реНрдерд╛рдкрдирд╛ рд╕рдлрд▓ рд░рд╣реА, рддреЛ QA рдЯреАрдо рдХреЛ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред


рдпрджрд┐ рджреЛрд╖ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рдХрд╕рд┐рдд рд╢рд╛рдЦрд╛ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рдХрд╛рд╕ рд╢рд╛рдЦрд╛ рдХреЗ рд╕рд╛рде MYFEATURE рд╢рд╛рдЦрд╛ рдХреЗ рдорд░реНрдЬ рдХрдорд┐рдЯ рд╕реЗ рд╣реЙрдЯрдлрд┐рдХреНрд╕-MYFEATURE рд╢рд╛рдЦрд╛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ (git checkout [BASECOMMIT] -b рд╣реЙрдЯрдлрд┐рдХреНрд╕-MYFEATURE)ред



рдмрдирд╛рддреЗ рд╕рдордп, рдПрдХ рдЪреЗрдХрдЖрдЙрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╢рд╛рдЦрд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕реБрдзрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд╢рд╛рдЦрд╛ рд╣реЙрдЯрдлрд┐рдХреНрд╕-MYFEATURE рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрдВ (git рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЙрдЯрдлрд┐рдХреНрд╕-MYFEATURE -m "рдкреНрд░рддрд┐рдмрджреНрдз рд╕рдВрджреЗрд╢")ред рдЬрдм рд╕реБрдзрд╛рд░ рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рдирд╛рдо (git push -u origin рд╣реЙрдЯрдлрд┐рдХреНрд╕-MYFEATURE) рдХреЗ рд╕рд╛рде рдПрдХ рджреВрд░рд╕реНрде рд╢рд╛рдЦрд╛ рдореЗрдВ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рд╢рд╛рдЦрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



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


рдпрджрд┐ рд╕рднреА рджреЛрд╖реЛрдВ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд┐рдХрд╕рд┐рдд рд╢рд╛рдЦрд╛ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╣реЙрдЯрдлрд┐рдХреНрд╕-MYFEATURE рд╢рд╛рдЦрд╛ рдХреЗ рдорд░реНрдЬ рдХрдорд┐рдЯ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╢рд╛рдЦрд╛ рдореЗрдВ, рд░рд┐рд▓реАрдЬрд╝-рдПрдордПрди рд╢рд╛рдЦрд╛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ (git flow release start RELEASENAME [BASECOMMIT])ред



рд░рд┐рд▓реАрдЬрд╝ рд╢рд╛рдЦрд╛ рдмрдирд╛рдирд╛, рдЬреЗрдирдХрд┐рдВрд╕ рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдп рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдм рд╣реБрдХ рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рднреА рд╢реБрд░реБрдЖрдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ Git рд╕реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рд░рд┐рд▓реАрдЬрд╝ рд╢рд╛рдЦрд╛ рдХрд╛ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░, Jira API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЙрди рдШрдЯрдХреЛрдВ рдХреА рд╕реВрдЪреА рдкрд░ рд╕рд╡рд╛рд▓ рдЙрдард╛рддрд╛ рд╣реИ рдЬреЛ рд░рд┐рд▓реАрдЬрд╝ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдП рдЧрдП рдереЗ, Sonatype Nexus рд╕реЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░ рд░рд┐рд▓реАрдЬрд╝ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░реАрдХреНрд╖рдг (рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреБрдирд░рд╛рд░рдВрдн, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рдлрд╛рдИ, рдЖрджрд┐) рдХреЗ рд▓рд┐рдП рд╡рд╛рддрд╛рд╡рд░рдг рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддрд┐рдЧрдорди рд╕реНрд╡рдпрдВ-рдкрд░реАрдХреНрд╖рдг рдореБрдЦреНрдп рд╕рд┐рд╕реНрдЯрдо рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЬреЗрдирдХрд┐рдВрд╕ рдХреЗ рд▓рд┐рдП рдСрд▓реНрдпреЛрд░ рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдорд┐рд▓рддреА рд╣реИред рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, QA рдЯреАрдо рдХреЛ рдСрдЯреЛрдЯреЗрд╕реНрдЯ рд░рди рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдФрд░ рдореИрдиреБрдЕрд▓ рд░рд┐рдЧреНрд░реЗрд╕ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд░рд┐рд▓реАрдЬрд╝ рдХреА рддрддреНрдкрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдпрджрд┐ рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рджреЛрд╖ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд░рд┐рд▓реАрдЬрд╝-рдПрдордПрди рд╢рд╛рдЦрд╛ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░, рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдмрджреНрдз рд╕реЗ, рдЬреАрд░рд╛ (рдЧрд┐рдЯ рдЪреЗрдХрдЖрдЙрдЯ -bb рдЬреАрдмреА (BUGNAME [BASECOMMIT]) рдореЗрдВ рджреЛрд╖) рдХреЗ рдирд╛рдо рд╕реЗ рд╣реЙрдЯрдлрд┐рдХреНрд╕ / BUGNAME рд╢рд╛рдЦрд╛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред



рдПрдХ рдЪреЗрдХрдЖрдЙрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╢рд╛рдЦрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрд╡рд╢реНрдпрдХ рд╕реБрдзрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рд╕реНрдерд╛рдиреАрдп рд╢рд╛рдЦрд╛ рд╣реЙрдЯрдлрд┐рдХреНрд╕ / BUGNAME (git рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЙрдЯрдлрд┐рдХреНрд╕ / BUGNAME -m "рдкреНрд░рддрд┐рдмрджреНрдз рд╕рдВрджреЗрд╢") рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрдВред рдЬрдм рд╕реБрдзрд╛рд░ рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рдирд╛рдо (git push -u origin рд╣реЙрдЯрдлрд┐рдХреНрд╕ / BUGNAME) рдХреЗ рд╕рд╛рде рдПрдХ рджреВрд░рд╕реНрде рд╢рд╛рдЦрд╛ рдореЗрдВ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд░рд┐рд▓реАрдЬрд╝-рдПрдордПрди рд╢рд╛рдЦрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ



рдорд░реНрдЬ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрд░ рдорд░реНрдЬ рд╡рд┐рд░реЛрдзреЛрдВ (рдпрджрд┐ рдХреЛрдИ рд╣реЛ) рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рджреМрд░рд╛рди рдкреНрд░рд╛рдкреНрдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕реБрдзрд╛рд░ рдХреЗ рд╕рд╛рде рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдорд┐рдЯ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпреЗ рдХрдорд┐рдЯ рд╕реНрдерд╛рдиреАрдп рд╢рд╛рдЦрд╛ рд╣реЙрдЯрдлрд╝рд┐рдХреНрд╕ / BUGNAME (git рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЙрдЯрдлрд╝рд┐рдХреНрд╕ / BUGNAME -m "рдХрдорд┐рдЯ рдореИрд╕реЗрдЬ") рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рдирд╛рдо (git рдкреБрд╢ -u рдУрд░рд┐рдЬрдирд▓ рд╣реЙрдЯрдлрд╝рд┐рдХреНрд╕ / BUGNAME) рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рджреВрд░рд╕реНрде рд╢рд╛рдЦрд╛ рдореЗрдВ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдореАрдХреНрд╖рд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╢рд╛рдЦрд╛рдПрдБ рд╡рд┐рд▓реАрди рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рдорд░реНрдЬ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рдорд╛рди рдЬреЗрдирдХрд┐рдВрд╕ рдореЗрдВ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдм рд╣реБрдХ рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рд╢реБрд░реБрдЖрдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдЕрд▓рдЧ рд╣реИ рдХрд┐ рдпрд╣ Git рд╕реЗ рдХреЛрдб рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рджреЛрд╖ рдХрд╛ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, Jira API рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдШрдЯрдХреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдлрд┐рдХреНрд╕ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдмрджрд▓ рдЧрдП рдереЗ, рдЗрди рдШрдЯрдХреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ, рд╕реЛрдирд╛рдЯрд╛рдЗрдк рдиреЗрдХреНрд╕рд╕ рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдПрдХ рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛, рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдСрдЯреЛрдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░рддрд┐рдЧрдорди рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдо рдЕрдзрд┐рд╕реВрдЪрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред


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



рдЬрдм рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЬреЗрдирдХрд┐рдиреНрд╕ рдореЗрдВ рдЯрд╛рд╕реНрдХ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рд╣реБрдХ рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рдкрд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ Git рд╕реЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рд░рд┐рд▓реАрдЬрд╝ рдирдВрдмрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ Jira API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдереЗ рдФрд░ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдмрджрд▓реЗ рдЧрдП рдШрдЯрдХреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рд╕реЛрдирдЯрд╛рдЗрдк рдиреЗрдХреНрд╕рд╕ рд╕реЗ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЙрддреНрдкрд╛рджрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред


рдмрд┐рдХреНрд░реА рдХреЗ рд▓рд┐рдП рд╣реЙрдЯрдлрд╝рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде, рдпрд╣ рд░рд┐рд▓реАрдЬрд╝ рдПрдХ рдХреЗ рд╕рдорд╛рди рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ - рдЕрдиреНрдпрдерд╛ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдЪрд░рдгреЛрдВ рдХреЛ рдЦреЛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рдЙрди рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рдг рднреА рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдЧрд┐рдЯ рдФрд░ рдЧрд┐рдЯрд▓реИрдм рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рдерд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рд╕рд╛рде, рдЖрдк рд╕реНрд╡рдпрдВ Git рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Source Tree рдФрд░ Intellij IDEA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░ рд╕рдХреЗрдВрдЧреЗ, рд╕рд╛рде рд╣реА GitLab рдХреЛрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреАред рдЕрдЧрд▓реЗ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ рдЙрд╕реЗ рджреЗ рджреВрдВрдЧрд╛, рдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рдкреВрд░рдХред

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


All Articles