Git merge commits cause merge conflicts The Next CEO of Stack OverflowHow to resolve merge conflicts in GitHow to modify existing, unpushed commits?What is the difference between 'git pull' and 'git fetch'?How to undo 'git add' before commit?How do I undo the most recent commits in Git?How do I force “git pull” to overwrite local files?How do I delete a Git branch locally and remotely?Undo a Git merge that hasn't been pushed yetHow to revert a Git repository to a previous commitHow do I rename a local Git branch?
Purpose of level-shifter with same in and out voltages
Airplane gently rocking its wings during whole flight
Is it okay to majorly distort historical facts while writing a fiction story?
Is it OK to decorate a log book cover?
Is it professional to write unrelated content in an almost-empty email?
Traveling with my 5 year old daughter (as the father) without the mother from Germany to Mexico
Aggressive Under-Indexing and no data for missing index
How to use ReplaceAll on an expression that contains a rule
Is it correct to say moon starry nights?
Where do students learn to solve polynomial equations these days?
Why is information "lost" when it got into a black hole?
What steps are necessary to read a Modern SSD in Medieval Europe?
Raspberry pi 3 B with Ubuntu 18.04 server arm64: what chip
Is French Guiana a (hard) EU border?
Inductor and Capacitor in Parallel
How to avoid supervisors with prejudiced views?
Can I board the first leg of the flight without having final country's visa?
Calculate the Mean mean of two numbers
Film where the government was corrupt with aliens, people sent to kill aliens are given rigged visors not showing the right aliens
Why did early computer designers eschew integers?
Towers in the ocean; How deep can they be built?
Help! I cannot understand this game’s notations!
What are the unusually-enlarged wing sections on this P-38 Lightning?
Won the lottery - how do I keep the money?
Git merge commits cause merge conflicts
The Next CEO of Stack OverflowHow to resolve merge conflicts in GitHow to modify existing, unpushed commits?What is the difference between 'git pull' and 'git fetch'?How to undo 'git add' before commit?How do I undo the most recent commits in Git?How do I force “git pull” to overwrite local files?How do I delete a Git branch locally and remotely?Undo a Git merge that hasn't been pushed yetHow to revert a Git repository to a previous commitHow do I rename a local Git branch?
I have two branches on a repo. One called master, and one called dev. Master is treated like production, and only gets occasional merges from branches created from dev. However, it happens that master gets commits that are not in dev every once in a while (hotfixes). Because of this, I merge master into dev periodically.
I have now run into a situation where merging master into dev causes a lot of conflicts. I have cherry-picked all of the actual changes that went into master into dev, so the code itself SHOULD be identical. However, when I go to merge master into dev, I get conflicts anyway. From what I can tell, these conflicts are coming from the actual merge commits that happened when I merged branches into master (they went into dev too). Any idea what might be going on here, and how to fix this from happening in the future?
/--hotfix branch--
master ------/-------------------(merge commit)--------------------
| |
dev ---------------------------(merge commit)-------(lots of conflicts!)
If it is hard to tell from the diagram, A hotfix is created off of master, changes are made, and then merged into master. I then take that hotfix and merge it into dev too. The physical code at this point should be the same. However, when I try to merge master into dev now, I see a bunch of conflicts, most of which stem from the code changed in the hotfix as if I had never merged the hotfix into dev (I double checked, I did merge it into dev).
git merge version-control
|
show 2 more comments
I have two branches on a repo. One called master, and one called dev. Master is treated like production, and only gets occasional merges from branches created from dev. However, it happens that master gets commits that are not in dev every once in a while (hotfixes). Because of this, I merge master into dev periodically.
I have now run into a situation where merging master into dev causes a lot of conflicts. I have cherry-picked all of the actual changes that went into master into dev, so the code itself SHOULD be identical. However, when I go to merge master into dev, I get conflicts anyway. From what I can tell, these conflicts are coming from the actual merge commits that happened when I merged branches into master (they went into dev too). Any idea what might be going on here, and how to fix this from happening in the future?
/--hotfix branch--
master ------/-------------------(merge commit)--------------------
| |
dev ---------------------------(merge commit)-------(lots of conflicts!)
If it is hard to tell from the diagram, A hotfix is created off of master, changes are made, and then merged into master. I then take that hotfix and merge it into dev too. The physical code at this point should be the same. However, when I try to merge master into dev now, I see a bunch of conflicts, most of which stem from the code changed in the hotfix as if I had never merged the hotfix into dev (I double checked, I did merge it into dev).
git merge version-control
Are you trying to cherry-pick the merge-commits you have on master? (I mean, in addition to obviously cherry-picking the non-merge-commits)
– RomainValeri
Mar 8 at 18:00
It's unclear to me because at different points in your post you're saying different things; When you propagated the hotfix to dev, did you merge master into dev, or did you cherry-pick master commits into dev? Are you currently merging, or are you cherry-picking? These are very different things, and knowing which combination of actions we're talking about is important.
– Mark Adelsberger
Mar 8 at 18:16
@MarkAdelsberger when I propogated the hotfix, I merged it directly into dev, as well as to master. I.E. two separate MRs (in gitlab), which create two separate merge commits, one on dev, and another on master.
– Silvertail
Mar 8 at 18:33
Ok. So what were you talking about cherry picking?
– Mark Adelsberger
Mar 8 at 18:44
after the merges, and seeing that there were merge conflicts, I cherry-picked the commits with changes (not merge commits), to make sure the code really was all up to date (it is).
– Silvertail
Mar 8 at 18:50
|
show 2 more comments
I have two branches on a repo. One called master, and one called dev. Master is treated like production, and only gets occasional merges from branches created from dev. However, it happens that master gets commits that are not in dev every once in a while (hotfixes). Because of this, I merge master into dev periodically.
I have now run into a situation where merging master into dev causes a lot of conflicts. I have cherry-picked all of the actual changes that went into master into dev, so the code itself SHOULD be identical. However, when I go to merge master into dev, I get conflicts anyway. From what I can tell, these conflicts are coming from the actual merge commits that happened when I merged branches into master (they went into dev too). Any idea what might be going on here, and how to fix this from happening in the future?
/--hotfix branch--
master ------/-------------------(merge commit)--------------------
| |
dev ---------------------------(merge commit)-------(lots of conflicts!)
If it is hard to tell from the diagram, A hotfix is created off of master, changes are made, and then merged into master. I then take that hotfix and merge it into dev too. The physical code at this point should be the same. However, when I try to merge master into dev now, I see a bunch of conflicts, most of which stem from the code changed in the hotfix as if I had never merged the hotfix into dev (I double checked, I did merge it into dev).
git merge version-control
I have two branches on a repo. One called master, and one called dev. Master is treated like production, and only gets occasional merges from branches created from dev. However, it happens that master gets commits that are not in dev every once in a while (hotfixes). Because of this, I merge master into dev periodically.
I have now run into a situation where merging master into dev causes a lot of conflicts. I have cherry-picked all of the actual changes that went into master into dev, so the code itself SHOULD be identical. However, when I go to merge master into dev, I get conflicts anyway. From what I can tell, these conflicts are coming from the actual merge commits that happened when I merged branches into master (they went into dev too). Any idea what might be going on here, and how to fix this from happening in the future?
/--hotfix branch--
master ------/-------------------(merge commit)--------------------
| |
dev ---------------------------(merge commit)-------(lots of conflicts!)
If it is hard to tell from the diagram, A hotfix is created off of master, changes are made, and then merged into master. I then take that hotfix and merge it into dev too. The physical code at this point should be the same. However, when I try to merge master into dev now, I see a bunch of conflicts, most of which stem from the code changed in the hotfix as if I had never merged the hotfix into dev (I double checked, I did merge it into dev).
git merge version-control
git merge version-control
asked Mar 8 at 17:36
SilvertailSilvertail
7910
7910
Are you trying to cherry-pick the merge-commits you have on master? (I mean, in addition to obviously cherry-picking the non-merge-commits)
– RomainValeri
Mar 8 at 18:00
It's unclear to me because at different points in your post you're saying different things; When you propagated the hotfix to dev, did you merge master into dev, or did you cherry-pick master commits into dev? Are you currently merging, or are you cherry-picking? These are very different things, and knowing which combination of actions we're talking about is important.
– Mark Adelsberger
Mar 8 at 18:16
@MarkAdelsberger when I propogated the hotfix, I merged it directly into dev, as well as to master. I.E. two separate MRs (in gitlab), which create two separate merge commits, one on dev, and another on master.
– Silvertail
Mar 8 at 18:33
Ok. So what were you talking about cherry picking?
– Mark Adelsberger
Mar 8 at 18:44
after the merges, and seeing that there were merge conflicts, I cherry-picked the commits with changes (not merge commits), to make sure the code really was all up to date (it is).
– Silvertail
Mar 8 at 18:50
|
show 2 more comments
Are you trying to cherry-pick the merge-commits you have on master? (I mean, in addition to obviously cherry-picking the non-merge-commits)
– RomainValeri
Mar 8 at 18:00
It's unclear to me because at different points in your post you're saying different things; When you propagated the hotfix to dev, did you merge master into dev, or did you cherry-pick master commits into dev? Are you currently merging, or are you cherry-picking? These are very different things, and knowing which combination of actions we're talking about is important.
– Mark Adelsberger
Mar 8 at 18:16
@MarkAdelsberger when I propogated the hotfix, I merged it directly into dev, as well as to master. I.E. two separate MRs (in gitlab), which create two separate merge commits, one on dev, and another on master.
– Silvertail
Mar 8 at 18:33
Ok. So what were you talking about cherry picking?
– Mark Adelsberger
Mar 8 at 18:44
after the merges, and seeing that there were merge conflicts, I cherry-picked the commits with changes (not merge commits), to make sure the code really was all up to date (it is).
– Silvertail
Mar 8 at 18:50
Are you trying to cherry-pick the merge-commits you have on master? (I mean, in addition to obviously cherry-picking the non-merge-commits)
– RomainValeri
Mar 8 at 18:00
Are you trying to cherry-pick the merge-commits you have on master? (I mean, in addition to obviously cherry-picking the non-merge-commits)
– RomainValeri
Mar 8 at 18:00
It's unclear to me because at different points in your post you're saying different things; When you propagated the hotfix to dev, did you merge master into dev, or did you cherry-pick master commits into dev? Are you currently merging, or are you cherry-picking? These are very different things, and knowing which combination of actions we're talking about is important.
– Mark Adelsberger
Mar 8 at 18:16
It's unclear to me because at different points in your post you're saying different things; When you propagated the hotfix to dev, did you merge master into dev, or did you cherry-pick master commits into dev? Are you currently merging, or are you cherry-picking? These are very different things, and knowing which combination of actions we're talking about is important.
– Mark Adelsberger
Mar 8 at 18:16
@MarkAdelsberger when I propogated the hotfix, I merged it directly into dev, as well as to master. I.E. two separate MRs (in gitlab), which create two separate merge commits, one on dev, and another on master.
– Silvertail
Mar 8 at 18:33
@MarkAdelsberger when I propogated the hotfix, I merged it directly into dev, as well as to master. I.E. two separate MRs (in gitlab), which create two separate merge commits, one on dev, and another on master.
– Silvertail
Mar 8 at 18:33
Ok. So what were you talking about cherry picking?
– Mark Adelsberger
Mar 8 at 18:44
Ok. So what were you talking about cherry picking?
– Mark Adelsberger
Mar 8 at 18:44
after the merges, and seeing that there were merge conflicts, I cherry-picked the commits with changes (not merge commits), to make sure the code really was all up to date (it is).
– Silvertail
Mar 8 at 18:50
after the merges, and seeing that there were merge conflicts, I cherry-picked the commits with changes (not merge commits), to make sure the code really was all up to date (it is).
– Silvertail
Mar 8 at 18:50
|
show 2 more comments
0
active
oldest
votes
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55068283%2fgit-merge-commits-cause-merge-conflicts%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55068283%2fgit-merge-commits-cause-merge-conflicts%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Are you trying to cherry-pick the merge-commits you have on master? (I mean, in addition to obviously cherry-picking the non-merge-commits)
– RomainValeri
Mar 8 at 18:00
It's unclear to me because at different points in your post you're saying different things; When you propagated the hotfix to dev, did you merge master into dev, or did you cherry-pick master commits into dev? Are you currently merging, or are you cherry-picking? These are very different things, and knowing which combination of actions we're talking about is important.
– Mark Adelsberger
Mar 8 at 18:16
@MarkAdelsberger when I propogated the hotfix, I merged it directly into dev, as well as to master. I.E. two separate MRs (in gitlab), which create two separate merge commits, one on dev, and another on master.
– Silvertail
Mar 8 at 18:33
Ok. So what were you talking about cherry picking?
– Mark Adelsberger
Mar 8 at 18:44
after the merges, and seeing that there were merge conflicts, I cherry-picked the commits with changes (not merge commits), to make sure the code really was all up to date (it is).
– Silvertail
Mar 8 at 18:50