рдЧрд┐рдЯ рдЯрд╛рдЗрдо рдорд╢реАрди

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

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ git checkout рдФрд░ git reset рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ --soft рдФрд░ --hard ред

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



рдпрд╣рд╛рдБ, рдордВрдбрд▓рд┐рдпрд╛рдВ рд╕рдВрдХреЗрдд рджреЗрддреА рд╣реИрдВред рдХрдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рддрдирд╛ рдирдпрд╛ рд╣реИ, рдЙрддрдирд╛ рд╣реА рдирдпрд╛ рд╣реИред 6e04e рдХреЗ рд╣реИрд╢ рдХреЗ рд╕рд╛рде рдПрдХ рдХрдорд┐рдЯ .. рдкрд╣рд▓реА рдХрдорд┐рдЯ рд╣реИред рдмреБрдирд┐рдпрд╛рджреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЬрд┐рд╕реЗ рдиреМрд╕рд┐рдЦрд┐рдпреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд╣ рд╣реИ рдХрдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ, рдпрд╛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд "рдЙрдкрдирд╛рдо"ред рдЙрдирдХрд╛ рдЕрдВрдзреЗрд░рд╛ рдЕрдВрдзреЗрд░рд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: HEAD, рдорд╛рд╕реНрдЯрд░, FETCH_HEAD, ORIG_HEAD , рдЖрджрд┐ред рдпрд╣ рдореИрдВрдиреЗ рдорд╛рдирдХ рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рдПрдХ рдЕрдирд╛рдЬ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ред рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рдпрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрд╕ рдкрд░ рдФрд░ рдЖрдЧреЗред

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



рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ HEAD рдкреЙрдЗрдВрдЯрд░ рдорд╛рд╕реНрдЯрд░ , рдФрд░ d79fb рдХрдорд┐рдЯ рдХреА рдУрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ ... рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рддрд╣рдд рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ HEAD рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХреА рдЧрдИ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ HEAD 6e04e .. рдХреЗ рд╣реИрд╢ рдХреЗ рд╕рд╛рде рдПрдХ рдХрдорд┐рдЯ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдлрд╛рдЗрд▓реЗрдВ рдЕрдкрдиреЗ рдореВрд▓ рд░рд╛рдЬреНрдп рдореЗрдВ рд╣реЛрдВрдЧреАред HEAD рдкреЙрдЗрдВрдЯрд░ рдХреЛ "рдореВрд╡" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рд╣реИ: git checkoutред рдЬреЛ рд▓реЛрдЧ git рд╕реЗ рдереЛрдбрд╝реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╢рд╛рдЦрд╛ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдорд╛рдиреНрдпрддрд╛ рджреА рд╣реИред рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдЪ рд╣реИ - рдЬрдм рдХрд┐рд╕реА рдЕрдиреНрдп рд╢рд╛рдЦрд╛ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдмрд╕ рд╢рд╛рдЦрд╛ рдХреЗ рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдмрджреНрдз рдореЗрдВ HEAD рд╕реВрдЪрдХ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдПрдХ HEAD рдкреЙрдЗрдВрдЯрд░ ( git checkout ) рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛


рд░реЛрд▓рдмреИрдХ рдСрди рдХрдорд┐рдЯ рд╣рд┐рд╕реНрдЯреНрд░реА:



рдЪреЗрдХрдЖрдЙрдЯ рдСрдкрд░реЗрд╢рди рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рджреЛ рдХрдорд┐рдЯ рдереЗред рдпрд╣ рд╕рдм рдЕрджреНрднреБрдд рд╣реИ - рд╣рдордиреЗ рдЕрддреАрдд рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рдХрджрдо рдЙрдард╛рдпрд╛, рд╡рд╣рд╛рдВ рдХреБрдЫ рднреА рдЬрд╛рд╕реВрд╕реА рдХреА, рд▓реЗрдХрд┐рди рд╡рд╛рдкрд╕ рдХреИрд╕реЗ рдЬрд╛рдПрдВ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рд╕реБрдкрд░-рдореЗрдореЛрд░реА рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдкреНрд░рддрд┐рдмрджреНрдз (рд╕рд╣реА рдкрд░ d79fb ..) рдХрд╛ рд╣реИрд╢ рдпрд╛рдж рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рд╣рдо git log рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдПрдХ рдХрд╣рд╛рдиреА рджреЗрдЦреЗрдВрдЧреЗ рдЬрд┐рд╕рдореЗрдВ рддреАрди рдХрдорд┐рдЯ рд╣реЛрдВрдЧреЗ:
 [user@localhost project]$ git log --pretty=oneline 6741a69bd121c295413be95d7597cd7409e713a0 add unit test b3e74f50c3cc48e6b335014b6dc7e301b382a903 add readme 6e04e39d0952a2d6022502d56aaa05d5a064bea Initial commit 

