рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдБ

Git рдЯреИрдЧ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓: рдЯреИрдЧ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ, рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

Git рдЯреИрдЧ рдХрд╛ рдкреНрд░рднрд╛рд╡реА рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВ рддрд╛рдХрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рдЗрд▓рд╕реНрдЯреЛрди рдЪрд┐рд╣реНрдирд┐рдд рд╣реЛрдВ, рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╕рдВрдЧрдард┐рдд рд░рд╣реЗ, рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд╣рдпреЛрдЧ рдмреЗрд╣рддрд░ рд╣реЛред
┬╖ 8 рдорд┐ре░ рдкрдврд╝реЗрдВ

AI рдХреЗ рд╕рд╛рде рдЦреЛрдЬреЗрдВ

рдореИрдВ рдПрдХ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдЗрдВрдЬреАрдирд┐рдпрд░ рд╣реВрдВред рдЕрдЧрд░ рдПрдХ рдЬрд╝рд░реВрд░реА рдмрд╛рдд рд╕реАрдЦреА рд╣реИ, рддреЛ рд╡рд╣ рдпрд╣ рдХрд┐ рд╕рд╛рдл-рд╕реБрдерд░рд╛ рд╡рд░реНрдЬрд╝рдирд┐рдВрдЧ рдХрд░рдирд╛ рд╕рд┐рд░реНрдл рдЕрдЪреНрдЫреА рдкреНрд░реИрдХреНрдЯрд┐рд╕ рдирд╣реАрдВ рд╣реИтАФрдпрд╣ рдкреБрдирд░реБрддреНрдкрд╛рджрдирдпреЛрдЧреНрдпрддрд╛ рдФрд░ рд╕рд╣рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИред

Git рдЯреИрдЧ рдХреЛрдб рдореЗрдВ рд╕реНрдерд┐рд░ рдЕрд╡рд╕реНрдерд╛рдУрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред рдпреЗ рд░рд┐рд▓реАрдЬрд╝ рдмрдирд╛рдиреЗ, рдХрд┐рд╕реА рдкрд┐рдЫрд▓реЗ рд╡рд░реНрдЬрд╝рди рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ, рдпрд╛ CI/CD рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдХреЛрдб, рдбреЗрдЯрд╛ рдпрд╛ рдирдП рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбрд▓ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВтАФрдЖрдкрдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдпрд╛ рднреВрдорд┐рдХрд╛ рдЪрд╛рд╣реЗ рдЬреЛ рд╣реЛтАФGit рдЯреИрдЧ рдЖрдкрдХрд╛ рдХрд╛рдо рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрддреЗ рд╣реИрдВред

рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рдореИрдВ Git рдЯреИрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ рдЙрди рдкрд░ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣рд░ рдмрд╛рдд рд╕рдордЭрд╛рдКрдВрдЧрд╛ред рддреИрдпрд╛рд░ рд╣реИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ Git рдЯреИрдЧ рдЖрдкрдХреЗ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЛ рдХреИрд╕реЗ рд╕рд░рд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ? рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

>рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ Git рдХрд╛ рдПрдХ рддреНрд╡рд░рд┐рдд рдЕрд╡рд▓реЛрдХрди рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП GitHub рдФрд░ Git рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ред

Git рдЯреИрдЧ рдХреНрдпрд╛ рд╣реИ?

Git рдЯреИрдЧ рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рд░рд▓ рдкрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рддрд░реАрдХрд╛ рд╣реИред рдЗрд╕реЗ рдХрд┐рд╕реА рдЦрд╛рд╕ рдХрдорд┐рдЯ рдкрд░ рдЪрд┐рдкрдХрд╛рдпрд╛ рдЧрдпрд╛ рд╕реНрдЯрд┐рдХреА рдиреЛрдЯ рд╕рдордЭреЗрдВ, рдЬреЛ рдХрд╣рддрд╛ рд╣реИ, тАЬрдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИредтАЭ┬а

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

The master branch with two Git tags

рдорд╛рд╕реНрдЯрд░ рдмреНрд░рд╛рдВрдЪ рджреЛ Git рдЯреИрдЧ рдХреЗ рд╕рд╛рдеред рдЫрд╡рд┐ рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ред

рдЯреИрдЧ рдХреЗ рджреЛ рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ:

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

