小编use*_*078的帖子

具有稀疏结帐功能的 Git 提交/推送/拉取

我昨天开始使用 Git,在此之前我已经使用 SVN 多年了。让我向您解释一下我到底想实现什么目标:

我有一个针对不同项目的主要 git 存储库。像这样的东西:

  • main_repo/proj1
  • main_repo/proj2
  • main_repo/proj3

我无法为这些子项目创建单独的存储库。现在我(或其他用户)应该能够在这些独立项目中签出/提交/推送/拉取。

为此,我尝试使用以下命令进行稀疏结帐:

  1. mkdir proj1; cd proj1
  2. git init
  3. git remote add origin https://main_repo
  4. git config core.sparsecheckout true
  5. echo "proj1/" > .git/info/sparse-checkout
  6. git 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 目录。所以我不明白如何在稀疏签出项目中进行提交/推/拉。

我希望我解释得很好。请建议。

git version-control sparse-checkout

6
推荐指数
1
解决办法
6099
查看次数

标签 统计

git ×1

sparse-checkout ×1

version-control ×1