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

Git switch рдмрдирд╛рдо checkout: рдЕрдВрддрд░ рд╕рдордЭреЗрдВ

git switch рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░ рдЕрдкрдирд╛ Git рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЙрдиреНрдирдд рдХрд░реЗрдВред рдЬрд╛рдиреЗрдВ рдпрд╣ git checkout рд╕реЗ рдХреИрд╕реЗ рдЕрд▓рдЧ рд╣реИ, detached HEAD рдЕрд╡рд╕реНрдерд╛рдУрдВ рд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ, рдФрд░ рдмреНрд░рд╛рдВрдЪ рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдмрдирд╛рддрд╛ рд╣реИред
┬╖ 11 рдорд┐ре░ рдкрдврд╝реЗрдВ

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

рд▓рдВрдмреЗ рд╕рдордп рддрдХ, git checkout рдХрд┐рд╕реА рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ рдЗрдзрд░-рдЙрдзрд░ рдЬрд╛рдирд╛, рдмреНрд░рд╛рдВрдЪ рдмрджрд▓рдирд╛, рдлрд╛рдЗрд▓реЗрдВ рдмрд╣рд╛рд▓ рдХрд░рдирд╛, рдФрд░ рдкреБрд░рд╛рдиреЗ рдХрдорд┐рдЯ рджреЗрдЦрдирд╛тАФрдЗрди рд╕рдм рд╕реЗ рдЬреБрдбрд╝реА рд▓рдЧрднрдЧ рд╣рд░ рдЪреАрдЬ рд╕рдВрднрд╛рд▓рддрд╛ рдерд╛ред рдпрд╣ рд▓рдЪреАрд▓рд╛рдкрди рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рднреА рд▓рд╛рдпрд╛ред рдЙрд╕реА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдорддрд▓рдм рд╕рдВрджрд░реНрдн рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рдерд╛ред

рдПрдХ рдЫреЛрдЯреА рдЯрд╛рдЗрдкреЛ рд╕реЗ рдлрд╛рдЗрд▓ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХреА рдЬрдЧрд╣ рдмреНрд░рд╛рдВрдЪ рдмрджрд▓ рд╕рдХрддреА рдереАред git checkout <commit-hash> рд╕реЗ рддреНрд╡рд░рд┐рдд рдЗрддрд┐рд╣рд╛рд╕ рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реБрдП рдЖрдк рдмрд┐рдирд╛ рдЬрд╛рдиреЗ рд╣реА detached HEAD рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рдереЗред рдХрдорд╛рдВрдб рдХрд╛рдо рддреЛ рдХрд░рддрд╛ рдерд╛, рдкрд░ рдЙрд╕рдХреЗ рдХрдИ рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдХреЗ рдкреНрд░рддрд┐ рд▓рдЧрд╛рддрд╛рд░ рд╕рдЬрдЧ рд░рд╣рдирд╛ рдкрдбрд╝рддрд╛ рдерд╛ред

рдЗрд╕реАрд▓рд┐рдП Git 2.23 рдиреЗ git switch рдкреЗрд╢ рдХрд┐рдпрд╛тАФрдЬреЛ рдмреНрд░рд╛рдВрдЪ рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдорд╛рдВрдб рд╣реИред

рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ, рдореИрдВ рджрд┐рдЦрд╛рдКрдБрдЧрд╛ рдХрд┐ git switch git checkout рд╕реЗ рдХреИрд╕реЗ рдЕрд▓рдЧ рд╣реИред рд╣рдо рдпрд╣ рднреА рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЖрдзреБрдирд┐рдХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрдорд╛рдВрдб рдХрд╣рд╛рдБ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ рдФрд░ рдЙрдирдХрд╛ рджрд╛рдпрд░рд╛ рдХреНрдпрд╛ рд╣реИред

рдпрджрд┐ Git рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдирдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рд╣рдорд╛рд░реЗ Introduction to Git рдХреЛрд░реНрд╕ рдореЗрдВ рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реАрдЦрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдБред

Git Switch рдХреНрдпрд╛ рд╣реИ?

git switch Git 2.23 рдореЗрдВ рдмреНрд░рд╛рдВрдЪ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдХрдорд╛рдВрдб рд╣реИред рдпрд╣ рдмреНрд░рд╛рдВрдЪреЛрдВ рдХреЗ рдмреАрдЪ рдЖрдирд╛-рдЬрд╛рдирд╛ рдЬреНрдпрд╛рджрд╛ рд╕рд╛рдлрд╝, рд╕реБрд░рдХреНрд╖рд┐рдд рдФрд░ рдХрдо рддреНрд░реБрдЯрд┐-рдкреНрд░рд╡рдг рдмрдирд╛рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЖрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдмреНрд░рд╛рдВрдЪ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП git checkout рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рдереЗред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдереА рдХрд┐ git checkout рдХрдИ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдп рд╕рдВрднрд╛рд▓рддрд╛ рдерд╛:┬а

  • рдмреНрд░рд╛рдВрдЪ рдмрджрд▓рдирд╛
  • рдлрд╛рдЗрд▓реЗрдВ рдмрд╣рд╛рд▓ рдХрд░рдирд╛
  • рдХрдорд┐рдЯ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдирд╛

