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

Git рдореЗрдВ рдкрд┐рдЫрд▓рд╛ рдХрдорд┐рдЯ Revert рдХрд░реЗрдВ: рдмрджрд▓рд╛рд╡ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХреИрд╕реЗ Undo рдХрд░реЗрдВ

рдмрд┐рдирд╛ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗ, рдЕрдкрдиреЗ рдирд╡реАрдирддрдо Git рдХрдорд┐рдЯ рдХреЛ undo рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП git revert рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВред рдЗрд╕рдХреЗ рдкреНрд░рднрд╛рд╡ рд╕рдордЭреЗрдВ, рдЗрд╕реЗ git reset рд╕реЗ рддреБрд▓рдирд╛ рдХрд░реЗрдВ, рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ edge cases рд╕рдВрднрд╛рд▓реЗрдВред
┬╖ 8 рдорд┐ре░ рдкрдврд╝реЗрдВ

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

рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЧрд▓рддрд┐рдпрд╛рдБ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╣ рдЦрд╛рд╕рдХрд░ рдЯреАрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред

рдЬрдм рдЖрдк shared рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ Git рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рд┐рд░реНрдл рдПрдХ рдЦрд░рд╛рдм рдХрдорд┐рдЯ рдХреЛ undo рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗтАФрдЖрдк рдЙрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕реА рд╡рдЬрд╣ рд╕реЗ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ git revert рдкрд░ рдпрд╣ рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рд╣реИред

git reset рдХреА рддрд░рд╣ рдЗрддрд┐рд╣рд╛рд╕ рдорд┐рдЯрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, git revert рдПрдХ рдирдпрд╛ рдХрдорд┐рдЯ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдкрд┐рдЫрд▓реЗ рдХрдорд┐рдЯ рдореЗрдВ рдХрд┐рдП рдЧрдП рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рдЙрд▓рдЯ рджреЗрддрд╛ рд╣реИред рдпрд╣ рддрд░реАрдХрд╛ рдЖрдкрдХреЗ рдХрдорд┐рдЯ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддрд╛ рд╣реИред

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

Git Revert рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

git revert рдХреЛ рдРрд╕реЗ рд╕рдордЭреЗрдВ рдЬреИрд╕реЗ Git рдХрд╣ рд░рд╣рд╛ рд╣реЛ, "рдЖрдЗрдП рдЗрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ undo рдХрд░реЗрдВред" рдЬрдм рдХрд┐рд╕реА рдХрдорд┐рдЯ рдореЗрдВ рдХреБрдЫ рдЧрд▓рдд рд░рд╣ рдЬрд╛рдП тАФ рдЬреИрд╕реЗ рдХреЛрдИ рдмрдЧ, рдЯрд╛рдЗрдкреЛ, рдпрд╛ рдЬрд▓реНрджрдмрд╛рдЬрд╝реА рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдмрджрд▓рд╛рд╡ тАФ рддреЛ рдЙрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдорди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди shared repo рдореЗрдВ рдЗрддрд┐рд╣рд╛рд╕ рдорд┐рдЯрд╛рдирд╛ рдореВрд▓ рдЧрд▓рддреА рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдкрд░реЗрд╢рд╛рдиреА рдЦрдбрд╝реА рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ git revert рдореМрдЬреВрдж рд╣реИред рдХрдорд┐рдЯ рдорд┐рдЯрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдпрд╣ рдПрдХ рдирдпрд╛ рдХрдорд┐рдЯ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рдЙрди рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рд░рджреНрдж рдХрд░ рджреЗрддрд╛ рд╣реИред

