When I run git log and view in the pager I get some nice ref metadata next to commits:
commit 212b18778130cdf36effe441890826b76b97a09f (HEAD -> master, tag: TAG_8.0.2, origin/author/bootstrap_gcm, origin/master, origin/HEAD)
Merge: 4d7e0962f 7f687a431
Author: Joe, Smith <[email protected]>
Date: Sun Oct 4 18:03:37 2020 -0400
Merge branch 'jsmith/8.0.0_changes' into 'master'
See merge request project/project!1286
commit 4d7e0962fadc17ac3af23a85b64ecaf65d68bc42 (tag: TAG_8.0.1)
Merge: e7ccb690f cd10de563
Author: Joe, Smith <[email protected]>
Date: Fri Oct 2 19:54:31 2020 -0400
Merge branch 'project2' into 'master'
See merge request project/project!1285
The ref metadata I am talking about is:
(HEAD -> master, tag: TAG_8.0.2, origin/author/feature_br1, origin/master, origin/HEAD)
(tag: TAG_8.0.1)
-- Off to the right of the commit in parenthesis.
However, if I do git --no-pager log > git.log, all that ref info is missing:
commit 212b18778130cdf36effe441890826b76b97a09f
Merge: 4d7e0962f 7f687a431
Author: Joe, Smith <[email protected]>
Date: Sun Oct 4 18:03:37 2020 -0400
Merge branch 'jsmith/8.0.0_changes' into 'master'
See merge request project/project!1286
commit 4d7e0962fadc17ac3af23a85b64ecaf65d68bc42
Merge: e7ccb690f cd10de563
Author: Joe, Smith <[email protected]>
Date: Fri Oct 2 19:54:31 2020 -0400
Merge branch 'project2' into 'master'
See merge request project/project!1285
Two questions.
Why? Shouldn't the same text sent to the pager also be redirected to a file?
Is there a way I can preserve the ref info in parenthesis when dumping to file?
Shouldn't the same text sent to the pager also be redirected to a file?
No: the default setting for decorate is decorate=auto, and auto means:
short) when going to the screen (perhaps through a pager), butno) when going to a file.That's precisely why:
git --no-pager log --decorate > git.log
works: --decorate is short for setting the decorate setting to short, for the execution of this one command.
Note that using git config, you can configure your own personal default setting for the decorate option. See the git config documentation; search for log.decorate.
I'm still not sure what the answer to my first question is (why is the ref information that is present in the pager is not dumped to file). However, I found a workaround - including the --decorate flag:
git --no-pager log --decorate > git.log
It's not exactly the same, but it's enough for my purposes.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With