Skip to content
Eric Riebling edited this page Dec 19, 2018 · 2 revisions

Attempting to merge major_reorganization branch back into master:

er1k@islpc22:/tmp/DiViMe$ git merge major_reorganization

Results in a CONFLICT in one file:

CONFLICT (content): Merge conflict in docs/source/install.md

Git tells me:

Automatic merge failed; fix conflicts and then commit the result.

So I fix the conflicts and commit the result using the normal syntax:

git commit -m "merge commit" docs/source/install.md

Here's where things start to go South. Git doesn't like the WAY committed the result (hey it told me to do it...):

fatal: cannot do a partial commit during a merge.

I'm stuck. What are they talking about "partial commit" - not in Git documentation. So, google the error message. It tells me that I should use a different syntax:

git commit -i docs/source/install.md

Did that work? What state are we in, now?

er1k@islpc22:/tmp/DiViMe$ git status
On branch master
Your branch is ahead of 'origin/master' by 123 commits.
  (use "git push" to publish your local commits)
nothing to commit, working directory clean

Is that normal? Is that good? I don't know what those 123 commits were to trust that they were sufficient and necessary to bring master into complete alignment with major_reorganization. Am I done? No. Now more trickery is required, right... I need to push. Is that the next "right thing to do?"

So now I have a head branch that reflects major_reorganization... swell. But it does not have any of the changes that went into yunified - the one that is release 1.1. So next step is to try and (I guess) merge those changes into master?

git merge yunified

merge: yunified - not something we can merge

Did you mean this:
        origin/yunified

Why does it use this naming convention "origin/"? What does that mean that is different than other branches that don't begin with "origin/"?

So I try:

git merge origin/yunified

Now there are bunches of CONFLICTs. Why can't it just REPLACE the new correct ones? They're new, they're correct! So I edit all the files marked CONFLICT.
This is basically me having to re-type-in not only all the changes I already made, once before, already, but all the changes everyone else has made (in this case all the changes in docs/source/*.md)... replicating effort. Why can't it just replace the GOOD version in origin/yunified with the I KNOW IT'S BAD version in current checked-out master working directory? I mean, I'm sure it can, if you know the magic syntax, but the help is about as useful as a rock to the cranium, which would actually be preferable.

There's this general thing I've noticed with git, where it tells you to do a thing, but not HOW. And 9 times out of 10, the intuitive first way you try to do the thing ("because hey, Git knows, and it told me, so it must be right") - is in fact wrong, and generates a new, different Git error message, sometimes telling you to do YET ANOTHER THING but not HOW. I've gotten into a cycle where I keep getting the same Git error, keep doing the thing it tells me, leading to a second error, then a third, BACK TO THE FIRST ONE AGAIN. A never ending cycle of Git telling you to basically DO THE WRONG THING. (The right thing, but not how, so ... the wrong WAY)

Super Hyper Frustrating and Confusing

Example:

use "git add/rm <file>..." as appropriate to mark resolution

What do you mean by "as appropriate". For which ? Seriously, the helpful messages are only helpful IF YOU ALREADY KNOW ALL THERE IS TO KNOW ABOUT HOW TO USE EVERY FACET OF GIT. They are almost counterproductive to newbies, leading them down blind alleys where they can get their lunch money stolen and beaten up by the Git Hooligans.

Clone this wiki locally