рддреЛ, git revert рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ?

  • рдпрд╣ рдПрдХ рдирдпрд╛ рдХрдорд┐рдЯ рдЬреЛрдбрд╝рддрд╛ рд╣реИ: рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдмрддрд╛рдпрд╛, рдХреБрдЫ рднреА рдорд┐рдЯрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, git revert рдПрдХ рдирдпрд╛ рдХрдорд┐рдЯ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЙрд╕реА рдХрдорд┐рдЯ рдХреЗ рдЦрд╛рд╕ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рдЙрд▓рдЯ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк revert рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рд╕реБрд╕рдВрдЧрдд рд░рд╣рддрд╛ рд╣реИред

  • рдпрд╣ рдмрджрд▓рд╛рд╡ рддреБрд░рдВрдд рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ: рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЕрдм рддрдХ рдирд╣реАрдВ рдХрд╣рд╛ рдерд╛, рдЬреИрд╕реЗ рд╣реА рдЖрдк git revert рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ, revert рдХрд┐рдП рдЧрдП рдмрджрд▓рд╛рд╡ рдЖрдкрдХреА working directory рдореЗрдВ рджрд┐рдЦрдиреЗ рд▓рдЧрддреЗ рд╣реИрдВред рдпрд╛рдиреА рдЖрдк рдлрд┐рдХреНрд╕ рдХреЛ рддреБрд░рдВрдд рджреЗрдЦ рдкрд╛рдПрдВрдЧреЗред

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

рдХрдорд┐рдЯ Revert рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ

рддреЛ, рдЖрдкрдиреЗ git revert рдЪрд▓рд╛ рджрд┐рдпрд╛ред рдЕрдм рд╣реБрдЖ рдХреНрдпрд╛? рдХреБрдЫ рднреА рдорд┐рдЯрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, Git рдПрдХ рдирдпрд╛ рдХрдорд┐рдЯ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЯрд╛рд░реНрдЧреЗрдЯ рдХрд┐рдП рдЧрдП рдХрдорд┐рдЯ рдореЗрдВ рдХрд┐рдП рдЧрдП рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рдЙрд▓рдЯ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдирдпрд╛ рдХрдорд┐рдЯ рдЖрдкрдХреЗ рдореМрдЬреВрджрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рдКрдкрд░ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛рдиреА рдореВрд▓ рдХрдорд┐рдЯ рдЬрд╕ рдХрд╛ рддрд╕ рдФрд░ рдкреВрд░реА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд░рд╣рддрд╛ рд╣реИред рдХреБрдЫ рднреА рджреЛрдмрд╛рд░рд╛ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рдпрд╛ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛; Git рдмрд╕ рдПрдХ рдкрд░рдд рдЬреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдХрд╣рддреА рд╣реИ, "рдЗрд╕реЗ undo рдХрд░реЗрдВред" рд╕рд╛рде рд╣реА, рдЙрд╕ рд░рд┐рд╡рд░реНрд╕рд▓ рд╕реЗ рдЖрдИ рдлрд╛рдЗрд▓-рд╕реНрддрд░реАрдп рдмрджрд▓рд╛рдПрдБ рдЖрдкрдХреА working directory рдореЗрдВ рддреБрд░рдВрдд рд▓рд╛рдЧреВ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рдЖрдк рдкреНрд░рднрд╛рд╡ рдХреЛ рдЙрд╕реА рддрд░рд╣ рддреБрд░рдВрдд рджреЗрдЦреЗрдВрдЧреЗ рдЬреИрд╕реЗ рдХрд┐рд╕реА рдФрд░ рдХрдорд┐рдЯ рдХреЗ рдмрд╛рджред

рдпрд╣ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ git revert рдХреЛ рдЙрди рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХрд╛ рдмрдирд╛рддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ shared рдмреНрд░рд╛рдВрдЪ рдкрд░ рдкрд╣рд▓реЗ рд╣реА рдкреБрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред рдЯреАрдо рдХрд╛ рд╣рд░ рд╕рджрд╕реНрдп рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдмрджрд▓рд╛, рдХреНрдпрд╛ revert рд╣реБрдЖ, рдФрд░ рдХреНрдпреЛрдВтАФрдмрд┐рдирд╛ рдХрд┐рд╕реА рдЙрд▓рдЭрди рдпрд╛ рдЪрд▓ рд░рд╣реЗ рдХрд╛рдо рдореЗрдВ рдмрд╛рдзрд╛ рдХреЗред

