2

我知道存储历史记录更适合为 vcs 保留,我知道 git 允许克隆的不是完整的历史日志,但是:

  • 恐怕 GitHub 空间有限(主要原因)
  • 它是通过脚本自动提交处理
  • 我只对历史上最近 10 或 5 次提交感兴趣
  • 服务器空间可能有限

然而我不能完全理解为什么我想要它,但我尝试了一下:我想分叉这个(自动化的)存储库并使用 git merge (是的,作为一个工具)来处理它并让自己与上游保持更新。所以在这种情况下,我将正确使用 git。理想情况下,我必须在没有这个自动化上游存储库的情况下做出“git merge”所做的事情,但这是另一项任务。

目前我只发现了一种使用 git rebase 清除所有历史记录的棘手方法

git checkout --orphan temp $1
git commit -m "Truncated history"
git rebase --onto temp $1 origin/master
git checkout master
git branch -D temp

但这既复杂又无用,创建新存储库并直接在那里推送文件更容易。所以需要一些东西来保持 git 存储库的历史很小。

4

1 回答 1

3

你这样做是非常错误的。

VCS可帮助您保留代码的历史记录、合并编码人员的工作、管理分支、检索旧版本、查找错误的根源、测试新策略等等。它在备份代码方面也很有用,但这远非它的唯一功能。

您似乎只是对将 git 作为保存最近工作的工具感兴趣。这根本不是 git 所致力于的。

你的论点是无效的。如果你只在 git 中存储你的代码(以及参数化和小资源),你就不会冒 github 存储空间或任何类型的服务器空间爆炸的风险。我在git上有很多项目,有很多编码员,占用的空间可以忽略不计。您不应该仅仅为了节省空间而尝试擦除历史记录。

如果你正在编码,正常使用 git,尊重它的最佳实践,你不会后悔,因为它是一个非常有价值的工具。

于 2012-06-20T06:44:39.887 回答