簡體   English   中英

在 Git 中執行的命令的歷史或日志

[英]History or log of commands executed in Git

有沒有辦法可以跟蹤我在 Windows 下的 Git 中使用的命令? 我想查看我在我的存儲庫中應用的所有命令。

我希望能夠返回命令歷史記錄並找出導致問題的命令(如果發生)。

查看提交的歷史記錄是一回事,但是為了保留其他操作的歷史記錄,例如創建分支或添加遠程,這些是否被跟蹤?

您可以使用git-reflog查看歷史記錄( 示例在這里):

git reflog

您的命令日志可能會在您的 shell 歷史記錄中可用。

history

如果您不喜歡查看已執行命令的列表,請將列表導出到文件中。

history > path/to/file

您可以通過使用 grep 管道將導出的轉儲限制為僅顯示其中包含“git”的命令

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

如果您使用的是 CentOS 或其他 Linux 風格,那么只需在提示符下Ctrl + R並輸入git

如果您繼續Ctrl + R這將在您的歷史記錄中反向搜索以git開頭的命令

在終端中輸入history 從技術上講,這不是 git,但我認為這是您想要的。

如果您使用 Windows PowerShell,則可以鍵入“git”並按 F8。 繼續按 F8 循環瀏覽所有 git 命令。

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

我發現在我的 git bash "2.24.0.windows.2" 版本中,在 Windows 用戶下的“home”文件夾中,將有一個名為“.bash-history”的文件,該文件夾中沒有文件擴展名。 它僅在您退出 bash 后創建。

這是我的工作流程:

  1. 在退出 bash 之前輸入“history >> history.txt”[ENTER]
  2. 退出 bash 提示符
  3. 按住Win+R打開運行命令框
  4. 輸入外殼:配置文件
  5. 打開“history.txt”以確認我的文字已添加
  6. 在新行上按 [F5] 輸入時間戳
  7. 保存並關閉歷史文本文件
  8. 刪除“.bash-history”文件,以便下一個會話將創建一個新的歷史記錄

如果你真的想要積分,我想你可以制作一個批處理文件來完成所有這些,但這對我來說已經足夠了。 希望它可以幫助某人。

git 將顯示影響索引的提交更改,例如git rm 它不會存儲您執行的所有 git 命令的日志。

但是,大量的 git 命令會以某種方式影響索引,例如創建新分支。 這些更改將顯示在提交歷史記錄中,您可以使用git log查看。

但是,存在 git 無法跟蹤的破壞性更改,例如git reset

因此,為了回答您的問題,git 不會存儲您在存儲庫中執行的git命令的絕對歷史記錄。 但是,通常可以通過提交歷史插入您執行的命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM