プルしたいgitリポジトリがあります。私は通常のgit pull
を問題なく実行します。問題は、リポジトリから特定のディレクトリを1つだけ必要とすることです。私の考えでは、次のようなルールで.gitignore
ファイルを使用できると考えていました。
#Ignore all files
/
#Except the one I want
!/temp
問題は、これが機能しないことです。それはそれを行う正しい方法ですか、それともより良い方法がありますか?
git pull
は、リモートブランチをフェッチしてマージします。
.gitignore
はローカルでのみ機能し、一致するエントリがgit status
に表示され、git add
でインデックスに追加されないようにします。それはあなたが望むものではありません。
あなたがしたいのは、リモートブランチのfetch
であり、そこから、必要なディレクトリ/ファイルを抽出します。
$ git fetch <remote> <branch>
$ git checkout <remote>/<branch> -- relative/path/to/file/or/dir
これで、ファイル/ディレクトリがブランチにあり、インデックスに追加されます。