2016-11-21 2 views
0

名前の一部のみを使用してファイルをチェックアウトすることは可能ですか?未知の部分を*(アスタリスク) git showまたはgit diffを使用しているとき。Git checout <SHA> * filenameは "pathspectがファイルと一致しません"というエラーを返します。

まだ完全パス/名作品を用い

error: pathspec '*.snippet' did not match any file(s) known to git.

git checkout <SHA> -- *.snippet 

又は

git checkout <SHA> *.snippet 

両方結果。確かにそうする方法が必要でしょうか?

+0

私は複数のファイルがパターンに一致した場合に何が起こるか、すなわちあるこれで当面の問題を参照してください? 'grep'を使って最初にファイルを見つけて、普通の方法で' git checkout'をフルパスで呼び出すことができませんでしたか? –

+0

これは私にとってうまく動作します。 'git checkout HEAD^- 'ファイル*'; 'HEAD ^'に 'file1'と' file2'の両方が含まれているときに 'HEAD'に' file1'が含まれているときには、 'git status'は' new file:file2'(インデックス内に、 – torek

答えて

0

考えられる解決策:

git ls-tree -r --name-only <SHA1> | grep '.snippet$' | xargs git checkout <SHA1> 
関連する問題