рд░реАрдмреЗрд╕ рдПрдХ рд╢рд╛рдЦрд╛ рдореЗрдВ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреВрд╕рд░реА рд╢рд╛рдЦрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдиреМрд╕рд┐рдЦрд┐рдП рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдиреБрднрд╡реА рдЧрд┐рдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрднреА-рдХрднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдмрджрд▓рд╛рд╡ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬрдм рдЙрдирдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд░реНрдЬ рдСрдкрд░реЗрд╢рди рдХреА рдЕрдЪреНрдЫреА рдХрдорд╛рди рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ рд░реАрдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрднреНрдпрд╛рд╕ рдХреА рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рд╕рд┐рджреНрдзрд╛рдВрдд
рддреЛ, рдЪрд▓реЛ рд░рд┐рдмреЗрдЬ рдХреНрдпрд╛ рд╣реИ рдХреЗ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдЬреНрдЮрд╛рди рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░реЗрдВред рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдЖрдкрдХреА рджреЛ рд╢рд╛рдЦрд╛рдПрдБ рд╣реИрдВ -
рдорд╛рд╕реНрдЯрд░ рдФрд░
рдлрд╝реАрдЪрд░ , рджреЛрдиреЛрдВ рд╕реНрдерд╛рдиреАрдп, рдлрд╝реАрдЪрд░ рдХреЛ рд░рд╛рдЬреНрдп A рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕рдореЗрдВ рдХрдорд┐рдЯ C, D рдФрд░ E. рд╕рдореНтАНрдорд┐рд▓рд┐рдд рд╣реИрдВред рдЗрд╕рдореЗрдВ рд╕реЗ рдлрд╝реАрдЪрд░ рдмреНрд░рд╛рдВрдЪ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдорд╛рд╕реНрдЯрд░ рдмреНрд░рд╛рдВрдЪ рдореЗрдВ 1 рдХрдорд┐рдЯ B рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред ред
рд╕реБрд╡рд┐рдзрд╛ рд╢рд╛рдЦрд╛ рдореЗрдВ рд░рд┐рдмрд╛рд╕ рдорд╛рд╕реНрдЯрд░ рдСрдкрд░реЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХрдорд┐рдЯ рд╡реГрдХреНрд╖ рдЬреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛:

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕реА ', рдбреА' рдФрд░ рдИ 'рдХреЗ рд╕реА, рдбреА рдФрд░ рдИ рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИрдВ, рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрд╢ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬреЛ рдмрджрд▓рд╛рд╡ (рдбреЗрд▓реНрдЯрд╛рд╕) рд╡реЗ рдЦреБрдж рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ рд╡реЗ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рд╕рдорд╛рди рд╣реИрдВред рдХрдорд┐рдЯреНрд╕ рдореЗрдВ рдЕрдВрддрд░ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрд▓рдЧ рдЖрдзрд╛рд░ рд╣реИ (рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ - рдП, рджреВрд╕рд░реЗ рдореЗрдВ - рдмреА), рдбреЗрд▓реНрдЯрд╛рд╕ рдореЗрдВ рдЕрдВрддрд░, рдпрджрд┐ рдХреЛрдИ рд╣реЛ, рддреЛ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд░рд┐рдмрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рд╣реБрдП рдереЗред рдЗрд╕ рдкрд░ рдФрд░ рдмрд╛рдж рдореЗрдВред
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд╣рд▓реЗ рдПрдХ рдкрд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рд╣реИ, рдЬрдм рд╕реБрд╡рд┐рдзрд╛ рд╢рд╛рдЦрд╛ рдХреЛ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдлрд╛рд╕реНрдЯ-рдлреЙрд░рд╡рд░реНрдб рдореЛрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реБрд╡рд┐рдзрд╛ рд╢рд╛рдЦрд╛ рдореЗрдВ рдХреЛрдб рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╢рд╛рдЦрд╛ рдореЗрдВ рдХрд┐рдП рдЧрдП рдЦрд╛рддрд╛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред рдорд╛рд╕реНрдЯрд░ рдЗрди рдХрдорд┐рдЯ рдмреАред
рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд░рд┐рдмреЗрд╕ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛
рдЖрдЗрдП рдЕрдм рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВ, рдкреЗрдбрд╝ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреЗрдбрд╝ 2 рдореЗрдВ рдХреИрд╕реЗ рдмрджрд▓ рдЧрдпрд╛?
рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рд░рд┐рдмрд╛рд╕ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдк рдлреАрдЪрд░ рдмреНрд░рд╛рдВрдЪ рдореЗрдВ рд╣реИрдВ, рдпрд╛рдиреА рдЖрдкрдХрд╛ HEAD рдлреАрдЪрд░ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ, рдЬреЛ рдХрдорд┐рдЯ рдИ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИред рдЖрдк рдорд╛рд╕реНрдЯрд░ рдмреНрд░рд╛рдВрдЪ рдХреЗ рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд╝рд╛рдпрд░ рдХреЛ рдХрдорд╛рдВрдб рдореЗрдВ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ:
git rebase master
git тАФ . A. HEAD git , A , ╬Ф
AC. master. , C', C' = B + ╬Ф
AC. master feature , , HEAD (C'), ┬л ┬╗ (detached HEAD).
C', git тАФ ╬Ф
CD. , C' . rebase ( , git status , detached HEAD). , ╬Ф
CD ( ) ( stage-):
:
1. rebase
git rebase --abort
HEAD, feature, ( ) .
2. merge-tool', ,
git add %filename%
. , rebase-
git rebase --continue
, , D' rebase , .
3. , B D , ┬л┬╗ B,
git rebase --continue
, , . D',
git rebase --skip
╬Ф
DE E', feature E', HEAD feature тАФ , , rebase . C, D E .
, rebase-, (Author), , rebase (Commiter):
commit 0244215614ce6886c9e7d75755601f94b8e19729
Author: sloot69 <***@****.com>
AuthorDate: Mon Nov 26 13:19:08 2012 +0400
Commit: Alex <***@****.com>
CommitDate: Mon Nov 26 13:33:27 2012 +0400
тАФ rebase
, : master, origin/master, feature origin/feature. rebase origin-, feature origin/feature, feature master.
Rebase origin-
rebase, . , , , - merge. :
тАФ 3 master . 1 . .
git push origin master
, , . (2 3)
git pull origin master
, merge- . git push . git pull, merge-. ,
git push origin master
. github, network, :
6 ( ), , , , . , , , :
. rebase?
git pull origin master
git pull --rebase origin master
, , C, D E origin/master,
git push origin master
. :
, ┬л┬╗ merge- , C C'. C , C'.
git pull --rebase
, .
, rebase
rebase- master . , rebase . , merge, (master). rebase . , ? push , fast-forward, , , :
, :
git push origin feature --force
Force- feature origin , .
! , force-push , . , .
, origin-. , тАФ . тАФ , . push, origin. , .
, pull, push. feature origin/feature .
git pull origin feature
, merge. , . :
git pull --rebase origin feature
feature .
git pull --rebase origin feature
тАФ , rebase , fast-forward.
master
rebase. master git merge feature. , rebase- master fast-forward, .
, тАФ merge fast-forward , , , . тАФ merge --no-ff. merge-, master, тАФ feature. , fast-forward () c merge-, --no-ff ():

, , merge- . , .
, , .
git rebase , , , merge- , rebase ( -, ) , , , git pull --rebase.
. тАФ master , . , rebase- .
.
, merge rebase . , , . , . rebase-, . , , rebase .
PS. , , .