我知道存储历史记录最好保留在 vcs 中,并且我知道 git 允许克隆不完整的历史记录日志,但是:
- 恐怕 GitHub 空间有限(主要原因)
- 它是通过脚本自动提交处理
- 我只对历史上最后 10 或 5 次提交感兴趣
- 服务器空间可能有限
然而,我无法完全理解为什么我想要它,但我尝试一下:我想 fork 这个(自动)存储库并使用 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 存储库历史记录较小。
最佳答案
你的做法是非常错误的。
一个VCS帮助您保留代码的历史记录、 merge 编码器的工作、管理分支、检索旧版本、查找错误的根源、测试新策略等等。它对于备份代码也很有用,但这远不是它的唯一功能。
您似乎只是对 git 作为保存最近工作的工具感兴趣。这根本不是 git 致力于做的事情。
你的论点无效。如果您仅将代码(以及参数化和小型资源)存储在 git 中,则不会面临 github 存储空间或任何类型的服务器空间爆炸的风险。我在git上有很多项目,有很多编码员,占用的空间可以忽略不计。您不应该仅仅为了节省空间而尝试删除历史记录。
如果您正在编码,正常使用 git,尊重其最佳实践,您不会后悔,因为它是一个非常有值(value)的工具。
关于git - 保持存储库历史记录较小的最明智的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11114027/