>Git рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП Foundations of Git рдпрд╛ Intermediate Git рдХреЛрд░реНрд╕ред

Git рдЯреИрдЧ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ

Git рдЯреИрдЧ рдмрдирд╛рдирд╛ рдФрд░ рдореИрдиреЗрдЬ рдХрд░рдирд╛ рд╕реАрдзрд╛-рд╕рд╛рджрд╛ рд╣реИред рдЖрдЗрдП рдЯреИрдЧ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕рдордЭреЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВред

рд▓рд╛рдЗрдЯрд╡реЗрдЯ рдЯреИрдЧ рдмрдирд╛рдирд╛

рд▓рд╛рдЗрдЯрд╡реЗрдЯ рдЯреИрдЧ рдПрдХ рдХрдорд┐рдЯ рдХреА рдУрд░ рд╕рдВрдХреЗрдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкреЙрдЗрдВрдЯрд░ рдЬреИрд╕рд╛ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрддрд╛тАФрд╕рд┐рд░реНрдл рдЯреИрдЧ рдирд╛рдо рдФрд░ рд╡рд╣ рдХрдорд┐рдЯ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдУрд░ рдпрд╣ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдпрд╣ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:┬а

git tag v1.0.0

рдпрд╣ рдХрдорд╛рдВрдб рд╡рд░реНрддрдорд╛рди HEAD рдХрдорд┐рдЯ рдХреА рдУрд░ рд╕рдВрдХреЗрдд рдХрд░рддрд╛ рд╣реБрдЖ рдПрдХ рд▓рд╛рдЗрдЯрд╡реЗрдЯ рдЯреИрдЧ рдмрдирд╛рддрд╛ рд╣реИред┬а

рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдорд┐рдЯ рдХреЗ рд▓рд┐рдП рдХрдорд┐рдЯ рд╣реИрд╢ рджреЗрдХрд░ рднреА рдЯреИрдЧ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:

git tag v1.0.0 5c5fc06

рд▓рд╛рдЗрдЯрд╡реЗрдЯ рдЯреИрдЧ рддреНрд╡рд░рд┐рдд, рд▓реЛрдХрд▓ рд░реЗрдлрд░реЗрдВрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рд╕реЛрд▓реЛ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдпрд╛ рдЕрд╕реНрдерд╛рдпреА рдХрд╛рдо рдореЗрдВред

рдПрдиреЛрдЯреЗрдЯреЗрдб рдЯреИрдЧ рдмрдирд╛рдирд╛

рдПрдиреЛрдЯреЗрдЯреЗрдб рдЯреИрдЧ рдЯреИрдЧрд░ рдХрд╛ рдирд╛рдо, рдИрдореЗрд▓, рддрд╛рд░реАрдЦ рдФрд░ рд╕рдВрджреЗрд╢ рдЬреИрд╕реА рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред рдпреЗ рдкреВрд░реНрдг Git рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯреЛрд░ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд┐рд▓реАрдЬрд╝ рдпрд╛ рдорд╛рдЗрд▓рд╕реНрдЯреЛрди рдХреЛ рдЯреИрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИрдВред

рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛рдПрдВ:┬а

git tag -a v1.0.0 -m "Release version 1.0.0"

рдпрд╣ рдХрдорд╛рдВрдб v1.0.0 рдирд╛рдо рдХрд╛ рдПрдХ рдПрдиреЛрдЯреЗрдЯреЗрдб рдЯреИрдЧ рд╕рдВрджреЗрд╢ "Release version 1.0.0" рдХреЗ рд╕рд╛рде рдмрдирд╛рддреА рд╣реИред

рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдорд┐рдЯ рдХреЛ рднреА рдЯреИрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

git tag -a v1.0.0 5c5fc06 -m "Tagging older commit"

рдПрдиреЛрдЯреЗрдЯреЗрдб рдЯреИрдЧ рдмреЗрд╣рддрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, CI/CD рдЯреВрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рдПрдХреАрдХреГрдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЯреАрдореЛрдВ рдХреЛ рдЗрддрд┐рд╣рд╛рд╕ рдкрд╛рд░рджрд░реНрд╢реА рдврдВрдЧ рд╕реЗ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред

рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдорд┐рдЯреНрд╕ рдХреЛ рдЯреИрдЧ рдХрд░рдирд╛

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

рдХрдорд┐рдЯ рд╣реИрд╢ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЪрд▓рд╛рдПрдВ:

