web-dev-qa-db-ja.com

Git:ディレクトリ内のすべてのファイルを別のブランチからコピーします

ディレクトリ内のすべてのファイルを別のブランチからコピーするにはどうすればよいですか?そのディレクトリ内のすべてのファイルをリストすることができます

git ls-tree master:dirname

こうすることで、すべてのファイルを個別にコピーできます

git checkout master -- dirname/filename

ただし、これまでのところ、ワイルドカードの使用は完全に失敗しています。これは何もしません:

git checkout master -- dirname/*.png

それにはbashスクリプトを使用できると思いますが、もっと簡単な方法が必要ですよね?

173
alexenko

ツリー内でファイルを移動しようとしていないので、ディレクトリをチェックアウトするだけでよいはずです。

git checkout master -- dirname
254
CB Bailey

パスにスペースがなく、特定の拡張子のファイルにのみ興味がある場合は、使用できます

git checkout otherBranch -- $(git ls-tree --name-only -r otherBranch | egrep '*.Java')
15
test30