在Git中执行的命令的历史或日志

有没有一种方法可以跟踪我在Windows下的Git中使用的命令? 我想查看我已经应用到我的存储库上的所有命令。

我希望能够通过命令历史回溯,并找出导致问题的命令。

看到提交的历史将是一回事,但为了保存其他行为的历史,如创build分支或添加远程,是否跟踪?

git会显示提交影响索引的变化,比如git rm 。 它不会存储您执行的所有git命令的日志。

然而,大量的git命令会以某种方式影响索引,比如创build一个新的分支。 这些更改将显示在提交历史logging中,您可以使用git log查看这些更改。

但是,git无法跟踪破坏性的变化,比如git reset

所以,要回答你的问题,git不会存储你在仓库中执行的绝对的git命令历史。 但是,通常可以通过提交历史来插入执行的命令。

你可以用git-reflog ( 这里的例子 )看到历史logging:

 git reflog 

您的命令的日志可能在您的shell历史logging中可用。

 history 

如果看到执行的命令列表飞过不是你,导出列表到一个文件。

 history > path/to/file 

您可以限制导出的转储只用grep来显示带有“git”的命令

 history | grep "git " > path/to/file 

历史logging可能包含如此格式化的行

 518 git status -s 519 git commit -am "injects sriracha to all toppings, as required" 

使用这个数字你可以用一个感叹号重新执行这个命令

 $ !518 git status -s 

如果您正在使用CentOS或其他Linux风格,那么只需在提示符下Ctrl + R并键入git

如果你继续Ctrl + R这将通过你的历史logging反向search以git开头的命令

如果您使用Windows PowerShell,则可以键入“git”并按F8键。 继续按F8循环所有的git命令。

或者,如果你使用cygwin,你可以用^ R做同样的事情。

input您的terminalhistory 。 它不是技术上的混帐,但我认为这是你想要的。