рдХреНрдпрд╛ рд╣рдордиреЗ рдкреВрд░реА рдХрд╣рд╛рдиреА рдЦреЛ рджреА рд╣реИ? рд╕рдмрд╕реЗ "рдирдпрд╛" рдХрдорд┐рдЯрдореЗрдВрдЯ рдХреИрд╕реЗ рдкрддрд╛ рдХрд░реЗрдВ? рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ - рдПрдХ рд░рд╛рд╕реНрддрд╛ рд╣реИ, рдФрд░ рдХрдИ рд╣реИрдВ:

  1. git log --all рдХрдорд╛рдВрдб рд▓рд┐рдЦреЗрдВред рдпрд╣ рдХрдорд╛рдВрдб рд╣рдореЗрдВ рдкреВрд░реА рдХрд╣рд╛рдиреА, рд╡рд░реНрддрдорд╛рди рддрдХ, рдЕрд░реНрдерд╛рдд рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд╛рдБрдЪ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕:
     [user@localhost project]$ git log --pretty=oneline --all d79fb5688af71b4577f450919535e7177e9d74e8 fix bug 478927e3a088d3cec489ca8810eaaca97c6ce0ff documentation 6741a69bd121c295413be95d7597cd7409e713a0 add unit test b3e74f50c3cc48e6b335014b6dc7e301b382a903 add readme 6e04ee39d0952a2d6022502d56aaa05d5a064bea Initial commit 

    рддрдм рдпрд╣ рд╣реИрд╢ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рд╕рдордп рдорд╢реАрди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд░рд╣рддреА рд╣реИ: git checkout ред рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рд╡рд┐рдзрд┐ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
  2. Git рдЖрдкрдХреЛ HEAD рдкреЙрдЗрдВрдЯрд░ рдХреЗ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ git reflog рд╕рд╛рде рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдм рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рд╕рдХреНрд╖рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рдирд╛ рд╣реИ:
  3. рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдорд╛рд╕реНрдЯрд░ рдкреЙрдЗрдВрдЯрд░ рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХрдорд┐рдЯ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд░реАрд╕реЗрдЯ рдХрд░рдирд╛ рдПрдХ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: git checkout master ред рд╡реЛрдЗрд▓рд╛ рд▓рд╛:




git checkout рддрдВрддреНрд░ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдИ devel рд╢рд╛рдЦрд╛ рдмрдирд╛рдПрдВ:
 [user@localhost project]$ git checkout -b devel 

* -b рдлреНрд▓реИрдЧ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╢рд╛рдЦрд╛ рдмрдирд╛рдиреЗ рдФрд░ рддреБрд░рдВрдд рдЗрд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдо рдЕрдкрдиреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ:



рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ HEAD рдкреЙрдЗрдВрдЯрд░, devel рд╢рд╛рдЦрд╛ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЖрдЗрдП рдирдИ рд╢рд╛рдЦрд╛ рдореЗрдВ рдХрдИ рдЖрд╡рд╛рдЧрдорди рдХрд░реЗрдВред рднрдВрдбрд╛рд░ рдЗрддрд┐рд╣рд╛рд╕ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:



рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдореЗрдВ рд▓реМрдЯрдирд╛ рднреА рджрд░реНрдж рд░рд╣рд┐рдд рд╣реЛрддрд╛ рд╣реИ:
 [user@localhost project]$ git checkout master 




рддреЛ, рдкрд╣рд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ:

рд╢рд╛рдЦрд╛ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рд╕реВрдЪрдХ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ ( git reset ... )


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, git рдЖрдкрдХреЛ рди рдХреЗрд╡рд▓ HEAD рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЛ рднреА рдорд╣рд╛рджреНрд╡реАрдк рдХрд░рддрд╛ рд╣реИ ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛ рддреЛ --soft рдпрд╛ --hard рд╕рд╛рде git reset рдХрдорд╛рдВрдб рд╣реИред

рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдПрдХ "рдЙрдкрдирд╛рдо" рдЙрд╕ рдкреНрд░рддрд┐рдмрджреНрдз рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд░реАрд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - ORIG_HEAD ред

