git ls-tree输出工作目录?

Ale*_*ird 11 git

我正在寻找一种方法来输出ls-tree与我的工作目录相同的方式.每当我跑git ls-tree .它说fatal: Not a valid object name .

Mik*_*kel 18

git ls-tree仅适用于git refs,例如ls-tree HEAD.

试试git ls-files.你可能想要-s和/或-m标志.


正如您所指出的,git ls-files -s将列出索引中的文件(即已暂存的文件).

理论上,你可以搞乱索引,运行git ls-files -s,然后尝试恢复它,例如

git commit
git add .
git ls-files -s
git reset .
git reset --soft HEAD^
Run Code Online (Sandbox Code Playgroud)

看似正确,并且在一个简单的测试中工作,但可以吃掉所有文件.