我昨天开始使用 Git,在此之前我已经使用 SVN 多年了。让我向您解释一下我到底想实现什么目标:
我有一个针对不同项目的主要 git 存储库。像这样的东西:
我无法为这些子项目创建单独的存储库。现在我(或其他用户)应该能够在这些独立项目中签出/提交/推送/拉取。
为此,我尝试使用以下命令进行稀疏结帐:
mkdir proj1; cd proj1git initgit remote add origin https://main_repogit config core.sparsecheckout trueecho "proj1/" > .git/info/sparse-checkoutgit pull origin master现在我需要的是获取 proj1 中同一当前目录中存在的所有文件。我得到的是这样的:
/proj1/proj1/files_and_dirs_in_proj1
Run Code Online (Sandbox Code Playgroud)
我需要的:
/proj1/files_and_dirs_in_proj1
Run Code Online (Sandbox Code Playgroud)
其次,checkout-dir 的行为不像 git repo。它不带有任何 .git 目录。所以我不明白如何在稀疏签出项目中进行提交/推/拉。
我希望我解释得很好。请建议。