On Wed, 23 Nov 2016 11:43:13 -0800 (PST)
Daniel PRESA <[email protected]> wrote:

> So here is the thing, i just don't get the git merge conflict and how
> to resolve them, 
> especially when i already tried to resolve the conflict and finished
> to have half my changes merged, the other all ignored

> and files someone have modified in me personnar repository i dont
> even know how.

^^^ This smells like you're actually attempting your merge in a wrong
way.  With zero details to consider, it's impossible to provide any
constructive feedback, but if your repository is really personal,
there's no way someone could have committed any changes into it.
It's rather more likely that you have accidently messed something up
like force-pushing something into a repository's branch, which you're
now attempting to merge with some other line of history.

> I tried to find documentation about how to resolve this but i don't
> find anything i can understand, it's really depressing.

That's surprising.  Resolving merge conflicts is a rather
straightforward operation.  Basically running `git status` makes Git
1) List all the files with merge conflicts.
2) Explain what to do about each of them.

Merge conflicts for particular files can be of three types:

1) Both "we" (locally) and "they" (the changes we're trying to merge)
   changed the file's contents, and these changes overlap.

   In this case, for each text region in the file which has overlapping
   changes, Git takes both versions of this region and places them both
   in place of the original one -- delimited by special strings like
   ">>>>>", "=====" and "<<<<<".

   You're supposed to locate and edit the text in these regions to
   make them have the text which should logically contain the reconciled
   changes done by "us" and "they".

   After that, you `git add` the file's new content so that it's the
   part of the next commit.

   It's possible to completely ignore the changes done on either side
   by overwriting the file in the working tree by either "our" or
   "their" version, which is done by

     git checkout --ours -- path/to/file

   or

     git checkout --theirs -- path/to/file

   respectively.

   You'll still need to `git add` the file afterwards.

2) "We" have deleted a file which "they" have updated in the meantime.
3) "They" have deleted a file which "we" have updated in the meantime,
   which is the reverse of (2).

   In these cases you have basically two options:

   1. Confirm the deletion by using `git rm path/to/file`.

   2. Check the version of the file from the appropriate side of the
      merge (see above) and decide what to do next.

      If you'll decide to keep the file as a result, you'll need to
      `git add` its contents as explained above.

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to