【问题标题】:svn vs git shallow (sparse) checkout - branching, commitsvn vs git shallow (sparse) checkout - 分支,提交
【发布时间】:2012-06-28 04:21:52
【问题描述】:

我有一个非常大的 Web 项目,其中包含大量 pdf、图像、php 文件。我将文件作为单个项目导入 svn。我正在使用 svn shallow checkout 来检出子树的一部分,然后使用工作副本中的分支和标签等来节省空间并加快检出时间。

我想知道这是否可以使用 git。我读到 git 不允许您在进行稀疏结帐后提交或分支。新的 git 版本仍然如此吗?

【问题讨论】:

标签: git svn


【解决方案1】:

使用以下命令,我能够从位于 git://github.com/git/git.git 的 git 存储库中仅签出 Documentation/ 目录:

git init
git remote add -f github-git git://github.com/git/git.git
git config core.sparsecheckout true
echo Documentation/ >> .git/info/sparse-checkout
git pull github-git master

git documentation 没有说明无法提交新更改,因此听起来应该可以正常工作。事实上,我对此进行了测试,并且可以确认在进行稀疏结帐后我能够提交新的更改。

(我使用的是 git 版本 1.7.0.4)

【讨论】:

  • 不,它没有按预期工作。它正在拉动 .git/object 中的所有内容。我看不到使用稀疏结帐与常规结帐相比可以节省多少空间。在 svn 中,我可以执行 'svn co file:///repos/proj/trunk/templates-1.0 templates-1.0 --depth immediates' 并只提取我感兴趣的子树,而无需任何额外费用。
猜你喜欢
  • 2021-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-25
  • 2010-11-22
  • 2020-08-26
  • 2014-09-08
相关资源
最近更新 更多