рдЗрд╕рд╕реЗ рдХрдорд╛рдВрдб рдмреЛрдЭрд┐рд▓ рд╣реЛ рдЧрдпрд╛ рдФрд░ рдЧрд▓рдд рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЖрд╢рдВрдХрд╛ рдмрдврд╝реАред

Git рдиреЗ рдЗрд╕реЗ рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпрд╛рдБ рдмрд╛рдБрдЯрдХрд░ рд╣рд▓ рдХрд┐рдпрд╛ред рдЕрдм git switch рдмреНрд░рд╛рдВрдЪ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдФрд░ рдирд┐рд░реНрдорд╛рдг рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ, рдФрд░ git restore рдлрд╛рдЗрд▓ рдмрд╣рд╛рд▓реА рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рднрд╛рдЬрди рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХрдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдХрд╕реНрдорд┐рдХ рдлрд╛рдЗрд▓ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЛ рдШрдЯрд╛рддрд╛ рд╣реИред

рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, git switch branch-name рдЖрдкрдХреЗ рд╡рд░реНрддрдорд╛рди HEAD рдкреЙрдЗрдВрдЯрд░ рдХреЛ рджрд┐рдП рдЧрдП рдмреНрд░рд╛рдВрдЪ рдирд╛рдо рдкрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк git switch -c new-branch рд╕реЗ рдирдпрд╛ рдмреНрд░рд╛рдВрдЪ рдмрдирд╛рдХрд░ рдЙрд╕реА рдкрд░ рд╕реНрд╡рд┐рдЪ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

Git switch рдмрдирд╛рдо checkout: рдореВрд▓ рдпрд╛рдВрддреНрд░рд┐рдХреА

рдЕрдм рдЬрдм рдЖрдк рд╕рдордЭ рдЧрдП рд╣реИрдВ рдХрд┐ git switch рдХреНрдпреЛрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛, рддреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЕрдВрджрд░рдЦрд╛рддреЗ git checkout рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рдЕрд▓рдЧ рд╣реИред

рдЙрджреНрджреЗрд╢реНрдп-рдирд┐рд░рдкреЗрдХреНрд╖ рдмреНрд░рд╛рдВрдЪ рдкреНрд░рдмрдВрдзрди

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

git switch vs checkout

git switch рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмреНрд░рд╛рдВрдЪреЛрдВ рдХреЗ рдмреАрдЪ HEAD рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдореВрд╡ рдХрд░рдиреЗ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдЬрдм рдЖрдк git switch branch-name рдЪрд▓рд╛рддреЗ рд╣реИрдВ, Git HEAD рдХреЛ рдЙрд╕ рдмреНрд░рд╛рдВрдЪ рдХреА рдУрд░ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд░реНрдХрд┐рдВрдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рдЙрд╕рдХреЗ рдЕрдиреБрд░реВрдк рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА рдпрд╣ рдХрдорд╛рдВрдб рдЦрд╛рд╕ рддреМрд░ рдкрд░ рдмреНрд░рд╛рдВрдЪ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╣реИред git switch рдФрд░ git restore рдХреЗ рд╕рд╛рде, рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпрд╛рдБ рд╕рд╛рдлрд╝-рд╕рд╛рдлрд╝ рдмрд╛рдБрдЯ рджреА рдЧрдИ рд╣реИрдВ:

  • git switch HEAD рдХреЛ рдмреНрд░рд╛рдВрдЪреЛрдВ рдХреЗ рдмреАрдЪ рдореВрд╡ рдХрд░рддрд╛ рд╣реИред

  • git restore рд╡рд░реНрдХрд┐рдВрдЧ рдЯреНрд░реА рдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдХрд┐рд╕реА рдлрд╛рдЗрд▓ рдХреЛ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рдерд╛: git checkout HEAD -- file.txtред рдЖрдЬ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рддрд░реАрдХрд╛ рд╣реИ: git restore file.txtред

рдпрд╣рд╛рдБ рдЖрдк рдлрд╛рдЗрд▓ рдмрд╣рд╛рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдмреНрд░рд╛рдВрдЪ рдиреЗрд╡рд┐рдЧреЗрдЯ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗред рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдФрд░ рдЯреАрдо рдбреЙрдХреНрдпреБрдореЗрдВрдЯреЗрд╢рди рдореЗрдВ рдпрд╣ рдлрд░реНрдХ рдкрдардиреАрдпрддрд╛ рдмрдврд╝рд╛рддрд╛ рд╣реИ рдФрд░ рдЧрд▓рддрд┐рдпрд╛рдБ рдШрдЯрд╛рддрд╛ рд╣реИред

Git рдХрдорд╛рдВрдбреНрд╕ рдХрд╛ рд╡рд┐рдХрд╛рд╕

Git 2.23 рдиреЗ рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпрд╛рдБ рдЕрд▓рдЧ рдХреАрдВтАФgit switch рдХреЛ рдмреНрд░рд╛рдВрдЪ рдСрдкрд░реЗрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП рдФрд░ git restore рдХреЛ рдлрд╛рдЗрд▓ рдмрд╣рд╛рд▓реА рдХреЗ рд▓рд┐рдП рдкреЗрд╢ рдХрд┐рдпрд╛ред

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

Detached HEAD рд╡реНрдпрд╡рд╣рд╛рд░

