Merging two very different branches, complicated by the need to quickly forward the merge

I have a problem's. They had branches masterand feature. One hundred years ago masterand featurehad a common ancestor, but during this time 100,500 commits passed. masterand the featurebranches are now VERY diverging. OK. I spent all day and finally I completed this% # $% # merge. But ... At the end of the day, I was going to do these results in the repository and noticed that my teammates made about 5 new commits in the "master" branch ... $ #% # $ It's important for us to rebase to speed up my merging forward, which commits. So I need to include these 5 commits in my merge results. I already have a Ecommit (look at the diagram) on my local repo, which is the result of a merge masterinfeature. I can not push it to the server because of C1, ... C5 is the new latch on the remote control on feature. The standard practice for me, when I have something new on the remote, when I have already made changes, I do git pull --rebaseto keep the history of one branch linear. I ran git pull --rebaseand got an offer from git actually, to combine everything again. There are many conflicts again in files that were even untouched in C1, ... C5 commits. What am I doing wrong? Please help. How to get the result that I drowned in the second diagram? I'm crazy? Is it possible to do at all?

Now:

o--A--o-----...100500 commits....[master]....--o-----------B
       \                                                    \ 
        o---...100500 commits....[feature - local repo]...C--E(local repo - epic merge result)
        |                                    
        o---...100500 commits....[feature - remote repo]..C--C1--C2--C3--C4--C5(remote repo, feature branch - additional 5 commits)


Need to fast-forward E ahead C1, C2,... C5, that were added on remote when I was busy with merge:

o--A--o-----...100500 commits....[master]....--o-----------------------B
       \                                                                \ 
        o---...100500 commits....[feature]...--o--C--C1--C2--C3--C4--C5--E(epic merge result)


git pull --rebase ( feature), , git C1,.., C5 ( feature), , 100500 master. , . E commit C1,.. C5, master. , gitk --all git rebase --continue, , git mergetool .

+3
1

5 . , , , .

. , 5 .

, . , .

, , 5 , . -s ours --no-commit, .

+ rebase. , git checkout $tag -- . ( $tag - , ).

git commit. , , , , .

, , .

0
source

All Articles