made the pack completely portable and wrote relevent bat files to go with it
This commit is contained in:
145
gitportable/mingw64/share/doc/git-doc/git-cherry.adoc
Normal file
145
gitportable/mingw64/share/doc/git-doc/git-cherry.adoc
Normal file
@@ -0,0 +1,145 @@
|
||||
git-cherry(1)
|
||||
=============
|
||||
|
||||
NAME
|
||||
----
|
||||
git-cherry - Find commits yet to be applied to upstream
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git cherry' [-v] [<upstream> [<head> [<limit>]]]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Determine whether there are commits in `<head>..<upstream>` that are
|
||||
equivalent to those in the range `<limit>..<head>`.
|
||||
|
||||
The equivalence test is based on the diff, after removing whitespace
|
||||
and line numbers. git-cherry therefore detects when commits have been
|
||||
"copied" by means of linkgit:git-cherry-pick[1], linkgit:git-am[1] or
|
||||
linkgit:git-rebase[1].
|
||||
|
||||
Outputs the SHA1 of every commit in `<limit>..<head>`, prefixed with
|
||||
`-` for commits that have an equivalent in <upstream>, and `+` for
|
||||
commits that do not.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-v::
|
||||
Show the commit subjects next to the SHA1s.
|
||||
|
||||
<upstream>::
|
||||
Upstream branch to search for equivalent commits.
|
||||
Defaults to the upstream branch of HEAD.
|
||||
|
||||
<head>::
|
||||
Working branch; defaults to HEAD.
|
||||
|
||||
<limit>::
|
||||
Do not report commits up to (and including) limit.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
Patch workflows
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
git-cherry is frequently used in patch-based workflows (see
|
||||
linkgit:gitworkflows[7]) to determine if a series of patches has been
|
||||
applied by the upstream maintainer. In such a workflow you might
|
||||
create and send a topic branch like this:
|
||||
|
||||
------------
|
||||
$ git checkout -b topic origin/master
|
||||
# work and create some commits
|
||||
$ git format-patch origin/master
|
||||
$ git send-email ... 00*
|
||||
------------
|
||||
|
||||
Later, you can see whether your changes have been applied by saying
|
||||
(still on `topic`):
|
||||
|
||||
------------
|
||||
$ git fetch # update your notion of origin/master
|
||||
$ git cherry -v
|
||||
------------
|
||||
|
||||
Concrete example
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
In a situation where topic consisted of three commits, and the
|
||||
maintainer applied two of them, the situation might look like:
|
||||
|
||||
------------
|
||||
$ git log --graph --oneline --decorate --boundary origin/master...topic
|
||||
* 7654321 (origin/master) upstream tip commit
|
||||
[... snip some other commits ...]
|
||||
* cccc111 cherry-pick of C
|
||||
* aaaa111 cherry-pick of A
|
||||
[... snip a lot more that has happened ...]
|
||||
| * cccc000 (topic) commit C
|
||||
| * bbbb000 commit B
|
||||
| * aaaa000 commit A
|
||||
|/
|
||||
o 1234567 branch point
|
||||
------------
|
||||
|
||||
In such cases, git-cherry shows a concise summary of what has yet to
|
||||
be applied:
|
||||
|
||||
------------
|
||||
$ git cherry origin/master topic
|
||||
- cccc000... commit C
|
||||
+ bbbb000... commit B
|
||||
- aaaa000... commit A
|
||||
------------
|
||||
|
||||
Here, we see that the commits A and C (marked with `-`) can be
|
||||
dropped from your `topic` branch when you rebase it on top of
|
||||
`origin/master`, while the commit B (marked with `+`) still needs to
|
||||
be kept so that it will be sent to be applied to `origin/master`.
|
||||
|
||||
|
||||
Using a limit
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
The optional <limit> is useful in cases where your topic is based on
|
||||
other work that is not in upstream. Expanding on the previous
|
||||
example, this might look like:
|
||||
|
||||
------------
|
||||
$ git log --graph --oneline --decorate --boundary origin/master...topic
|
||||
* 7654321 (origin/master) upstream tip commit
|
||||
[... snip some other commits ...]
|
||||
* cccc111 cherry-pick of C
|
||||
* aaaa111 cherry-pick of A
|
||||
[... snip a lot more that has happened ...]
|
||||
| * cccc000 (topic) commit C
|
||||
| * bbbb000 commit B
|
||||
| * aaaa000 commit A
|
||||
| * 0000fff (base) unpublished stuff F
|
||||
[... snip ...]
|
||||
| * 0000aaa unpublished stuff A
|
||||
|/
|
||||
o 1234567 merge-base between upstream and topic
|
||||
------------
|
||||
|
||||
By specifying `base` as the limit, you can avoid listing commits
|
||||
between `base` and `topic`:
|
||||
|
||||
------------
|
||||
$ git cherry origin/master topic base
|
||||
- cccc000... commit C
|
||||
+ bbbb000... commit B
|
||||
- aaaa000... commit A
|
||||
------------
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-patch-id[1]
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
Reference in New Issue
Block a user