と同じ方法で出力する方法を探していますls-tree
が、私の作業ディレクトリです。私が実行するたびにgit ls-tree .
、それは言いますfatal: Not a valid object name .
質問する
23078 次
3 に答える
25
git ls-tree
gitrefでのみ機能します。例:ls-tree HEAD
またはls-tree 1.9.1
試してみてください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^
正しいようで、簡単なテストで動作しましたが、すべてのファイルを食い尽くす可能性があります。
于 2012-04-10T04:39:47.737 に答える
1
git リポジトリに触れていないものを見つけようとしました。
これはgitだけではなく、「grep」のようなLinuxに依存しています
#from root of repo dir
git ls-tree -r HEAD
#other dirs
git ls-tree -r HEAD | grep <relative_path_to_repo_root>/
# eg
git ls-tree -r HEAD | grep src/
レポルートのサブディレクトリで作業している次の(gitのみ)も見つかりました
git ls-tree -r --full-name HEAD
ただし、man ページ (man git-ls-tree) は git ロジックを刺激します
--full-name
Instead of showing the path names relative to the current working directory, show the full path names.
--full-tree
Do not limit the listing to the current working directory. Implies --full-name.
于 2021-12-13T13:48:03.410 に答える