Git рдореЗрдВ, HEAD рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдХрд┐рд╕реА рдмреНрд░рд╛рдВрдЪ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИред рд╡рд╣ рдмреНрд░рд╛рдВрдЪ рдирд╡реАрдирддрдо рдХрдорд┐рдЯ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреА рд╣реИред рдЬрдм рдЖрдк рдирдпрд╛ рдХрдорд┐рдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, Git рдмреНрд░рд╛рдВрдЪ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛ рджреЗрддрд╛ рд╣реИред рдпрд╣реА рдорд╛рдирдХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╣реИред

Detached HEAD рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм HEAD рдХрд┐рд╕реА рдмреНрд░рд╛рдВрдЪ рдХреА рдмрдЬрд╛рдп рд╕реАрдзреЗ рдХрд┐рд╕реА рдХрдорд┐рдЯ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ, рдЖрдк рдХрд┐рд╕реА рдмреНрд░рд╛рдВрдЪ рдкрд░ рдирд╣реАрдВ рд╣реЛрддреЗред рдпрджрд┐ рдЖрдк рдирдпрд╛ рдХрдорд┐рдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, Git рдЙрд╕реЗ рддреЛ рдмрдирд╛ рджреЗрддрд╛ рд╣реИ, рдкрд░ рдХреЛрдИ рдмреНрд░рд╛рдВрдЪ рдирд╛рдо рдЙрд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ред рдЬрдм рддрдХ рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмреНрд░рд╛рдВрдЪ рдирд╣реАрдВ рдмрдирд╛рддреЗ, рд╡реЗ рдХрдорд┐рдЯ рдЕрдирд░реЗрдлрд░реЗрдВрд╕реНрдб рд░рд╣рддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдвреВрдБрдврдирд╛ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

git switch vs checkout detached head behavior

рдЬрдм рдЖрдк git checkout <commit-hash> рдЪрд▓рд╛рддреЗ рд╣реИрдВ, Git рдЕрдкрдиреЗ-рдЖрдк detached HEAD рдореЛрдб рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред Git рдЙрд╕ рдХрдорд┐рдЯ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрд┐рдирд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреБрд╖реНрдЯрд┐ рдХреЗ HEAD рдХреЛ рдбрд┐рдЯреИрдЪ рдХрд░ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╡реИрдз рд╣реИ, рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ detached рдореЛрдб рдореЗрдВ рдкрд╣реБрдБрдЪрд╛ рджреЗрддрд╛ рд╣реИред

рд╡рд╣реАрдВ, git switch рдореЗрдВ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрддрд╛рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред HEAD рдХреЛ рдбрд┐рдЯреИрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ git switch --detach <commit-hash> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред --detach рдлреНрд▓реИрдЧ рдХреЗ рдмрд┐рдирд╛, git switch рд╕рд┐рд░реНрдл рдмреНрд░рд╛рдВрдЪреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдбрд┐рдЬрд╝рд╛рдЗрди рдЖрдХрд╕реНрдорд┐рдХ detached рдЕрд╡рд╕реНрдерд╛рдУрдВ рдХреЛ рдШрдЯрд╛рддрд╛ рд╣реИ рдФрд░ рдмреНрд░рд╛рдВрдЪ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡ рдкреВрд░реНрд╡рд╛рдиреБрдореЗрдп рдмрдирд╛рддрд╛ рд╣реИред

Git switch рдмрдирд╛рдо checkout: рдкреНрд░рдореБрдЦ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЕрдВрддрд░

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

рдХрдорд╛рдВрдб рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рдирд┐рд░реНрдорд╛рдг

git switch рдХреЗ рд╕рд╛рде рдирдпрд╛ рдмреНрд░рд╛рдВрдЪ рдмрдирд╛рдХрд░ рдЙрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЪрд▓рд╛рддреЗ рд╣реИрдВ: git switch -c <branch-name>ред git checkout рдХреЗ рд╕рд╛рде рд╕рдордХрдХреНрд╖ рдХрдорд╛рдВрдб рд╣реИ: git checkout -b <branch-name>ред

рджреЛрдиреЛрдВ рдХрдорд╛рдВрдб рдирдпрд╛ рдмреНрд░рд╛рдВрдЪ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ, рдкрд░ рдлрд░реНрдХ рдЗрд╕ рдмрд╛рдд рдореЗрдВ рд╣реИ рдХрд┐ рдХрдорд╛рдВрдб рдЕрдкрдирд╛ рдЙрджреНрджреЗрд╢реНрдп рдХрд┐рддрдиреА рд╕реНрдкрд╖реНрдЯрддрд╛ рд╕реЗ рд╡реНрдпрдХреНрдд рдХрд░рддрд╛ рд╣реИред git switch рдореЗрдВ -c рдлреНрд▓реИрдЧ рд╕реАрдзреЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдмреНрд░рд╛рдВрдЪ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдЬрдмрдХрд┐ git checkout рдореЗрдВ -b рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ тАЬbranchтАЭ рдХрд╛ рд╕рдВрдХреЗрдд рд╣реИ, рдкрд░ рдордВрд╢рд╛ рдЙрддрдиреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВред

