Hi
Thanks for checking my ORIG_HEAD mistake - I'd misremembered (it was
easiest to put the command name first ;-)
The "--merge" option, now I look at the man page, relates to an easy
confusion I also had between the DAG-merge, where the focus was on the
parent-children meta data, versus the file level 'merge' where two
files, or one file and a patch [or more] are being squeezed into one the
single file. The two files -> one file, and one file + one patch for
that file -> one file merge cases are relatively easy and simple. BUT
there are more complicated cases that Git can detect because it knows
what went before. These include that a file may have just been renamed,
or moved, or the parent directory renamed/moved, and many variants like
that [1]. So,
So, the --merge option(s) allow you to tell git that you have more
details about those cases, and what to do when there are conflicts.
The term <upstream> may need some care. It is easy to be confused,
especially if the value is not given. From a simple viewpoint the
<uspstream> could be called <oldbase>, and helps mark where you were up
to if you were following someone else's work and had had them as a
remote and their work as a 'remote tracking branch (rtb)' (a local
branch which tracks a branch on a remote server). When you have an
upstream set, then git assumes (default) that it should use that rtb,
which is local to you, as a reference point for the rebase. In such
case, when collaborating with a friend on a feature, it is like a game
of leapfrog, with each building on top of each others work - that was
the original use case for rebase.
The --merge option allows you to say 'use my changes' automatically, or
use the changes from the rtb. The comment in the man page is that you
are placing your commits on top of the work of others, rather than
adding their work onto your work, so the "ours/theirs" terminology swaps
around.
Philip
[1] the file rename detection is an active issue on the Git list e.g.
https://public-inbox.org/git/20190405150026.5260-1-new...@gmail.com/
On 07/04/2019 18:45, neverasi...@gmail.com wrote:
Hi Philip and everybody,
I understood better the rebasing feature by studying more and more
situations and by clarifying any misunderstandings of mine about
merging feature.
Well, I understood how to use --root option for rebasing and what is
its effect.
Just 2 remarks:
* no REBASE_HEAD exist, just ORIG_HEAD (the same as for merging
feature) ... however how to undo a rebasing (if possible) will be
a future deepening of mine,
* --no-ff option is for rebasing too: with this option the rebasing
feature is enforced to individually replay all commits instead of
fast-forwarding over the unchanged ones. This ensures that the
entire history of the rebased branch is composed of new commits.
In the while, I come back to my original question: what is --merge
command line optionof git rebase command?
Please, couldanyone explain this specific option of rebasing and
provide a tutorial simple example?
Philip, however I thank you very very very much for your precious
support. :-)
Regards.
Il giorno sabato 6 aprile 2019 10:53:48 UTC+2, never...@gmail.com ha
scritto:
Hi all,
could anyone clarify the meaning and the usage of
* --root command line option,
* --merge command line option (Maybe is it anyway related to
merge option in interactive todo-file?),
possibly providing an example in principle?
The official documentation is very obscure because too synthetic
... it could be understood just by whoever already knows GiT.
--
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 git-users+unsubscr...@googlegroups.com
<mailto:git-users+unsubscr...@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.
--
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 git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.