git revert рдмрдирд╛рдо git reset рдХреА рддреБрд▓рдирд╛

рд╣рд╛рд▓рд╛рдБрдХрд┐ git revert рдФрд░ git reset рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдорд┐рдЯреНрд╕ рдХреЛ undo рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╡реЗ рдмреБрдирд┐рдпрд╛рджреА рддреМрд░ рдкрд░ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред git reset рд▓реЛрдХрд▓, рдирд┐рдЬреА рдлрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЙрд▓рдЭреЗ рд╣реБрдП рдХрдорд┐рдЯреНрд╕ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреА working directory рдХреЛ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдПрдХ рдкреЗрдВрдЪ рд╣реИ: рдЕрдЧрд░ рдЖрдкрдиреЗ рдЕрдкрдирд╛ рдХрд╛рдо рдкрд╣рд▓реЗ рд╣реА рдкреБрд╢ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ git reset рдХрд┐рдпрд╛, рддреЛ shared рдХрдорд┐рдЯ рдЗрддрд┐рд╣рд╛рд╕ рдмрджрд▓рдиреЗ рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рд╕рд╛рдерд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЪреАрдЬрд╝реЗрдВ рдмрд┐рдЧрд╛рдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╡рд╣реАрдВ рджреВрд╕рд░реА рдУрд░, git revert рдЦрд╛рд╕ рддреМрд░ рдкрд░ shared рдпрд╛ public рдмреНрд░рд╛рдВрдЪреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдХреБрдЫ рдорд┐рдЯрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдирдпрд╛ рдХрдорд┐рдЯ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдХрд┐рдП рдЧрдП рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рд░рджреНрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдЗрд╕рд╕реЗ shared рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдпрд╣ рдЬреНрдпрд╛рджрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╣рддрд╛ рд╣реИред

рдЗрд╕реЗ рдФрд░ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдБ рд╕рд╛рде-рд╕рд╛рде рддреБрд▓рдирд╛ рджреА рдЧрдИ рд╣реИ:

рдлрд╝реАрдЪрд░

git revert

git reset

рдХрд╛рд░реНрд░рд╡рд╛рдИ

рдкрд┐рдЫрд▓реЗ рдХрдорд┐рдЯ рдХреЛ рдЙрд▓рдЯрдиреЗ рд╡рд╛рд▓рд╛ рдирдпрд╛ рдХрдорд┐рдЯ рдЬреЛрдбрд╝рддрд╛ рд╣реИ

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

рдХрдорд┐рдЯ рдЗрддрд┐рд╣рд╛рд╕

рд╕реБрд░рдХреНрд╖рд┐рдд, рдХреБрдЫ рдирд╣реАрдВ рдорд┐рдЯрддрд╛

рджреЛрдмрд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рдХрдорд┐рдЯ рдЦреЛ рд╕рдХрддреЗ рд╣реИрдВ

рд╕рд░реНрд╡реЛрддреНрддрдо рдЙрдкрдпреЛрдЧ

рдкрдмреНрд▓рд┐рдХ/рд╢реЗрдпрд░ рдХреА рдЧрдИ рдмреНрд░рд╛рдВрдЪ рдкрд░ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ undo рдХрд░рдирд╛

рдкреБрд╢ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓реЛрдХрд▓ рдХрдорд┐рдЯреНрд╕ рдХреЛ рд╕рд╛рдл рдХрд░рдирд╛

рджреВрд╕рд░реЛрдВ рдкрд░ рдкреНрд░рднрд╛рд╡

рд╕реБрд░рдХреНрд╖рд┐рдд, рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рдХрд╛рдо рдореЗрдВ рд╡реНрдпрд╡рдзрд╛рди рдирд╣реАрдВ

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

