我想实现一种机制来跨多台机器同步文件。我并不特别关心超过1个月的文件,因此无需保留这些数据。
除了删除旧版本之外,Git似乎几乎完成了所有这些工作。是否有一个破坏性的命令让我说“杀死所有早于X的修订版”?或者,如果有另一个VCS工具我可以用来完成同样的事情,我会非常感兴趣。答案 0 :(得分:3)
你不需要自己实现。它已经完成:http://sparkleshare.org/
答案 1 :(得分:3)
答案 2 :(得分:1)
每当涉及同步时,git bundle
很有意思,因为:
然而,另一方的回购仍然会通过连续捆绑的拉动来所有提交。
关于增量捆绑,git bundle
man page:
<git-rev-list-args>
git rev-parse
和git rev-list
可接受的参数列表(包含命名参考,请参阅下面的SPECIFYING REFERENCES),它指定了特定对象和传输参考。
例如,master~10..master
导致当前主引用与自其第10个祖先提交以来添加的所有对象一起打包。
虽然可以使用像--since=30.days.ago master
这样的转发列表,但最好确保构建增量包,同时考虑最后一个包使用的最后一次提交(特别是如果最后一次提交超过30)如果它更新,那么你是否采取“太多”提交并不重要。