git log --oneline

рд╕реВрдЪреА рд╕реЗ рдХрдорд┐рдЯ рд╣реИрд╢ рдХреЙрдкреА рдХрд░реЗрдВ, рдлрд┐рд░:

git tag -a v1.0.0 <commit-hash> -m "Tagging v1.0.0 release"

рдмрдирд╛рдП рдЧрдП рдЯреИрдЧ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛

рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдореЗрдВ рд╕рднреА рдЯреИрдЧ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

git tag

рдпрджрд┐ рдЖрдк рдЯреИрдЧ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХреЗрд╡рд▓ рд╡реЗ рд╡рд░реНрдЬрд╝рди рдЬреЛ v1. рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

git tag -l 'v1.*'

рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреИрдЧ рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛рдПрдВ:

git show v1.0.0

Git рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛

рдЯреИрдЧ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд┐рдХрд╛рд╕ рдпрд╛ рд░рд┐рд▓реАрдЬрд╝ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдХреНрд╕рд░ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛, рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдпрд╛ рдЙрдирдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рд╕реЗрдХреНрд╢рди рдореЗрдВ рд▓реЛрдХрд▓ рдФрд░ рд░рд┐рдореЛрдЯ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдореЗрдВ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВред┬а

рдЯреИрдЧ рдХреЛ рд░рд┐рдореЛрдЯ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдкрд░ рдкреБрд╢ рдХрд░рдирд╛

рдЬрдм рдЖрдк git push рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЯреИрдЧ рдЕрдкрдиреЗ-рдЖрдк рд░рд┐рдореЛрдЯ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдкрд░ рдкреБрд╢ рдирд╣реАрдВ рд╣реЛрддреЗред рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреБрд╢ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдПрдХ рдПрдХрд▓ рдЯреИрдЧ рдкреБрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

git push origin v1.0.0

рд╕рднреА рдЯреИрдЧ рдПрдХ рд╕рд╛рде рдкреБрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

git push --tags

рдЯреИрдЧ рдкреБрд╢ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЖрдкрдХреЗ рдЯреАрдордореЗрдЯреНрд╕ рдпрд╛ CI/CD рдкрд╛рдЗрдкрд▓рд╛рдЗрдВрд╕ рдЙрди рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХреЗрдВред рдЯреИрдЧ рдЕрдХреНрд╕рд░ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рд╡рд░реНрдЬрд╝рди рд╡рд╛рд▓реА рд░рд┐рд▓реАрдЬрд╝ рдлреНрд▓реЛ рдХреЗ рдореБрддрд╛рдмрд┐рдХред рдмреНрд░рд╛рдВрдЪреЗрдЬрд╝ рдХреЛ рдкреБрд╢ рдФрд░ рдкреБрд▓ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВ Git Push and Pull рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВред

рдЯреИрдЧ рд╣рдЯрд╛рдирд╛

рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЯреИрдЧ рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рд▓реЛрдХрд▓ рдФрд░ рд░рд┐рдореЛрдЯ рджреЛрдиреЛрдВ рдЬрдЧрд╣ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЛрдХрд▓реА рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЪрд▓рд╛рдПрдВ:

git tag -d v1.0.0

рдлрд┐рд░ рд╡рд╣реА рдЯреИрдЧ рд░рд┐рдореЛрдЯ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП:

git push origin --delete v1.0.0

рдЖрдк GitHub рдпрд╛ GitLab рдХреЗ рд╡реЗрдм UI рд╕реЗ рднреА рд╕реАрдзреЗ рдЯреИрдЧ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред┬а

>рдпрджрд┐ рдЖрдк GitHub рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реАрдЦрдирд╛ рдФрд░ рдЙрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХреЛрд░реНрд╕ GitHub Foundations рдФрд░ GitHub Conceptsред

рдЯреИрдЧ рдЪреЗрдХрдЖрдЙрдЯ рдХрд░рдирд╛

рдЖрдк рдЕрдкрдиреЗ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреИрдЧ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдЪреЗрдХрдЖрдЙрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

