对现有Git存储库进行稀疏签出?
我已将GIT存储库克隆到对现有Git存储库进行稀疏签出?,git,cygwin,Git,Cygwin,我已将GIT存储库克隆到~/myrepo.GIT 存储库包含数百个目录 我想创建几个“项目”,它们只包含可用目录的一小部分,如下所示: ~/project1/dirA /dirB /dirC ~/project2/dirD /dirE /dirF 为了使它正常工作,我需要执行哪些Git命令 我知道我需要做一些配置: git config core.sparseCheckout true 然后我需要修改稀疏签出文件
~/myrepo.GIT
存储库包含数百个目录 我想创建几个“项目”,它们只包含可用目录的一小部分,如下所示:
~/project1/dirA
/dirB
/dirC
~/project2/dirD
/dirE
/dirF
为了使它正常工作,我需要执行哪些Git命令
我知道我需要做一些配置:git config core.sparseCheckout true
然后我需要修改稀疏签出
文件:
echo "/dirA" >> .git/info/sparse-checkout
echo "/dirB" >> .git/info/sparse-checkout
echo "/dirC" >> .git/info/sparse-checkout
接下来是什么?
git签出主机
?
git pull
?
是否缺少任何步骤
我使用的是
cygwin
命令行Git,我想做一个bash脚本来自动创建这种项目 我认为您弄错了稀疏签出的工作方式:您不能首先克隆远程,因为它将从远程下载所有内容。相反,您必须:
.git/info/sparse checkout
文件以选择子目录git远程添加源…
请注意,如果您想创建一个只包含目录子集的新git repo,您要查找的命令是
git filter branch--subdirectory filter
我认为您弄错了稀疏签出的工作方式:您不能首先克隆远程,因为它将从远程下载所有内容。相反,您必须:
.git/info/sparse checkout
文件以选择子目录git远程添加源…
请注意,如果您想创建一个只包含目录子集的新git repo,您要查找的命令是
git filter branch--subdirectory filter
请注意,您可以使用git clone--no checkout
,使用现有克隆作为origin
或使用上游URL作为origin
,但使用--reference
指向现有克隆,以避免在本地复制包文件。将git init
和git remote add
替换为git clone--no checkout
。这使您有机会在运行git checkout
步骤之前编辑.git/info/sparse checkout
。请注意,您可以使用git clone--no checkout
执行此操作,使用现有克隆作为origin
或使用上游URL作为origin
,但使用--reference
指向现有克隆,以避免在本地复制包文件。将git init
和git remote add
替换为git clone--no checkout
。这使您有机会在运行git checkout
步骤之前编辑.git/info/sparse checkout
。