git switch -C рдлреНрд▓реИрдЧ рднреА рджреЗрддрд╛ рд╣реИ: git switch -C <branch-name>ред рдЗрд╕рдХрд╛ рдкреНрд░рднрд╛рд╡ -c рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рдмрд▓ рд╣реИ: рдпрд╣ рдЬрд╝рдмрд░рди рдмреНрд░рд╛рдВрдЪ рдмрдирд╛рддрд╛ рд╣реИ, рдпрд╛ рдпрджрд┐ рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ рддреЛ рдЙрд╕реЗ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реНрдкрд╖реНрдЯ рдФрд░ рдмреНрд░рд╛рдВрдЪ-рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред git checkout рдореЗрдВ рднреА рдорд┐рд▓рддреЗ-рдЬреБрд▓рддреЗ рдлреЛрд░реНрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдореМрдЬреВрдж рд╣реИрдВ, рдкрд░ рдЪреВрдБрдХрд┐ рдХрдорд╛рдВрдб рдХрдИ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдХрд░рддрд╛ рд╣реИ, рд╕реЗрдорд╛рдиреНрдЯрд┐рдХреНрд╕ рдЙрддрдиреЗ рд╕рд╛рдлрд╝ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИрдВред

рдСрдкрд░реЗрд╢рдВрд╕ рдХрд╛ рджрд╛рдпрд░рд╛

git switch рд╕рд┐рд░реНрдл рдмреНрд░рд╛рдВрдЪреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдлрд╛рдЗрд▓реЗрдВ рдмрд╣рд╛рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рдЕрдирд╕реНрдЯреЗрдЬ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдпрд╛ рдкреБрд░рд╛рдиреЗ рдХрдорд┐рдЯреНрд╕ рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╛рде рдЪреЗрдХрдЖрдЙрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореВрд▓рддрдГ, рдпрд╣ рдлрд╛рдЗрд▓-рд╕реНрддрд░реАрдп рдСрдкрд░реЗрд╢рдВрд╕ рд╕рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ред

рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, git checkout рдлрд╛рдЗрд▓ рд╕реНрддрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, git checkout <commit> -- <file> рдХрд┐рд╕реА рдкреБрд░рд╛рдиреЗ рдХрдорд┐рдЯ рд╕реЗ рдПрдХ рдЦрд╛рд╕ рдлрд╛рдЗрд▓ рдмрд╣рд╛рд▓ рдХрд░рддрд╛ рд╣реИред┬а

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

рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛-рдирд┐рд╡рд╛рд░рдг

git checkout рдХреА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рд╣реИред рдпрджрд┐ рдХрд┐рд╕реА рдмреНрд░рд╛рдВрдЪ рдирд╛рдо рдФрд░ рдлрд╛рдЗрд▓ рдирд╛рдо рдПрдХ рдЬреИрд╕реЗ рд╣реЛрдВ, рддреЛ рд╕рдВрджрд░реНрдн рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдпрд╣ рдпрд╛ рддреЛ рдмреНрд░рд╛рдВрдЪ рдмрджрд▓реЗрдЧрд╛ рдпрд╛ рдлрд╛рдЗрд▓ рдмрд╣рд╛рд▓ рдХрд░реЗрдЧрд╛ред git switch рдЗрд╕ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рдмрдЪрддрд╛ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рдмреНрд░рд╛рдВрдЪреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╡реИрдз рдмреНрд░рд╛рдВрдЪ рдирд╛рдо рдирд╣реАрдВ рджреЗрддреЗ, рддреЛ Git рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдлреЗрд▓ рд╣реЛрддрд╛ рд╣реИред┬а

git switch рддрдм рднреА рд╕реНрдкрд╖реНрдЯ рдПрд░рд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рджреЗрддрд╛ рд╣реИ рдЬрдм рд╕реНрдерд╛рдиреАрдп рдмрджрд▓рд╛рд╡ рд▓рдХреНрд╖рд┐рдд рдмреНрд░рд╛рдВрдЪ рд╕реЗ рдЯрдХрд░рд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдмреНрд░рд╛рдВрдЪ рдмрджрд▓рдиреЗ рд╕реЗ рдмрд┐рдирд╛ рдХрдорд┐рдЯ рдХрд┐рдП рдХрд╛рдо рдУрд╡рд░рд░рд╛рдЗрдЯ рд╣реЛрддрд╛, рддреЛ Git рдСрдкрд░реЗрд╢рди рд░реЛрдХрддрд╛ рд╣реИ рдФрд░ рд╕реАрдзреЗ рдРрд╕реЗ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ:┬а

  • рдпрджрд┐ рдмреНрд░рд╛рдВрдЪ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ: fatal: invalid reference: feature/login

  • рдпрджрд┐ рд╕реНрдерд╛рдиреАрдп рдмрджрд▓рд╛рд╡ рдУрд╡рд░рд░рд╛рдЗрдЯ рд╣реЛрдВрдЧреЗ: error: Your local changes to the following files would be overwritten by checkout

  • рдпрджрд┐ -c рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдмреНрд░рд╛рдВрдЪ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ: fatal: a branch named 'feature/login' already exists

рдРрд╕реЗ рд╕рд╛рдлрд╝ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЖрдХрд╕реНрдорд┐рдХ рд╕реНрдЯреЗрдЯ рдкрд░рд┐рд╡рд░реНрддрди рдШрдЯрд╛рддреЗ рд╣реИрдВред

Git switch рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг

рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк git switch рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рд╕рдордЭрдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпреЗ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд░реЛрдЬрд╝рдорд░реНрд░рд╛ рдХреЗ рдмреНрд░рд╛рдВрдЪ рдкреНрд░рдмрдВрдзрди рдореЗрдВ рдХреИрд╕реЗ рдмрд░реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реИ рдФрд░ git checkout рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпрд╣ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдФрд░ рдкреВрд░реНрд╡рд╛рдиреБрдореЗрдп рдХреНрдпреЛрдВ рд▓рдЧрддрд╛ рд╣реИред

