如何拉出位于外部git存储库

时间:2017-02-02 22:11:30

标签: git github version-control bitbucket git-pull

我正在尝试将我的git存储库中特定文件夹中的所有文件和文件夹拉出来。我已经尝试过使用sparce-checkout但这会拉出特定的文件夹。我希望它只能拉出文件夹中的文件。

我有一个名为/ EWINS /的文件夹,我希望拉出该目录中的每个文件夹和文件。

我试过了:

git init

git config core.sparseCheckout true

git remote add -f origin https://MYDIRECTORY

echo "EWINS/*" >> .git/info/sparse-checkout

git pull origin master

然而,这会导致文件夹EWINS被拉到我需要EWINS中的所有项目的地方。具体来说,我不想要EWINS文件夹,只需要其中的所有项目。

理论上我可以指定我想要的每一个文件,但是我会在每次添加需要管理的新项目时编辑脚本,这是不合适的。

我引用了:

How do I clone a subdirectory only of a Git repository?

http://lakehanne.github.io/git-sparse-checkout

任何帮助都将不胜感激。

示例:

我收到:

EWINS \ app.test,text.txt,note.pad

我想:

app.test,text.txt,note.pad

1 个答案:

答案 0 :(得分:1)

Git sparse checkout仍然使用工作树来恢复其内容。这意味着您将始终获得EWINS文件夹。

我的解决方法是在专用文件夹中执行此结帐,然后使用正确的文件夹进行镜像rsync(这将在Git仓库之外,而不是由Git管理)。