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

时间:2011-09-15 18:08:07

标签: git

有没有办法可以跟踪我在Windows下在Git中使用的命令?我想查看我在我的存储库中应用的所有命令。

我希望能够返回命令历史记录并找出导致问题发生的命令。

查看提交历史将是一回事,但是为了保留其他操作的历史记录,例如创建分支或添加远程,这些是否会被跟踪?

7 个答案:

答案 0 :(得分:148)

您可以使用git-reflogexample here)查看历史记录:

git reflog

答案 1 :(得分:43)

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

history

如果查看飞行执行命令列表不适合您,请将列表导出到文件中。

history > path/to/file

您可以将导出的转储限制为仅显示带有“git”的命令,方法是将其与grep一起管道

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

历史记录可能包含格式为

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

使用该号码可以用感叹号重新执行命令

$ !518
git status -s

答案 2 :(得分:8)

如果您使用的是CentOS或其他Linux版本,请在提示符下执行Ctrl + R并输入git

如果您继续点击Ctrl + R,则会针对以git

开头的命令对您的历史记录进行反向搜索

答案 3 :(得分:5)

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

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

答案 4 :(得分:5)

在终端中输入history。 它不是技术上的git,但我认为这是你想要的。

答案 5 :(得分:0)

我发现在Windows用户下我的“ home”文件夹中的git bash版本“ 2.24.0.windows.2”中,将存在一个名为“ .bash-history”的文件,其中没有文件扩展名。夹。它仅在您退出bash之后创建。

这是我的工作流程:

  1. 退出bash之前,请输入“ history >> history.txt” [ENTER]
  2. 退出bash提示
  3. 按住Win + R打开“运行”命令框
  4. 输入shell:profile
  5. 打开“ history.txt”以确认是否添加了我的文字
  6. 在新行中按[F5]输入时间戳
  7. 保存并关闭历史记录文本文件
  8. 删除“ .bash-history”文件,以便在下一个会话中创建新的历史记录

如果您真的想要积分,我想您可以制作一个批处理文件来完成所有这一切,但这对我来说已经足够了。希望它可以帮助某人。

答案 6 :(得分:-4)

git将显示影响索引的提交中的更改,例如git rm。它不存储您执行的所有git命令的日志。

但是,大量git命令会以某种方式影响索引,例如创建新分支。这些更改将显示在提交历史记录中,您可以使用git log查看。

然而,git无法跟踪的破坏性更改,例如git reset

因此,为了回答您的问题,git不存储您在存储库中执行的git命令的绝对历史记录。但是,通常可以通过提交历史记录插入您执行的命令。