|
|
|
@ -830,6 +830,54 @@ available
@@ -830,6 +830,54 @@ available
|
|
|
|
|
Which shows that e05db0fd is reachable from itself, from v1.5.0-rc1, and |
|
|
|
|
from v1.5.0-rc2, but not from v1.5.0-rc0. |
|
|
|
|
|
|
|
|
|
[[showing-commits-unique-to-a-branch]] |
|
|
|
|
Showing commits unique to a given branch |
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
|
|
|
|
|
|
|
|
Suppose you would like to see all the commits reachable from the branch |
|
|
|
|
head named "master" but not from any other head in your repository. |
|
|
|
|
|
|
|
|
|
We can list all the heads in this repository with |
|
|
|
|
gitlink:git-show-ref[1]: |
|
|
|
|
|
|
|
|
|
------------------------------------------------- |
|
|
|
|
$ git show-ref --heads |
|
|
|
|
bf62196b5e363d73353a9dcf094c59595f3153b7 refs/heads/core-tutorial |
|
|
|
|
db768d5504c1bb46f63ee9d6e1772bd047e05bf9 refs/heads/maint |
|
|
|
|
a07157ac624b2524a059a3414e99f6f44bebc1e7 refs/heads/master |
|
|
|
|
24dbc180ea14dc1aebe09f14c8ecf32010690627 refs/heads/tutorial-2 |
|
|
|
|
1e87486ae06626c2f31eaa63d26fc0fd646c8af2 refs/heads/tutorial-fixes |
|
|
|
|
------------------------------------------------- |
|
|
|
|
|
|
|
|
|
We can get just the branch-head names, and remove "master", with |
|
|
|
|
the help of the standard utilities cut and grep: |
|
|
|
|
|
|
|
|
|
------------------------------------------------- |
|
|
|
|
$ git show-ref --heads | cut -d' ' -f2 | grep -v '^refs/heads/master' |
|
|
|
|
refs/heads/core-tutorial |
|
|
|
|
refs/heads/maint |
|
|
|
|
refs/heads/tutorial-2 |
|
|
|
|
refs/heads/tutorial-fixes |
|
|
|
|
------------------------------------------------- |
|
|
|
|
|
|
|
|
|
And then we can ask to see all the commits reachable from master |
|
|
|
|
but not from these other heads: |
|
|
|
|
|
|
|
|
|
------------------------------------------------- |
|
|
|
|
$ gitk master --not $( git show-ref --heads | cut -d' ' -f2 | |
|
|
|
|
grep -v '^refs/heads/master' ) |
|
|
|
|
------------------------------------------------- |
|
|
|
|
|
|
|
|
|
Obviously, endless variations are possible; for example, to see all |
|
|
|
|
commits reachable from some head but not from any tag in the repository: |
|
|
|
|
|
|
|
|
|
------------------------------------------------- |
|
|
|
|
$ gitk ($ git show-ref --heads ) --not $( git show-ref --tags ) |
|
|
|
|
------------------------------------------------- |
|
|
|
|
|
|
|
|
|
(See gitlink:git-rev-parse[1] for explanations of commit-selecting |
|
|
|
|
syntax such as `--not`.) |
|
|
|
|
|
|
|
|
|
[[making-a-release]] |
|
|
|
|
Creating a changelog and tarball for a software release |
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
|
|
|