我处在一个奇怪的困境中。我想要克隆的存储库太大,所以我一直在使用稀疏结账来获取我需要的特定文件和文件夹。以下是我执行此操作的说明:Is it possible to do a sparse checkout without checking out the whole repository first?。
一个例子:我能够从存储库中签出文件夹1和文件夹2。
Repository
--> Folder1
--> Folder2
我现在需要将带有文件的新文件夹保存到存储库中。做这个的最好方式是什么?
它的结构必须如下:
Repository
--> Folder1
--> Folder2
--> NewFolder
答案 0 :(得分:2)
我正在回答这个问题,因为我认为这有助于我向你展示我的建议,以便你可以告诉我,如果我不理解你。
我想要克隆的存储库太大,所以我一直在使用稀疏检查来获取我需要的特定文件和文件夹。
请注意,只有部分的稀疏结帐有助于解决此问题!稀疏结账仅控制工作树中显示的内容;你还在克隆整个存储库。
一个例子:我能够从存储库中签出文件夹1和文件夹2。
我认为你的意思是你已经对这两个文件夹进行了稀疏检查:
$ git clone --no-checkout https://git.example.com/myrepository
$ cd myrepository
$ git config core.sparseCheckout true
$ echo -e 'Folder1\nFolder2' > .git/info/sparse-checkout
$ git checkout master
这样你的工作目录就像:
$ ls
Folder1 Folder2
您想要创建一个新文件夹。您只需添加并填充文件夹即可完成此操作:
$ mkdir newfolder
$ echo 'Hello world' > newfolder/newfile
$ git add newfolder
$ git commit -m 'added a new folder'