threads / discuss / 50778

git command history

Subject: git command history

## tl;dr

5 messages between Mar 19, 2019 and Mar 25, 2019.

replies: 4people: 4as markdown or json

balaji marisetti· Mar 19, 2019, 16:03 UTC · lore
Hi All,

Can anyone please tell me if there is way to see the command history of a local git repo? If there isn't a way, why hasn't the command-history feature been implemented?

Thanks, Balaji M

-- 
:-)balaji
Junio C Hamano· Mar 20, 2019, 00:47 UTC · re: balaji marisetti · lore

Re: git command history

balaji marisetti <balajimarisetti@gmail.com> writes:
> Can anyone please tell me if there is way to see the command history
> of a local git repo? If there isn't a way, why hasn't the
> command-history feature been implemented?

Another question may be why anybody would want to have such a per repository command history, want Git to spend cycles and disk I/O to store it, and want developers to spend braincycles to think about it.

Depending on where you come from (i.e. if the interest in such a history is coming from corporate management and/or big brother side that wants to learn what its users are doing), I think JeffH's trace2 effort that allows "telemetry" to be collected may be a better match than a command history (e.g. "history | grep git"). Without knowing (not that I am all that interested in) what the motivation of wanting such a thing, it is rather hard to guess, though ;-).

Johannes Schindelin· Mar 22, 2019, 12:46 UTC · re: balaji marisetti · lore

Re: git command history

Hi Balaji,
On Tue, 19 Mar 2019, balaji marisetti wrote:
> Can anyone please tell me if there is way to see the command history
> of a local git repo?

If you really are only interested in the *Git* commands, you will be able to implement something on top of the Trace2 feature (which just made it into `master` but not into any official Git version yet, so it will most likely be available when Git v2.22.0 comes out).

If you are instead interested in all shell commands in a local Git worktree (you probably meant the worktree, not the repository, I assume), then you might need to play some games with Bash aliases to override `cd` and reroute the history by re-setting `HISTFILE` and then calling `history -cr` or something similar.

> If there isn't a way, why hasn't the command-history feature been
> implemented?

Because Git is an open source project. This means that nobody is responsible for fulfilling your wishes, except for you. And you can do it, too, this project welcomes all high-quality contributions.

Ciao, Johannes

Jeff Hostetler· Mar 22, 2019, 13:19 UTC · re: Johannes Schindelin · lore

Re: git command history

On 3/22/2019 8:46 AM, Johannes Schindelin wrote:
Show 12 quoted lines
> Hi Balaji,
> 
> On Tue, 19 Mar 2019, balaji marisetti wrote:
> 
>> Can anyone please tell me if there is way to see the command history
>> of a local git repo?
> 
> If you really are only interested in the *Git* commands, you will be able
> to implement something on top of the Trace2 feature (which just made it
> into `master` but not into any official Git version yet, so it will most
> likely be available when Git v2.22.0 comes out).
> 

Trace2 will let you see all of the git commands, the alias expansions, and any shell commands launched by git. If those shell commands also run git commands, they will be listed too.

However, it can't tell you what was otherwise done within the shell script.

Show 16 quoted lines
> If you are instead interested in all shell commands in a local Git
> worktree (you probably meant the worktree, not the repository, I assume),
> then you might need to play some games with Bash aliases to override `cd`
> and reroute the history by re-setting `HISTFILE` and then calling `history
> -cr` or something similar.
> 
>> If there isn't a way, why hasn't the command-history feature been
>> implemented?
> 
> Because Git is an open source project. This means that nobody is
> responsible for fulfilling your wishes, except for you. And you can do it,
> too, this project welcomes all high-quality contributions.
> 
> Ciao,
> Johannes
> 
balaji marisetti· Mar 25, 2019, 15:40 UTC · re: Jeff Hostetler · lore

Re: git command history

Thanks Johannes, and Jeff for your responses
> you probably meant the worktree, not the repository, I assume

You introduced me to a new feature :) I didn't know about this "worktree" feature. Thanks.

> Trace2 will let you see all of the git commands,
> the alias expansions, and any shell commands launched
> by git. If those shell commands also run git commands,
> they will be listed too.

Currently, I'm going through the code and documentation of this feature. I'll see how I can leverage this feature to work for my usecase.

- Balaji M
On Fri, Mar 22, 2019 at 6:49 PM Jeff Hostetler <git@jeffhostetler.com> wrote:
Show 42 quoted lines
>
>
>
> On 3/22/2019 8:46 AM, Johannes Schindelin wrote:
> > Hi Balaji,
> >
> > On Tue, 19 Mar 2019, balaji marisetti wrote:
> >
> >> Can anyone please tell me if there is way to see the command history
> >> of a local git repo?
> >
> > If you really are only interested in the *Git* commands, you will be able
> > to implement something on top of the Trace2 feature (which just made it
> > into `master` but not into any official Git version yet, so it will most
> > likely be available when Git v2.22.0 comes out).
> >
>
> Trace2 will let you see all of the git commands,
> the alias expansions, and any shell commands launched
> by git. If those shell commands also run git commands,
> they will be listed too.
>
> However, it can't tell you what was otherwise done within
> the shell script.
>
>
> > If you are instead interested in all shell commands in a local Git
> > worktree (you probably meant the worktree, not the repository, I assume),
> > then you might need to play some games with Bash aliases to override `cd`
> > and reroute the history by re-setting `HISTFILE` and then calling `history
> > -cr` or something similar.
> >
> >> If there isn't a way, why hasn't the command-history feature been
> >> implemented?
> >
> > Because Git is an open source project. This means that nobody is
> > responsible for fulfilling your wishes, except for you. And you can do it,
> > too, this project welcomes all high-quality contributions.
> >
> > Ciao,
> > Johannes
> >
-- 
:-)balaji

← back to recent threads