After several years of working with Git, I discovered that I gradually began to switch to more and more complex Git commands in the workflow. Soon after I discovered Git rebase, I also quickly implemented this command in everyday tasks. Those who are familiar with this procedure know how powerful this tool is and what a temptation it is to constantly use it. But it soon turned out that rebase entails a number of difficulties that are not obvious at first glance. But before discussing them, I want to quickly consider the differences between merge and rebase.
feature
master
. g
, . , , « », Git-.
rebase. , feature
— master
, feature
. , , , SHA-1.
rebase
feature
b
c
, . feature
master
(fast-forward merge), feature
— master
.
. rebase - , .
, , .
, master
, feature
. feature
master
, , , rebase . , .
rebase, bugfix- g
, .
rebase
rebase , Git , . rebase : , .
rebase — . , , , . , Git bisect, Git. . , .
master
. , , . , Git bisect git bisect run <yourtest.sh>
.
Bisect , , . , .
Git bisect
, rebase ( d
e
), bisect . , Git f
, d
, - , .
Git bisect
, .
Git? . . rebase Git .
bisect , . . - rebase, . , .
rebase? , , . rebase.
: Git rebase, , . , , , . ?
— Git merge. , . , , .
. Rebase — . , , . , , . , ? , ? , , .
, . — ( ).
?
, . Rebase — . , , .
, « », . . , GUI CLI, Git-. , , .
Git , . , VCS, .
, . . , . , .
Source: https://habr.com/ru/post/340558/
All Articles