回购初始化发出的所有 git 命令的历史记录

History of all git commands issued from repo's initialization

我有以下用例:

在我的本地计算机上,在任何版本控制系统之外,我有以下结构 files/folders,包括 git。

ProjectFolder
    ---Folder1
        ----File1.txt
    ----Folder2
        ----File2.txt
        ----100s of other files/folders

为了准备版本控制,我先运行git init这个文件夹。

这给了我:

ProjectFolder
    ---.git
    ---Folder1
        ----File1.txt
    ----Folder2
        ----File2.txt
        ----100s of other files/folders

然后我去了 github 并创建了一个存储库,说:

https://github.com/Tryer/ProjectFolder.git

在此之后,我从我机器上的命令行发出:

git remote add origin https://github.com/Tryer/ProjectFolder.git

我不想将 Folder2 及其内容添加到提交中。我只想提交 Folder1 及其内容。

我错误地没有创建正确的 .gitignore 文件,导致在我发布 git add .

时暂存 Folder2 中的一些文件

我现在不记得我是发布了 git rm -f <files from Folder2> 还是 git rm --cached <files from Folder2> 来从 Folder2 中取消暂存不需要的文件。前者会从暂存区和我的工作树中强制删除 Folder2 中的文件(我没有 intend/want)。后者只会取消暂存文件,但会将它们留在我的工作树中(这正是我想要的。)

Folder2 下的文件数量相当大,在我的机器上手动对 Folder2 的内容进行尽职调查似乎没有发现我的工作树中丢失文件的任何问题.

然而,为了绝对确定,有没有办法列出从一开始就在存储库下发出的所有 git 命令?请注意,我不是在询问我从终端命令行发出的命令的历史记录。这将在 powershell 历史记录或 bash shell 历史记录中可用。

这个问题的前一个问题可用 here。然而,这个问题大约有 10 年历史,那里投票最高的答案建议使用 git reflog。然而,这似乎给出了提交方面的历史。我正在寻找我执行过的确切 git 命令。

不,Git 不可能。 Git 不跟踪存储库中执行的命令。

您最好的选择是您的 shell 命令历史记录。