2012-04-12 15 views
7

私はgit repoを持っています。私は問題なしで普通のgit pullをします。問題は、リポジトリから1つの特定のディレクトリだけを欲しいということです。問題は、これが動作しないですgitリポジトリから1つのディレクトリだけを引き出す

#Ignore all files 
/
#Except the one I want 
!/temp 

:私の考えは、私がこのようなルールに.gitignoreファイルを使用するということでした。それが正しい方法ですか、それとも良い方法がありますか?

+0

btw、すべてのファイルを無視するには、私は '/ *'と一緒に行こうとします。 – c00kiemon5ter

+1

レコードのためだけに、1つのディレクトリしか取得できません。あなたは常にファイルやディレクトリではなく、**履歴**を引き出します。もちろん、あなたはいくつかのファイルでのみ無料で作業することができます。 – fork0

答えて

25

git pullは、リモートブランチをフェッチしてマージします。

.gitignoreはローカルでのみ動作し、git statusに一致するエントリが表示されなくなり、git addでインデックスに追加されます。あなたが望むものではありません。

あなたがしたいことは、fetchリモートブランチであり、それから、必要なディレクトリ/ファイルを抽出します。

$ git fetch <remote> <branch> 
$ git checkout <remote>/<branch> -- relative/path/to/file/or/dir 

ファイル/ディレクトリがブランチにあり、インデックスに追加されるはずです。

+0

それはまさに私が必要としていたものでした。どうもありがとうございます! – Dan

+0

2行目で 'remove'または' remote'と言うべきでしょうか? –

+0

@ ing0ありがとう、それは誤植でした;) – c00kiemon5ter

関連する問題