Git рд░реАрд╕реЗрдЯ рдХрдорд╛рдВрдб рдХреЗ 3 рдореЛрдб: --soft, --mixed (рдбрд┐рдлрд╝реЙрд▓реНрдЯ), --hard

рдореЗрд░реЗ рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд▓рд┐рдП, рдкреВрд░реЗ рд╣рдм рдкрд░ рдПрдХ рднреА рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ 3 рдкреНрд░рдХрд╛рд░ рдХреЗ git reset рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд╡реЗрд░реА "рдЧрд┐рдЯ рд░реАрд╕реЗрдЯ" рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рд╕рдмрд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд▓реЗрдЦ рдореЗрдВ , рд▓реЗрдЦрдХ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХрд┐ "рдпрд╣ рдХреНрд░рд┐рдпрд╛ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреА рд╣реЛ рд╕рдХрддреА рд╣реИ: рдирд░рдо (рд╕реЙрдлреНрдЯ рд░реАрд╕реЗрдЯ) рдФрд░ рд╣рд╛рд░реНрдб (рд╣рд╛рд░реНрдб рд░реАрд╕реЗрдЯ)"ред - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдореЛрдб, рдЙрд▓реНрд▓реЗрдЦ рдХреЗ --mixed рдирд╣реАрдВ рдерд╛ред

рдпрд╣ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдЕрдХреНрд╕рд░ рдЗрд╕ рдЯреАрдо рдХреЗ рдХрд╛рдо рдХреА рдЧрд▓рддрдлрд╣рдореА рджреЗрдЦрддреЗ рд╣реИрдВред рдХрдЯреМрддреА рдХреЗ рддрд╣рдд, рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рднреА рддреАрди git reset рдореЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛, рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд╡рд┐рд╖рдп рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдирд╣реАрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

git рд░реАрд╕реЗрдЯ --soft


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд╛рдЦрд╛ рд▓реЗрдВ:
- A - B - C (master)
рд╣реЗрдб рд╕реА рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рд╕реА рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ ред

рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж
 git reset --soft B 
HEAD B рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдкреНрд░рддрд┐рдмрджреНрдз C рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ рд╣реЛрдВрдЧреЗ, рдЬреИрд╕реЗ рдХрд┐ рдЖрдкрдиреЗ рдЙрдиреНрд╣реЗрдВ git add рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдерд╛ред рдпрджрд┐ рдЖрдк рдЕрдм git commit рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдПрдХ рдХрдорд┐рдЯ рдорд┐рд▓реЗрдЧрд╛ рдЬреЛ рдХрд┐ C рдХреЗ рд╕рдорд╛рди рд╣реИ ред

git рд░реАрд╕реЗрдЯ --mixed (рдбрд┐рдлрд╝реЙрд▓реНрдЯ)


--mixed рдореЛрдб --mixed рдЙрдкрдпреЛрдЧ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк --mixed рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд git reset --mixed = git reset

рдЖрдЗрдП рдЙрдиреНрд╣реАрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд▓реМрдЯрддреЗ рд╣реИрдВ:
- A - B - C (master)

рдкреВрд░рд╛ рдХрд░рдХреЗ
 git reset --mixed B 
рдпрд╛
 git reset B 
HEAD рдлрд┐рд░ рд╕реЗ B рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░ C рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдФрд░ рдпрджрд┐ рдЖрдк git commit рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ C рд╕реЗ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк git status рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдордВрдЪрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЙрдиреНрд╣реЗрдВ git add рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ git add рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА git commit ред

git рд░реАрд╕реЗрдЯ --рд╣рд╛рд░реНрдб


рд╡рд╣реА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╢рд░реНрддреЗрдВ:
- A - B - C (master)

рдЕрдВрддрд┐рдо --mixed рдореЛрдб, рдЬреИрд╕реЗ --mixed HEAD рдХреЛ B рдореЗрдВ рд▓реЗ --mixed рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рдХреНрд▓рд┐рдпрд░ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди --mixed рд╡рд┐рдкрд░реАрдд --mixed рд╣рд╛рд░реНрдб рд░реАрд╕реЗрдЯ рдЖрдкрдХреЗ рд╡рд░реНрдХрд┐рдВрдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛ ред рдЕрдЧрд░ рдЕрдорд▓ рдХрд░рдирд╛ рд╣реИ
 git reset --hard B 
рдлрд┐рд░ C рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди, рд╕рд╛рде рд╣реА рдЧреИрд░-рдкреНрд░рддрд┐рдмрджреНрдз рдкрд░рд┐рд╡рд░реНрддрди, рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ B рд╕реЗ рдореЗрд▓ рдЦрд╛рдПрдВрдЧреА ред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рдореЛрдб рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдб рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдореЗрд╢рд╛ git status рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВ (рдпрд╛ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред

git reset рдореЛрдб рдХреА рддреБрд▓рдирд╛ рддрд╛рд▓рд┐рдХрд╛:
рд╕реВрдЪрдХрд╛рдВрдХ рдмрджрд▓рддрд╛ рд╣реИрдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ
рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ
рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рд╕рдЪреЗрдд
reset --softрдирд╣реАрдВрдирд╣реАрдВрдирд╣реАрдВ
reset [--mixed]рд╣рд╛рдВрдирд╣реАрдВрдирд╣реАрдВ
reset --hardрд╣рд╛рдВрд╣рд╛рдВрд╣рд╛рдВ

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЪрд┐рддреНрд░: ( VBauer рдХреЗ рд▓рд┐рдП )

рдЫрд╡рд┐

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


All Articles