我正在尝试将我的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
答案 0 :(得分:1)
Git sparse checkout仍然使用工作树来恢复其内容。这意味着您将始终获得EWINS
文件夹。
我的解决方法是在专用文件夹中执行此结帐,然后使用正确的文件夹进行镜像rsync(这将在Git仓库之外,而不是由Git管理)。