рдорд╛рдирдХ рдмреНрд░рд╛рдВрдЪ рдСрдкрд░реЗрд╢рдВрд╕

рджреИрдирд┐рдХ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдореЗрдВ, рдЖрдк рдЕрдзрд┐рдХрддрд░ рдмреНрд░рд╛рдВрдЪреЛрдВ рдХреЗ рдмреАрдЪ рдЖрддреЗ-рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╛ рдирдП рдмреНрд░рд╛рдВрдЪ рдмрдирд╛рддреЗ рд╣реИрдВред

  • рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рд▓реЛрдХрд▓ рдмреНрд░рд╛рдВрдЪ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: git switch <branch_name>ред рдпрд╣рд╛рдБ, Git HEAD рдХреЛ рдмрддрд╛рдП рдЧрдП рдмреНрд░рд╛рдВрдЪ рдирд╛рдо рдкрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреА рд╡рд░реНрдХрд┐рдВрдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рдЙрд╕реА рдмреНрд░рд╛рдВрдЪ рд╕реЗ рдорд┐рд▓рд╛рддрд╛ рд╣реИред

  • рдпрджрд┐ рдЖрдкрдХреЛ тАЬnew_uiтАЭ рдирд╛рдордХ рдирдИ рдлрд╝реАрдЪрд░ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рдмреНрд░рд╛рдВрдЪ рдмрдирд╛рдХрд░ рдЙрд╕реА рдкрд░ рдПрдХ рдХрджрдо рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╣реИ, рддреЛ git switch -c feature/new-ui рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдЖрдкрдХреЗ рд╡рд░реНрддрдорд╛рди рдХрдорд┐рдЯ рд╕реЗ рдмреНрд░рд╛рдВрдЪ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рддреБрд░рдВрдд HEAD рдХреЛ рдЙрд╕ рдкрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред

  • рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдмреНрд░рд╛рдВрдЪ рдХреЛ рд░реАрд╕реЗрдЯ рдпрд╛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: git switch -C feature/new-uiред рдХреИрдкрд┐рдЯрд▓ -C рдирд┐рд░реНрдорд╛рдг рдХреЛ рдмрд╛рдзреНрдп рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдмреНрд░рд╛рдВрдЪ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдордВрд╢рд╛ рд╕реНрдкрд╖реНрдЯ рд╣реЛрддреА рд╣реИред

  • рдЖрдк git switch - рд╕реЗ рдЕрдкрдиреА рдкрд┐рдЫрд▓реА рджреЛ рдмреНрд░рд╛рдВрдЪреЛрдВ рдХреЗ рдмреАрдЪ рддреЗрдЬреА рд╕реЗ рдЯреЙрдЧрд▓ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдб рд░рд┐рд╡реНрдпреВ рдХреЗ рджреМрд░рд╛рди рдПрдХ рдмреНрд░рд╛рдВрдЪ рдФрд░ рдЕрдкрдиреЗ рдлреАрдЪрд░ рдмреНрд░рд╛рдВрдЪ рдХреЗ рдмреАрдЪ рдмрд╛рд░-рдмрд╛рд░ рдЖрдиреЗ-рдЬрд╛рдиреЗ рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИред

git switch -

рд░рд┐рдореЛрдЯ рдмреНрд░рд╛рдВрдЪ рд╕рдВрднрд╛рд▓рдирд╛

рдЕрдХреНрд╕рд░, рдХреЛрдИ рдмреНрд░рд╛рдВрдЪ рд░рд┐рдореЛрдЯ рдкрд░ рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИ, рдкрд░ рд▓реЛрдХрд▓ рдкрд░ рдирд╣реАрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдиреЗ origin/bugfix рдкреБрд╢ рдХрд┐рдпрд╛, рдкрд░ рдЖрдкрдиреЗ рдЕрднреА рддрдХ рдЙрд╕реЗ рд▓реЛрдХрд▓ рдкрд░ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ред

  • рдпрджрд┐ рдЖрдк рдЪрд▓рд╛рддреЗ рд╣реИрдВ: git switch bugfix, рддреЛ Git рд▓реЛрдХрд▓ bugfix рдмреНрд░рд╛рдВрдЪ рдмрдирд╛рдПрдЧрд╛ рдФрд░ рдЙрд╕реЗ рд░рд┐рдореЛрдЯ рдмреНрд░рд╛рдВрдЪ origin/bugfix рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░реЗрдЧрд╛, рдмрд╢рд░реНрддреЗ origin рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдореИрдЪ рд╣реЛред рдЗрд╕рд╕реЗ рд╕рд╣рдпреЛрдЧ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓реА рдЕрдкрд╕реНрдЯреНрд░реАрдо рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рдиреА рдкрдбрд╝рддреАред

  • рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ Git рдЕрдиреБрдорд╛рди рди рд▓рдЧрд╛рдП, рддреЛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: git switch --no-guess bugfixред рдЕрдм рдпрджрд┐ рдмреНрд░рд╛рдВрдЪ рд▓реЛрдХрд▓ рдореЗрдВ рдирд╣реАрдВ рд╣реИ рддреЛ Git рдлреЗрд▓ рд╣реЛрдЧрд╛ред рдпрд╣ рд╕рдЦреНрдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИ, рдЬрд╣рд╛рдБ рд╕реНрд╡рдд: рдЯреНрд░реИрдХрд┐рдВрдЧ рднреНрд░рдо рдкреИрджрд╛ рдХрд░ рд╕рдХрддреА рд╣реИред

  • рдпрджрд┐ рдЖрдк рдЯреНрд░реИрдХрд┐рдВрдЧ рдмреНрд░рд╛рдВрдЪ рдмрдирд╛рддреЗ рд╕рдордп рд╕реНрдкрд╖реНрдЯ рд░рд╣рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ git switch -c bugfix --track origin/bugfix рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЗрд╕рд╕реЗ рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕рдВрдмрдВрдз рд╕реНрд╡рдпрдВ рдХрдорд╛рдВрдб рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдХрдорд┐рдЯ рдирд┐рд░реАрдХреНрд╖рдг

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

