Git - 如何在不克隆的情况下将新文件推送到主文件



我陷入了一个奇怪的困境。我要克隆的存储库太大,因此我一直在使用稀疏签出来获取所需的特定文件和文件夹。以下是我遵循的说明:是否可以在不先签出整个存储库的情况下进行稀疏签出?

一个例子:我能够从存储库中签出文件夹 1 和文件夹 2。

Repository   
--> Folder1
--> Folder2

我现在需要将一个包含文件的新文件夹保存到存储库中。最好的方法是什么?

它的结构必须如下:

    Repository   
    --> Folder1
    --> Folder2
    --> NewFolder

我正在解决这个问题,因为我认为向您展示我的建议会有所帮助,以便您可以在我不理解您时告诉我。

我要克隆的存储库太大,因此我一直在使用稀疏签出来获取所需的特定文件和文件夹。

请注意,稀疏结帐只能部分有助于解决此问题!稀疏签出仅控制工作树中显示的内容;您仍在克隆整个存储库。

一个例子:我能够从存储库中签出文件夹 1 和文件夹 2。

我假设您的意思是您对这两个文件夹进行了稀疏检查:

$ git clone --no-checkout https://git.example.com/myrepository
$ cd myrepository
$ git config core.sparseCheckout true
$ echo -e 'Folder1nFolder2' > .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'

最新更新