git checkout v1.0.0

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рд╕реЗ рдЖрдк detached HEAD рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рдЖ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдк рдЕрдм рдХрд┐рд╕реА рдмреНрд░рд╛рдВрдЪ рдкрд░ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдХреЛрдИ рднреА рдирдпрд╛ рдХрдорд┐рдЯ рдХрд┐рд╕реА рдмреНрд░рд╛рдВрдЪ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬрдм рддрдХ рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдмреНрд░рд╛рдВрдЪ рди рдмрдирд╛рдПрдВ:

git checkout -b hotfix-v1.0.0

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

рдХрдорд┐рдЯ рдХреЗ рдмрд╛рдж рдЯреИрдЧ рд▓рдЧрд╛рдирд╛

рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдЯреИрдЧ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реИтАФрдЬреИрд╕реЗ рдЙрд╕реЗ рдХрд┐рд╕реА рджреВрд╕рд░реЗ рдХрдорд┐рдЯ рдкрд░ рд▓реЗ рдЬрд╛рдирд╛ рдпрд╛ рд╕рдВрджреЗрд╢ рдмрджрд▓рдирд╛тАФрддреЛ рдЖрдк рдлреЛрд░реНрд╕ рдЕрдкрдбреЗрдЯ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

git tag -f -a v1.0.0 5c5fc06 -m "retagging"

рдЖрдк рдХрдорд┐рдЯ рд╣реИрд╢ рджрд┐рдП рдмрд┐рдирд╛ рднреА рдпрд╣реА рдХрдорд╛рдВрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЯреИрдЧ рд╡рд░реНрддрдорд╛рди HEAD рдкрд░ рд▓рдЧ рдЬрд╛рдПрдЧрд╛ред

>рдпрджрд┐ рдЖрдкрдХреЛ рдкрд╛рд░рдВрдкрд░рд┐рдХ Git рдХрдорд╛рдВрдбреНрд╕ рдХрд╛ рдПрдХ рддреНрд╡рд░рд┐рдд рд╕рд╛рд░ рдЪрд╛рд╣рд┐рдП, рддреЛ рдореИрдВ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ Complete Git Cheat Sheetред

Git рдЯреИрдЧ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕

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

рд╡рд░реНрдЬрд╝рдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ

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

рд╕реЗрдорд╛рдВрдЯрд┐рдХ рд╡рд░реНрдЬрд╝рдирд┐рдВрдЧ рдореЗрдВ, рд╡рд░реНрдЬрд╝рди рдирдВрдмрд░ рдХрд╛ рдкреНрд░рд╛рд░реВрдк MAJOR.MINOR.PATCH рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП v.1.2.0ред

MAJOR рд╡рд░реНрдЬрд╝рди рдмрдбрд╝реЗ рдФрд░ рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП, MINOR рдирдП рдлрд╝реАрдЪрд░реНрд╕ рдХреЗ рд▓рд┐рдП, рдФрд░ PATCH рдмрдЧ рдлрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╣реЛрддреЗ рд╣реИрдВред

рд╕реЗрдорд╛рдВрдЯрд┐рдХ рд╡рд░реНрдЬрд╝рдирд┐рдВрдЧ рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИред рдпрд╣ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдХрд░рддреА рд╣реИ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕рдВрдЧрддрддрд╛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИ, рдФрд░ CI/CD рдЯреНрд░рд┐рдЧрд░реНрд╕ рдЬреИрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЯреВрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреА рд╣реИред

рдХрд┐рд╕реА рд╕реБрд╕рдВрдЧрдд рдиреЗрдорд┐рдВрдЧ рдХрдиреНрд╡реЗрдВрд╢рди рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред рдПрдХ рдкреИрдЯрд░реНрди рдЪреБрдиреЗрдВ (рдЬреИрд╕реЗ рд╣рдореЗрд╢рд╛ v рд╕реЗ рдкреНрд░реАрдлрд╝рд┐рдХреНрд╕ рдХрд░реЗрдВ) рдФрд░ рдЙрд╕реЗ рд╕рднреА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЕрдкрдирд╛рдПрдВред

рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рдЯреИрдЧ рд▓рдЧрд╛рдирд╛

рдЯреИрдЧ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬрд╝ рдЪрд░рдгреЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИрдВред рдпрд╣рд╛рдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдЯреИрдЧ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ рдЬрд┐рди рдкрд░ рдЖрдк рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • v1.0.0-alpha: рдЖрдВрддрд░рд┐рдХ рдкрд░реАрдХреНрд╖рдг рд╡рд░реНрдЬрд╝рди
  • v1.0.0-beta: рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдмреАрдЯрд╛ рд░рд┐рд▓реАрдЬрд╝
  • v1.0.0: рдЕрдВрддрд┐рдо рдкреНрд░реЛрдбрдХреНрд╢рди рд░рд┐рд▓реАрдЬрд╝

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

рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрдЯреЗрдб рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдФрд░ рдмреЗрд╣рддрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╕рдВрджрд░реНрдн рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдареАрдХ рд╕реЗ рдХреИрдкреНрдЪрд░ рд╣реЛред

рдЯреИрдЧ рдХрд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВ

рдЯреИрдЧ рдЬрд┐рддрдиреЗ рдЙрдкрдпреЛрдЧреА рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИрдВ, рдЙрддрдиреЗ рд╣реА рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдкрд░ рдмреЗрдорд╛рдиреА рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЯреИрдЧ рд╕рд┐рд░реНрдлрд╝ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд╕рд╛рд░реНрдердХ рдмрд┐рдВрджреБрдУрдВтАФрдЬреИрд╕реЗ рд╕реНрдерд┐рд░ рд╡рд░реНрдЬрд╝рди, рдмрдбрд╝реЗ рдлрд╝реАрдЪрд░ рдкреВрд░реЗ рд╣реЛрдирд╛, рдорд╛рдЗрд▓рд╕реНрдЯреЛрди рдпрд╛ рдбреЗрдбрд▓рд╛рдЗрдиреНрд╕тАФрдХреЛ рд╣реА рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВред┬а

рд╣рд░ рдХрдорд┐рдЯ рдХреЛ рдЯреИрдЧ рдХрд░рдирд╛ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рддреЗрдЬрд╝ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рдирд┐рд╖реНрдлрд▓ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рд╕рд╛рдлрд╝-рд╕реБрдерд░рд╛ рдФрд░ рдЙрджреНрджреЗрд╢реНрдпрдкреВрд░реНрдг рд░рдЦреЗрдВ!

рдПрдХ рдЕрдЪреНрдЫрд╛ рдирд┐рдпрдо рдпрд╣ рд╣реИ: рдпрджрд┐ рдЖрдк рдЙрд╕реЗ рдбрд┐рдкреНрд▓реЙрдп рдпрд╛ рдШреЛрд╖рдгрд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рддреЛ рд╢рд╛рдпрдж рдЙрд╕реЗ рдЯреИрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

Git рдЯреИрдЧ рдХрд╛ рдЯреНрд░рдмрд▓рд╢реВрдЯрд┐рдВрдЧ

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

detached HEAD рдЕрд╡рд╕реНрдерд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛

рдЬрдм рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреИрдЧ рдХреЛ рдЗрд╕ рддрд░рд╣ рдЪреЗрдХрдЖрдЙрдЯ рдХрд░рддреЗ рд╣реИрдВ:

git checkout v1.0.0

Git рдЖрдкрдХреЛ, рдЬреИрд╕рд╛ рдкрд╣рд▓реЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛, detached HEAD рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рдбрд╛рд▓ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдмреНрд░рд╛рдВрдЪ рдкрд░ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрдЧрд░ рдЖрдк рдХрдорд┐рдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╣ рдХрд┐рд╕реА рдмреНрд░рд╛рдВрдЪ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рдмрд┐рдирд╛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдЦреЛ рд╕рдХрддрд╛ рд╣реИред┬а

рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреНрд░рд╛рдВрдЪ рдмрдирд╛рдПрдВ, рдпрд╣ рдЪрд▓рд╛рдХрд░:

git checkout -b hotfix-v1.0.0

рдЕрдм рдЖрдк рдПрдХ рдмреНрд░рд╛рдВрдЪ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрдорд┐рдЯ рдФрд░ рдкреБрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЯреИрдЧ рдХреЙрдиреНрдлреНрд▓рд┐рдХреНрдЯреНрд╕ рдХреЛ рд╕реБрд▓рдЭрд╛рдирд╛

рдХреЙрдиреНрдлреНрд▓рд┐рдХреНрдЯ рддрдм рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдПрдХ рд╣реА рдЯреИрдЧ рдирд╛рдо рд▓реЛрдХрд▓ рдФрд░ рд░рд┐рдореЛрдЯ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдорд┐рдЯреНрд╕ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░ рд░рд╣рд╛ рд╣реЛред┬а

рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рд▓реЛрдХрд▓ рдореЗрдВ рдХреЛрдИ рдЯреИрдЧ рд╣рдЯрд╛рдХрд░ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рддреЗ рд╣реИрдВ, рдпрд╛ рдХреЛрдИ рдФрд░ рдЯреИрдЧ рдХреЛ рдлреЛрд░реНрд╕-рдкреБрд╢ рдХрд░ рджреЗрддрд╛ рд╣реИред

рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реБрд▓рдЭрд╛рдиреЗ рдХреЗ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред

рд╡рд┐рдХрд▓реНрдк 1: рдЯреИрдЧ рд╣рдЯрд╛рдПрдВ рдФрд░ рджреЛрдмрд╛рд░рд╛ рдкреБрд╢ рдХрд░реЗрдВ

git tag -d v1.0.0
git push origin --delete v1.0.0
git tag -a v1.0.0 -m "Corrected tag"
git push origin v1.0.0

рд╡рд┐рдХрд▓реНрдк 2: рдЕрдкрдбреЗрдЯреЗрдб рдЯреИрдЧ рдХреЛ рдлреЛрд░реНрд╕-рдкреБрд╢ рдХрд░реЗрдВ

рдпрджрд┐ рдЖрдкрдХреЛ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рд▓реЛрдХрд▓ рдЯреИрдЧ рд╣реА рд╕рд╣реА рд╣реИ, рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдиреБрдорддрд┐ рд╣реИ:

git push origin -f v1.0.0

рд▓реЗрдХрд┐рди рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рд╕рд╛рд╡рдзрд╛рдиреА рд░рдЦреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдлреЛрд░реНрд╕-рдкреБрд╢рд┐рдВрдЧ рджреВрд╕рд░реЛрдВ рдХреЗ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░ рд╕рдХрддреА рд╣реИред рдЗрд╕реЗ рддрднреА рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрдм рдЖрдк рдЖрд╢реНрд╡рд╕реНрдд рд╣реЛрдВ рдпрд╛ рдЕрдкрдиреА рдЯреАрдо рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░ рдЪреБрдХреЗ рд╣реЛрдВред

рдирд┐рд╖реНрдХрд░реНрд╖

рд╕рдордЭрджрд╛рд░реА рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдкрд░ Git рдЯреИрдЧ рдХрд╛рдлрд╝реА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЯреВрд▓ рд╣реИрдВред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рдЖрдкрдиреЗ рд╕реАрдЦрд╛:

  • Git рдЯреИрдЧ рдХреНрдпрд╛ рд╣реИрдВ рдФрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░реЗрдВ
  • рдЕрдкрдиреЗ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдореЗрдВ Git рдЯреИрдЧ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ
  • Git рдЯреИрдЧ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕
  • Git рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЖрдо рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдЯреНрд░рдмрд▓рд╢реВрдЯ рдХреИрд╕реЗ рдХрд░реЗрдВ

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

рдореИрдВ рд▓рдЧрд╛рддрд╛рд░ Git рдЯреИрдЧ рдкрд░ рдирд┐рд░реНрднрд░ рд░рд╣рддрд╛ рд╣реВрдВред рд╡реЗ рдореБрдЭреЗ рдШрдВрдЯреЗ рдмрдЪрд╛рддреЗ рд╣реИрдВтАФрдЬрдм рдмрдЧ рдЖрддреЗ рд╣реИрдВ рддреЛ рд╕реНрдерд┐рд░ рд╡рд░реНрдЬрд╝рди рдкрд░ рд░реЛрд▓ рдмреИрдХ рдХрд░рдиреЗ рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд CI/CD рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВред рдореИрдВ рдкреНрд░реЛрдбрдХреНрд╢рди рдмрд┐рд▓реНрдбреНрд╕ рдХреЗ рд▓рд┐рдП Docker рдЗрдореЗрдЬ рдХреЛ рдЯреИрдЧ рдФрд░ рд╡рд░реНрдЬрд╝рди рдХрд░рдиреЗ рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддрд╛рдХрд┐ рдореИрдВ рдЬреЛ рднреА рд╢рд┐рдк рдХрд░реВрдВ рд╡рд╣ рдкреВрд░реА рддрд░рд╣ рдЯреНрд░реЗрд╕ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝рд┐рдд рд░рд╣реЗред