git switch рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛: git switch --detach <commit-hash>ред

--detach рдлреНрд▓реИрдЧ Git рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ: HEAD рдХреЛ рд╕реАрдзреЗ рдЗрд╕ рдХрдорд┐рдЯ рдкрд░ рд▓реЗ рдЬрд╛рдУ, рдХрд┐рд╕реА рдмреНрд░рд╛рдВрдЪ рдкрд░ рдирд╣реАрдВред рдЕрдм рдЖрдк рдХреЛрдб рдПрдХреНрд╕рдкреНрд▓реЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЯреЗрд╕реНрдЯ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд┐рд▓реНрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЗрд╕ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рдирдП рдХрдорд┐рдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдХрд┐рд╕реА рдмреНрд░рд╛рдВрдЪ рд╕реЗ рдЬреБрдбрд╝реЗ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗтАФрдЬрдм рддрдХ рдЖрдк рдХреЛрдИ рдмреНрд░рд╛рдВрдЪ рди рдмрдирд╛ рд▓реЗрдВред

git checkout <commit-hash> рдХреЗ рд╕рд╛рде рдпрд╣реА рдХреНрд░рд┐рдпрд╛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдлреНрд▓реИрдЧ рдХреЗ рдЕрдкрдиреЗ-рдЖрдк рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЗрд╕рд╕реЗ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ detached рдореЛрдб рдореЗрдВ рдЬрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ git switch рдореЗрдВ --detach рдлреНрд▓реИрдЧ рдХреА рдЬрд╝рд░реВрд░рдд рдЖрдХрд╕реНрдорд┐рдХ detached HEAD рдЕрд╡рд╕реНрдерд╛рдУрдВ рдХреЛ рд░реЛрдХрддреА рд╣реИред┬а

Git switch рдХрд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди

рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рд╕рд╛рдорд╛рдиреНрдп Git рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдореЗрдВ git switch рдХреЛ рдХреИрд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкрд░рд┐рджреГрд╢реНрдп-рдЖрдзрд╛рд░рд┐рдд рдЪрдпрди

рдЖрдзреБрдирд┐рдХ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдореЗрдВ, рдмреНрд░рд╛рдВрдЪ рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рднреА рдХрд╛рдо git switch рд╕реЗ рд╣реА рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ┬а

  • рд░реВрдЯреАрди рдлрд╝реАрдЪрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ
  • рдкреБрд▓ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдХреА рд╕рдореАрдХреНрд╖рд╛
  • рд▓реЛрдХрд▓реА рд░реАрдмреЗрд╕ рдХрд░рдирд╛
  • CI/CD рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдЬреЛ рдмрд┐рд▓реНрдб рдХреЗ рджреМрд░рд╛рди рдмреНрд░рд╛рдВрдЪ рдЪреЗрдХрдЖрдЙрдЯ рдХрд░рддреА рд╣реИрдВ

рдХреНрдпреЛрдВрдХрд┐ git switch рдХреЗрд╡рд▓ рдмреНрд░рд╛рдВрдЪ рдкреНрд░рдмрдВрдзрди рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ, рдпрд╣ рдордВрд╢рд╛ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред

git checkout рдХреА рднреВрдорд┐рдХрд╛ рдЕрдм рд╕рдВрдХрд░реА рд╣реИ, рдкрд░ рдмрдиреА рд╣реБрдИ рд╣реИред Git 2.23 рд╕реЗ рдкрд╣рд▓реЗ рд▓рд┐рдЦреА рдЧрдИ рд▓реЗрдЧреЗрд╕реА рдСрдЯреЛрдореЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдЕрдХреНрд╕рд░ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИрдВред рдХреБрдЫ рдлрд╛рдЗрд▓-рд╕реНрддрд░реАрдп рд░рд┐рд╡рд░реНрдЬрд╝рди рдХрд╛рд░реНрдп рднреА рдЕрдм рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдЧреЗ рдЪрд▓рддреЗ рд╣реБрдП git restore рдкрд╕рдВрджреАрджрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИред

Troubleshooting рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдБ

рдРрд╕реА рджреЛ рд╕реНрдкрд╖реНрдЯ рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реИрдВ рдЬреЛ git switch рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкрд░реЗрд╢рд╛рдиреА рдкреИрджрд╛ рдХрд░ рд╕рдХрддреА рд╣реИрдВред