рд╡рд░реНрдХрд┐рдВрдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА

рдмрджрд▓рд╛рд╡ рддреБрд░рдВрдд рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ

рдлрд╛рдЗрд▓ рд╕реНрдЯреЗрдЯреНрд╕ рд░реАрд╕реЗрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (--soft, --mixed, --hard)

рдЖрджрд░реНрд╢ рдкрд░рд┐рджреГрд╢реНрдп

рдкрд╣рд▓реЗ рд╕реЗ рдкреБрд╢ рдХрд┐рдП рдЧрдП рдЦрд░рд╛рдм рдХрдорд┐рдЯ рдХреЛ рдЙрд▓рдЯрдирд╛

рд▓реЛрдХрд▓ рдлреАрдЪрд░ рдмреНрд░рд╛рдВрдЪ рдореЗрдВ рдХрдорд┐рдЯ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛

рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХрдорд┐рдЯ Revert рдХрд░рдирд╛

рдХрднреА-рдХрднреА рд╕рдорд╕реНрдпрд╛ рд╕рд┐рд░реНрдл рдПрдХ рдЦрд░рд╛рдм рдХрдорд┐рдЯ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд░рд╣рддреАтАФрдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ undo рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, Git рдЖрдкрдХреЛ рдПрдХ рдХрдорд╛рдВрдб рдореЗрдВ рдХрдорд┐рдЯ рд░реЗрдВрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХрдИ рдХрдорд┐рдЯреНрд╕ рдХреЛ revert рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред

рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

git revert OLDEST_HASH^..NEWEST_HASH

рдпрд╣ Git рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреЗ рдХрдорд┐рдЯ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗ (рдпрд╣реА ^ рдХрд╛ рдорддрд▓рдм рд╣реИ) рдФрд░ рд╕рдмрд╕реЗ рдирдП рдХрдорд┐рдЯ рддрдХтАФрдЙрд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реБрдПтАФрд╣рд░ рдХрдорд┐рдЯ рдХреЛ revert рдХрд░реЗред рдЙрджрд╛рд╣рд░рдг:

git revert a1b2c3d^..d4e5f6g

рдпрд╣ рдХрдорд╛рдВрдб рдЙрд╕ рд░реЗрдВрдЬ рдХреЗ рд╣рд░ рдореВрд▓ рдХрдорд┐рдЯ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ revert рдХрдорд┐рдЯреНрд╕ рдмрдирд╛рдПрдЧрд╛ред

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

рдЖрдк рдпрд╣ рднреА рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Git revert рдСрдкрд░реЗрд╢рдиреНрд╕ рдХреЛ рдХреИрд╕реЗ рд╣реИрдВрдбрд▓ рдХрд░рддрд╛ рд╣реИ, рдЬрдЯрд┐рд▓ рдорд╛рдорд▓реЛрдВ рдЬреИрд╕реЗ merge commits рдкрд░ рд╣рдорд╛рд░реА Git Revert Merge Commit: A Guide With Examples рдореЗрдВред

Revert рдХреЗ рджреМрд░рд╛рди Merge Conflicts рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛

Revert рдХрд░рдирд╛ рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИтАФрдЬрдм рддрдХ Git рдЖрдкрдХреЛ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рдЧреЗрдВрдж рди рдлреЗрдВрдХ рджреЗ: merge conflictред рдпреЗ рдЖрдо рддреМрд░ рдкрд░ рддрдм рдЖрддреЗ рд╣реИрдВ рдЬрдм:

  • рдЖрдк рдРрд╕рд╛ рдХрдорд┐рдЯ revert рдХрд░ рд░рд╣реЗ рд╣реЛрдВ рдЬрд┐рд╕рдиреЗ рдЙрдиреНрд╣реАрдВ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдмрджрд▓рд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рд╛рд▓ рдХреЗ рдЕрдиреНрдп рдХрдорд┐рдЯреНрд╕ рдиреЗ рднреА рдмрджрд▓рд╛ рд╣реИред
  • рдЖрдк рдХрд┐рд╕реА merge commit рдХреЛ, рдпрд╛ рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рдмрджрд▓рд╛рд╡реЛрдВ рд╡рд╛рд▓реЗ рдХрдорд┐рдЯреНрд╕ рдХреЗ рд╕рдореВрд╣ рдХреЛ revert рдХрд░ рд░рд╣реЗ рд╣реЛрдВред

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

рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕рдВрднрд╛рд▓реЗрдВ:

git revert HEAD

рдФрд░ рдХрд┐рди рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХреЙрдиреНрдлреНрд▓рд┐рдХреНрдЯ рд╣реИ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП:

git status

рдЕрдкрдиреЗ рдХреЛрдб рдПрдбрд┐рдЯрд░ рдореЗрдВ рдХреЙрдиреНрдлреНрд▓рд┐рдХреНрдЯреНрд╕ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓реА рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП <<<<<<<, =======, рдФрд░ >>>>>>> рдорд╛рд░реНрдХрд░реНрд╕ рджреЗрдЦреЗрдВред

рдЕрдм, рдореИрдВ рдЙрдиреНрд╣реЗрдВ resolved рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рд░реНрдХ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:

git add <resolved-file>

рдЕрдм, рдореИрдВ revert рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реВрдБ:

git revert-- continue

рдЕрдЧрд░ рдЖрдк рдЕрдкрдирд╛ рдорди рдмрджрд▓ рд▓реЗрдВ рдФрд░ revert рдХреЛ рдкреВрд░реА рддрд░рд╣ рд░рджреНрдж рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВ:

git revert --abort

рдпрд╣ рдлреНрд▓реЛ рдЖрдкрдХреЛ рдкреВрд░рд╛ рдирд┐рдпрдВрддреНрд░рдг рджреЗрддрд╛ рд╣реИред рдЖрдк рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ revert рдЖрдЧреЗ рдмрдврд╝рд╛рдирд╛ рд╣реИ рдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреАрдЫреЗ рд╣рдЯрдирд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдРрд╕реЗ рдСрдкрд░реЗрд╢рдиреНрд╕ рдХреЗ рджреМрд░рд╛рди Git reference logs рдХреЛ рдХреИрд╕реЗ рдЯреНрд░реИрдХ рд░рдЦрддрд╛ рд╣реИ, рддреЛ Git Reflog: Understanding and Using Reference Logs рджреЗрдЦреЗрдВтАФрдпрд╣ рдЙрд▓рдЭреЗ рд╣реБрдП рдЗрддрд┐рд╣рд╛рд╕реЛрдВ рдХреЛ troubleshoot рдХрд░рдиреЗ рдХреЗ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИред

рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ: Merge Commits рдХреЛ Revert рдХрд░рдирд╛

рд╕рд╛рдзрд╛рд░рдг рдХрдорд┐рдЯ рдХреЛ revert рдХрд░рдирд╛ рд╕реАрдзрд╛ рд╣реИ, рд▓реЗрдХрд┐рди merge commits рдПрдХ рдЕрд▓рдЧ рд╣реА рдЪреБрдиреМрддреА рд╣реИрдВред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдПрдХ merge commit рдХреЗ рджреЛ рдпрд╛ рдЕрдзрд┐рдХ рдкреИрд░реЗрдВрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ Git рдХреЛ рдЬрд╛рдирдирд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдкрде (рдпрд╛ "mainline") рдХреЛ рдЖрдзрд╛рд░ рдорд╛рдирд╛ рдЬрд╛рдПред

рдХрд┐рд╕реА merge commit рдХреЛ revert рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ -m рдлреНрд▓реИрдЧ рдХрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

git revert -m 1 <merge-commit-hash>