git reset --hard HEAD~2 :


git reset --soft HEAD~2 :


ORIG_HEAD рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди (!) рдкрд░ рдЕрдорд╛рдиреНрдп рдХрдорд┐рдЯреНрд╕ рдХреЗ рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рдкрд┐рдЫрд▓реЗ рджреЛ рдХрдорд┐рдЯреНрд╕ рдХреЛ рдПрдХ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рджреЛ рдмрд╛рд░ рд╡рд╛рдкрд╕ рдЖрдиреЗ рдкрд░ рдорд╛рд╕реНрдЯрд░ рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░реЗрдВ:
 [user@localhost project]$ git reset --soft HEAD~2 

рдЖрдЗрдП рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рджреЗрдЦреЗрдВ:
 [user@localhost project]$ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # -    # 

рдареАрдХ рд╣реИ, рдЕрдм рдЪрд▓реЛ рдЯреНрд░рд┐рдХ - рдХрдорд┐рдЯреНрд╕ рдХреЛ рдорд┐рд▓рд╛рдПрдВ
 [user@localhost project]$ git commit -c ORIG_HEAD 

рд╕рдВрджреЗрд╢ рджрд░реНрдЬ рдХрд░реЗрдВ, рд╕рд╣реЗрдЬреЗрдВред рдЕрдм рд╣рдорд╛рд░реА рдХрд╣рд╛рдиреА рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:



рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдиреЛрдЯ - ORIG_HEAD рдЕрднреА рднреА d79fb рдХрдорд┐рдЯ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ ... рдЕрдЧрд░ рд╣рдо рдЕрдм git рдЪреЗрдХрдЖрдЙрдЯ ORIG_HEAD рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рддрдерд╛рдХрдерд┐рдд detach HEAD рд╕реНрдЯреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдХрд┐ HEAD рд╢рд╛рдЦрд╛ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╕ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд╣реЗрдб рдХреЛ рд╣рдореЗрд╢рд╛ рдПрдХ рд╢рд╛рдЦрд╛ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП!



рдЕрд▓рдЧ рд░рд╛рдЬреНрдп рдХреЛ "рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ" рдХреЗ рд▓рд┐рдП, рдмрд╕ рдПрдХ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ рдпрд╛ git checkout -b new_branch_name рд╕рд╛рде рдПрдХ рдирдИ рд╢рд╛рдЦрд╛ рдмрдирд╛рдПрдВ git checkout -b new_branch_name
рддреЛ, рджреВрд╕рд░рд╛ рдмрд┐рдВрджреБ рдпрд╛рдж рд░рдЦреЗрдВ:

рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд! рдКрдкрд░ рдХрд╛ рд╕рдмрд╕реЗ рдЖрдо рдСрдкрд░реЗрд╢рди рдЬрдм git рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рддреЛ рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред рдорд╛рдирд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп рд╕рднреА рдорд╛рдорд▓реЗ рджреБрд░реНрд▓рдн рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЬрдм рд╡реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рд╕рдм рдХреБрдЫ рд╕рдордЭ рдореЗрдВ рдЖрдП!

рдЕрдкрдиреЗ рднрдВрдбрд╛рд░ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЕрдЪреНрдЫреА рдпрд╛рддреНрд░рд╛ рдХрд░реЗрдВ!

рд╕рд╛рдордЧреНрд░реА рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдореИрдиреБрдЕрд▓ - рдкреБрд╕реНрддрдХ: ProGit
Git рд╡рд┐рдЬрд╝реБрдЕрд▓ рдПрдб: рдПрдХ рд╡рд┐рдЬрд╝реБрдЕрд▓ Git рд╕рдВрджрд░реНрдн ( рд░реВрд╕реА рд╕рдВрд╕реНрдХрд░рдг )

рдпреБрдкреАрдбреА:
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ, git рдкрд░ рдПрдХ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рд╕рдВрд╕рд╛рдзрди рдХреА рд╕рд▓рд╛рд╣ рджреА рдЧрдИ рдереА: githowto

рдкреБрдирд╢реНрдЪ рдирд┐рдордВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдореИрдВ рд╕рднреА рдХреЛ рд╕реБрдЦрдж рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдХреА рд╢реБрднрдХрд╛рдордирд╛рдПрдВ рджреЗрддрд╛ рд╣реВрдВ!

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


All Articles