тАЬYour local changes would be overwrittenтАЭ

рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛ рдЬреЛ рд▓реЛрдХрд▓ рдмрджрд▓рд╛рд╡ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдкрд░ рдмреНрд░рд╛рдВрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╕рдордп рджрд┐рдЦрддреА рд╣реИ, рд╡рд╣ рд╣реИ тАЬerror: Your local changes would be overwrittenтАЭред рдпрд╣рд╛рдБ Git рдСрдкрд░реЗрд╢рди рдХреЛ рдмреНрд▓реЙрдХ рдХрд░ рджреЗрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдкрд░ рдмрд┐рдирд╛ рдХрдорд┐рдЯ рдХрд┐рдП рдХрд╛рдо рдУрд╡рд░рд░рд╛рдЗрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд╕реЗ рдЙрдмрд░рдиреЗ рдХреЗ рджреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

  1. рдпрджрд┐ рдЖрдк рдмрджрд▓рд╛рд╡ рдмрд╛рдж рдХреЗ рд▓рд┐рдП рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд▓рдХреНрд╖реНрдп рдмреНрд░рд╛рдВрдЪ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ git stash рдЪрд▓рд╛рдПрдБред рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк git stash pop рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

  2. рдпрджрд┐ рдЖрдк рдЬрд╛рдирдмреВрдЭрдХрд░ рд▓реЛрдХрд▓ рдмрджрд▓рд╛рд╡ рддреНрдпрд╛рдЧрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: git switch --discard-changes target-branchред рдпрд╣ рд╡рд┐рдХрд▓реНрдк Git рдХреЛ рд▓реЛрдХрд▓ рдмрджрд▓рд╛рд╡ рдлреЗрдВрдХрдиреЗ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рд╡ рд╡рд░реНрдХрд┐рдВрдЧ рдЯреНрд░реА рдХреЛ рд▓рдХреНрд╖реНрдп рдмреНрд░рд╛рдВрдЪ рд╕реЗ рдорд┐рд▓рд╛рдиреЗ рдХреЛ рдХрд╣рддрд╛ рд╣реИ (рдпрд╣ рдЕрдирдЯреНрд░реИрдХреНрдб рдлрд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ рд╣рдЯрд╛рддрд╛)ред

рдЧрд▓рддреА рд╕реЗ detached HEAD рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рдкрд╣реБрдБрдЪрдирд╛

рдПрдХ рдФрд░ рд╕реНрдерд┐рддрд┐ рд╣реИ рдЧрд▓рддреА рд╕реЗ detached HEAD рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рдкрд╣реБрдБрдЪрдирд╛ред рдпрджрд┐ рдЖрдкрдХреЛ рдПрд╣рд╕рд╛рд╕ рд╣реЛ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдмреНрд░рд╛рдВрдЪ рдкрд░ рдирд╣реАрдВ рд╣реИрдВ, рдкрд░ рдЖрдкрдХрд╛ рдХрд╛рдо рдмрдЪрд╛рдирд╛ рд╣реИ, рддреЛ рддреБрд░рдВрдд рдирдпрд╛ рдмреНрд░рд╛рдВрдЪ рдмрдирд╛рдПрдБ: git switch -c recovery-branchред рдпрд╣ рдЖрдкрдХреА рд╡рд░реНрддрдорд╛рди рдХрдорд┐рдЯ рд╣рд┐рд╕реНрдЯреНрд░реА рдХреЛ рдирд╛рдорд┐рдд рдмреНрд░рд╛рдВрдЪ рд╕реЗ рдЬреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдмрджрд▓рд╛рд╡ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддрд╛ рд╣реИред

Git switch рдЕрдкрдирд╛рдиреЗ рдХреА рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдБ

git switch рдЕрдкрдирд╛рдирд╛ рдХреЗрд╡рд▓ рдХрдорд╛рдВрдб рдкрд╕рдВрдж рдХрд╛ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЗрд╕ рдмрд╛рдд рдореЗрдВ рдЫреЛрдЯрд╛-рд╕рд╛ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдЙрдиреНрдирдпрди рд╣реИ рдХрд┐ рдЯреАрдореЗрдВ Git рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рд╕реЛрдЪрддреА рд╣реИрдВред рдЬрдм рдЗрд╕реЗ рдбреЙрдХреНрдпреБрдореЗрдВрдЯреЗрд╢рди, рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ рдФрд░ рдСрдЯреЛрдореЗрд╢рди рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдЕрдкрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд▓рд╛рдн рдмрдврд╝рддреЗ рдЬрд╛рддреЗ рд╣реИрдВред

рдЯреАрдо рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд░рдгрдиреАрддрд┐рдпрд╛рдБ

рдЕрдкрдиреА рдЖрдВрддрд░рд┐рдХ рдбреЙрдХреНрдпреБрдореЗрдВрдЯреЗрд╢рди рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВред рдпрджрд┐ рдЖрдкрдХреЗ тАЬGetting StartedтАЭ рдЧрд╛рдЗрдб рдЕрдм рднреА рдмреНрд░рд╛рдВрдЪ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП git checkout рд╕рд┐рдЦрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ git switch рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред checkout рдХреЛ рд╡рд╣реАрдВ рд░рдЦреЗрдВ рдЬрд╣рд╛рдБ рдЙрд╕рдХреА рд╕рдЪ рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реЛред

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