рдпрд╣рд╛рдБ -m рдлреНрд▓реИрдЧ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ:

  • -m рдХрд╛ рдЕрд░реНрде mainline рд╣реИ, рдФрд░ рдпрд╣ Git рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдкреИрд░реЗрдВрдЯ рдХрдорд┐рдЯ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реИред

  • 1 рдЖрдорддреМрд░ рдкрд░ рдкрд╣рд▓реЗ рдкреИрд░реЗрдВрдЯ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрд╛рдиреА рд╡рд╣ рдмреНрд░рд╛рдВрдЪ рдЬрд┐рд╕ рдкрд░ рдЖрдк merge рдХрд░рддреЗ рд╕рдордп рдереЗред

  • 2 рджреВрд╕рд░реЗ рдкреИрд░реЗрдВрдЯ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрд╛рдиреА рд╡рд╣ рдмреНрд░рд╛рдВрдЪ рдЬрд┐рд╕реЗ merge рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

1 рдпрд╛ 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░реЗрдВ?

  • рдЕрдЧрд░ рдЖрдк merged-in рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрдкрдиреА main рдмреНрд░рд╛рдВрдЪ рдХрд╛ рдХрд╛рдо рдмрдирд╛рдП рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ -m 1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

  • рдЕрдЧрд░ рдЖрдк mainline рдХреЗ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди feature рдпрд╛ merged рдмреНрд░рд╛рдВрдЪ рдХреА рд╕рд╛рдордЧреНрд░реА рдмрдирд╛рдП рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ -m 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рджреБрд░реНрд▓рдн рд╣реИред рдХрд┐рд╕реА merge commit рдХреЛ revert рдХрд░рдирд╛ рдХреЙрдиреНрдлреНрд▓рд┐рдХреНрдЯ-рдкреНрд░рд╡рдг рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЕрдХреНрд╕рд░ рдЬрдЯрд┐рд▓ рд╕реНрдерд┐рддрд┐ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдЖрдЧреЗ рдХреЗ рдХрдорд┐рдЯреНрд╕ рдЙрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдВред рдпрджрд┐ рдЖрдк рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ рдХрд┐рд╕реА рдЯреЗрд╕реНрдЯ рдмреНрд░рд╛рдВрдЪ рдкрд░ revert рдХрд░рдХреЗ рджреЗрдЦреЗрдВред

git revert рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕

git revert рдХрд╛ рдмреЗрд╣рддрд░реАрди рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдЖрдо рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрди рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕реЛрдВ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ:

  • рд░реАрд╡рд░реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрдорд┐рдЯ рд╣реИрд╢ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ: рд╣рдореЗрд╢рд╛ git log рдпрд╛ git log-- oneline рд╕реЗ рдЕрдкрдирд╛ рдХрдорд┐рдЯ рдЗрддрд┐рд╣рд╛рд╕ рджреЗрдЦреЗрдВ рддрд╛рдХрд┐ рдЖрдк рд╕рд╣реА рдмрджрд▓рд╛рд╡ рдХреЛ рдЯрд╛рд░реНрдЧреЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред рдЖрдк рдЗрди рдХрдорд╛рдВрдбреНрд╕ рдкрд░ рджреЛрдмрд╛рд░рд╛ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ Foundations of Git рдореЗрдВ, рдпрд╛ рдЖрд╡рд╢реНрдпрдХ рдмрд╛рддреЗрдВ рд╣рдорд╛рд░реЗ Git Cheat Sheet рдХреЗ рд╕рд╛рде рд╣рд╛рде рдореЗрдВ рд░рдЦреЗрдВред

  • рдЕрдкрдирд╛ рдХрдорд┐рдЯ рд╕рдВрджреЗрд╢ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВ: Git рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ тАЬRevertтАЭ рд╕рдВрджреЗрд╢ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рди рдорд╛рдиреЗрдВред рд╕рдВрджрд░реНрдн рдЬреЛрдбрд╝реЗрдВтАФрдЬреИрд╕реЗ рдЖрдкрдиреЗ рдХрдорд┐рдЯ рдХреНрдпреЛрдВ revert рдХрд┐рдпрд╛тАФрддрд╛рдХрд┐ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ (рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЖрдк) рдХреЛ рдмрджрд▓рд╛рд╡ рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реЛред

  • рд╢реЗрдпрд░ рдХреА рдЧрдИ рдмреНрд░рд╛рдВрдЪ рдкрд░ revert рдХрд░рддреЗ рд╕рдордп рд╕рдВрд╡рд╛рдж рдХрд░реЗрдВ: рдЕрдЧрд░ рдЖрдк рдкрдмреНрд▓рд┐рдХ рдмреНрд░рд╛рдВрдЪтАФрдЬреИрд╕реЗ main рдпрд╛ developтАФрдкрд░ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ revert рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ рдЯреАрдо рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВред Reverts рд╕рднреА рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдордиреНрд╡рдп рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рд╕рд╣рдпреЛрдЧреА рд╡рд░реНрдХрдлреНрд▓реЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдиреЗрдВ рд╣рдорд╛рд░реЗ GitHub Concepts рдФрд░ Intermediate GitHub Concepts рдХреЛрд░реНрд╕реЗрдЬрд╝ рдореЗрдВред

  • рдХрд┐рд╕реА revert рдХреЛ рдлрд┐рд░ рд╕реЗ revert рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВ, рдЬрдм рддрдХ рдкрдХреНрдХрд╛ рди рд╣реЛ: рдкрд┐рдЫрд▓реЗ revert рдХреЛ revert рдХрд░рдирд╛ рдЕрдирдЪрд╛рд╣реЗ рдмрджрд▓рд╛рд╡ рд╡рд╛рдкрд╕ рд▓рд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдХреЙрдиреНрдлреНрд▓рд┐рдХреНрдЯреНрд╕ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИ, рддреЛ git cherry-pick рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

  • рдЕрдЧрд░ рдЪреАрдЬрд╝реЗрдВ рдмрд┐рдЧрдбрд╝ рдЬрд╛рдПрдБ рддреЛ рд░рд┐рдХрд╡рд░реА рдХреЗ рд▓рд┐рдП reflog рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдХреНрдпрд╛ рдЖрдкрдиреЗ рдмреАрдЪ рдореЗрдВ рдЧрд▓рддреА рдХрд░ рджреА? рд╣рд╛рд▓ рдХреА рдХреНрд░рд┐рдпрд╛рдПрдБ рджреЗрдЦрдиреЗ рдФрд░ рдЦреЛрдИ рд╣реБрдИ рд╕реНрдЯреЗрдЯреНрд╕ рдХреЛ рд░рд┐рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП git reflog рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

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

рдпрджрд┐ рдЖрдк рдкреЗрд╢реЗрд╡рд░ рдорд╛рд╣реМрд▓ рдореЗрдВ рд╕рд╣рдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ git revert HEAD рдХреЗ рд╕рд╛рде рдЖрдЦрд╝рд┐рд░реА рдХрдорд┐рдЯ рдХреЛ revert рдХрд░рдирд╛ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдФрд░ рдЖрдХрд╕реНрдорд┐рдХ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред рдЪрд╛рд╣реЗ рдЖрдк рдХреЛрдИ рдЧрд▓рддреА рд╕рд╛рдл рдХрд░ рд░рд╣реЗ рд╣реЛрдВ рдпрд╛ рдХрд┐рд╕реА рдмрдЧ рдХреЛ рд░реЛрд▓ рдмреИрдХ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, revert рдЖрдкрдХреЗ repo рдХреЛ рд╕рднреА рд╕рдВрдмрдВрдзрд┐рдд рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд░рдЦрддрд╛ рд╣реИред

Oluseye Jeremiah

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

Oluseye Jeremiah

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

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