рддреЛ рдЖрдЬ рд╣реА рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреЗ Git рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рдмрджрд▓ рджреЗрдВ!

FAQs

Git рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

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

рд▓рд╛рдЗрдЯрд╡реЗрдЯ рдФрд░ рдПрдиреЛрдЯреЗрдЯреЗрдб Git рдЯреИрдЧ рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ?

рд▓рд╛рдЗрдЯрд╡реЗрдЯ рдЯреИрдЧ рдХрд┐рд╕реА рдХрдорд┐рдЯ рдХреЗ рд╕рд░рд▓ рд░реЗрдлрд░реЗрдВрд╕ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдПрдиреЛрдЯреЗрдЯреЗрдб рдЯреИрдЧ рд▓реЗрдЦрдХ, рддрд╛рд░реАрдЦ рдФрд░ рд╕рдВрджреЗрд╢ рдЬреИрд╕реА рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВред

рдЬрдм рдореИрдВ Git рдореЗрдВ рдХрд┐рд╕реА рдЯреИрдЧ рдХреЛ рдЪреЗрдХрдЖрдЙрдЯ рдХрд░рддрд╛/рдХрд░рддреА рд╣реВрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?

рдЖрдк тАЬdetached HEADтАЭ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛рдиреА рдЖрдк рдХрд┐рд╕реА рдмреНрд░рд╛рдВрдЪ рдкрд░ рдирд╣реАрдВ рд╣реЛрддреЗ, рдФрд░ рдХреЛрдИ рднреА рдХрдорд┐рдЯ рддрдм рддрдХ рдХрд┐рд╕реА рдмреНрд░рд╛рдВрдЪ рдореЗрдВ рд╕реЗрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬрдм рддрдХ рдЖрдк рдПрдХ рдмреНрд░рд╛рдВрдЪ рдирд╣реАрдВ рдмрдирд╛рддреЗред

рдореИрдВ Git рдЯреИрдЧ рдХреИрд╕реЗ рдмрдирд╛рдКрдВ?

рд▓рд╛рдЗрдЯрд╡реЗрдЯ рдЯреИрдЧ рдХреЗ рд▓рд┐рдП git tag <tagname> рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдпрд╛ рдПрдиреЛрдЯреЗрдЯреЗрдб рдЯреИрдЧ рдХреЗ рд▓рд┐рдП git tag -a <tagname> -m "message"ред

рдХреНрдпрд╛ Git рдЯреИрдЧ рдЖрдорддреМрд░ рдкрд░ CI/CD рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рд╣реЛрддреЗ рд╣реИрдВ?

рд╣рд╛рдБред рдЯреИрдЧ, рдЦрд╛рд╕рдХрд░ рд░рд┐рд▓реАрдЬрд╝ рд╡рд░реНрдЬрд╝рди рдХреЛ рдЯреИрдЧ рдХрд░рддреЗ рд╕рдордп, CI/CD рдкрд╛рдЗрдкрд▓рд╛рдЗрдВрд╕ рдореЗрдВ рдСрдЯреЛрдореЗрдЯреЗрдб рдмрд┐рд▓реНрдб рдпрд╛ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдЯреНрд░рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

Patrick Brus

рд▓реЗрдЦрдХ

Patrick Brus

рдореИрдВ рдПрдХ рдХреНрд▓рд╛рдЙрдб рдЗрдВрдЬреАрдирд┐рдпрд░ рд╣реВрдВ, рдЬрд┐рд╕рдХреА рдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХрд▓ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ, рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдордЬрдмреВрдд рдиреАрдВрд╡ рд╣реИред рдореЗрд░рд╛ рдХрд░рд┐рдпрд░ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрд╝рди рд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ, рдЬрд╣рд╛рдВ рдореИрдВрдиреЗ рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛, рдФрд░ рдмрд╛рдж рдореЗрдВ MLOps рддрдерд╛ DataOps рдХреА рдУрд░ рд░реБрдЦ рдХрд┐рдпрд╛ред рдореИрдВ MLOps рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдмрдирд╛рддрд╛ рд╣реВрдВ, рдбреЗрдЯрд╛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХреЛрдВ рдХрд╛ рд╕рд╣рдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рд╕реБрдЧрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП Kubernetes-рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реВрдВред

рд╡рд┐рд╖рдп