从git仓库中拉出一个目录

时间:2012-04-12 13:08:04

标签: git git-pull git-checkout git-fetch

我有一个git repo,我想做一个拉动。我做了正常git pull没有问题。问题是我只想要一个特定的目录。我的想法是我可以使用.gitignore文件,其规则如下:

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

问题是这不起作用。这是正确的做法还是有更好的方式?

1 个答案:

答案 0 :(得分:33)

git pull获取并合并远程分支。

.gitignore仅在本地工作,并会隐藏匹配的条目,使其不会显示在git status上,并通过git add添加到索引中。这不是你想要的。

您想要做的是fetch远程分支,并从中提取您需要的目录/文件。

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

文件/目录现在应该在您的分支中并添加到索引中。