рдСрдЯреЛрдореЗрд╢рди рдореЗрдВ рд╕реБрд╕рдВрдЧрддрддрд╛

рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕, CI рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреНрд╕, рдФрд░ Git рдПрд▓рд┐рдпрд╛рд╕ рдореЗрдВ, рдмреНрд░рд╛рдВрдЪ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЗ рд▓рд┐рдП git switch рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдордВрд╢рд╛ рддреБрд░рдВрдд рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред git switch main рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдордЭрдирд╛ рдЙрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдЖрд╕рд╛рди рд╣реИ рдЬреЛ git checkout рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рдХрдИ рддрд░рд╣ рдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред┬а

рдпрджрд┐ рдЖрдк Git рдПрд▓рд┐рдпрд╛рд╕ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЖрдзреБрдирд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрдиреБрд░реВрдк рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝реАрдЪрд░ рдмреНрд░рд╛рдВрдЪ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓рд┐рдпрд╛рд╕ git checkout -b рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ git switch -c рдХреЛ рд░реИрдк рдХрд░реЗред

рдЕрдВрдд рдореЗрдВ, рд╕рднреА рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдореЗрдВ Git рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рдБрдЪ рд▓реЗрдВред git switch рдХреЗ рд▓рд┐рдП Git 2.23 рдпрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЪрд╛рд╣рд┐рдПред рдирдпрд╛ рдХрдорд╛рдВрдб рдорд╛рдирдХреАрдХреГрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд▓реЛрдХрд▓ рдбреЗрд╡рд▓рдкрд░ рдорд╢реАрдиреЗрдВ, CI рд░рдирд░реНрд╕ рдФрд░ рдмрд┐рд▓реНрдб рд╕рд░реНрд╡рд░ рдЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реЛрдВред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡рд░реНрдЬрд╝рди рдЬрд╛рдБрдЪ рд╕реВрдХреНрд╖реНрдо рдЕрдиреБрдХреВрд▓рддрд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрд╛рддреА рд╣реИред

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

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

рд╣рд╛рд▓рд╛рдБрдХрд┐, git checkout рдХреЛ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ; рдЖрдк рдЕрднреА рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдлрд╛рдЗрд▓реЗрдВ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ, рдмреНрд░рд╛рдВрдЪреЛрдВ рдХреЗ рдмреАрдЪ рдЬрд╛рдиреЗ, рдпрд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рджреИрдирд┐рдХ рдмреНрд░рд╛рдВрдЪ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЗ рд▓рд┐рдП, Git рдЖрдкрдХреЛ git switch рдЕрдкрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЕрдЧрд▓реЗ рдЪрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рд╣рдорд╛рд░реЗ Intermediate Git рдХреЛрд░реНрд╕ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдБ, рдЬреЛ Git рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рд╣рдпреЛрдЧ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред

Git switch рдмрдирд╛рдо checkout: рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди

Is git checkout deprecated?

┬ардирд╣реАрдВред git switch git checkout рдХрд╛ рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдкрд░ рдХреЗрд╡рд▓ рдмреНрд░рд╛рдВрдЪ-рд╕рдореНрдмрдВрдзрд┐рдд рдСрдкрд░реЗрд╢рдВрд╕ рдХреЗ рд▓рд┐рдПред git checkout рдЕрдм рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЦрд╛рд╕рдХрд░ рдкреБрд░рд╛рдиреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдФрд░ рд▓реЗрдЧреЗрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдореЗрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдмреНрд░рд╛рдВрдЪ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП git switch рдЕрдиреБрд╢рдВрд╕рд┐рдд рдЖрдзреБрдирд┐рдХ рдХрдорд╛рдВрдб рд╣реИред

Does git switch work on all Git versions?

рдирд╣реАрдВред git switch Git 2.23 рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрджрд┐ рдЖрдк рдкреБрд░рд╛рдиреЗ Git рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХрдорд╛рдВрдб рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдСрдЯреЛрдореЗрд╢рди рдпрд╛ рдбреЙрдХреНрдпреБрдореЗрдВрдЯреЗрд╢рди рдореЗрдВ рдорд╛рдирдХреАрдХрд░рдг рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдореЗрд╢рд╛ рдЕрдкрдирд╛ Git рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рдБрдЪреЗрдВред

Can I use git switch to restore files?

рдирд╣реАрдВред git switch рдХреЗрд╡рд▓ рдмреНрд░рд╛рдВрдЪ рдСрдкрд░реЗрд╢рдВрд╕ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред рдлрд╛рдЗрд▓реЗрдВ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП git restore рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ рдкрд╣рд▓реЗ git checkout рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрдиреЗ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓-рд╕рдореНрдмрдВрдзрд┐рдд рдлрдВрдХреНрд╢рдиреИрд▓рд┐рдЯреА рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред

Why does Git still keep git checkout?

Git рдмреИрдХрд╡рд░реНрдб рдХрдВрдкреИрдЯрд┐рдмрд┐рд▓рд┐рдЯреА рдХреЗ рд▓рд┐рдП git checkout рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред рдмрд╣реБрдд-рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕, рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓реНрд╕, рдФрд░ рдкреБрд░рд╛рдиреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдзреБрдирд┐рдХ Git рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпреЛрдВ рдХреЗ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд▓рд┐рдП git switch рдФрд░ git restore рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред

Srujana Maddula

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

Srujana Maddula

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

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