I'm working on a redesign of our web application, in a separate branch, say new_interface
. Meanwhile, other developers are still in the master
branch, mostly resolving bugs. While some files may differ considerably, I need to recover the fixes that were made by other developers.
Until then I have given merge
of master
to my branch (using TortoiseGit), but for the last time this did not work. Several files went wrong, even some that did not accuse conflict. It looks like merge
chose the master
version instead of the reshaped version.
As an alternative to solving this situation, I am trying to study rebase
, but I still do not know if this would solve my problem.
Will rebase
resolve my situation or will the result be the same as merge
?
Edit:
I confirmed that although the conflict editing system is a bit different, the final result is very similar, even with the same problems.
For example, in some files the changes belonging to new_interface
are gone in the final log in both methods.
Will I have to manually change all the changes from one branch to another or is there still another alternative?
Edit 2: I ended up doing a merge (squash, recursive - patience), however I had to go file by file (including those that did not accuse conflict) choosing which changes I wanted to incorporate and which ones to discard.
One mistake I had made the first time I tried the merge was to click on "resolve conflicts using mine" in the files I wanted to keep intact. Actually the right thing would be to mark "revert", discarding the version of master
and keeping the file as before the merge.