我是一个对Fossil(或其他版本控制系统)完全陌生的新手。之前用过一种专有的版本控制系统,但从未自己设置过。
目前,我想要设置一个这样的系统,以便我和我的朋友可以用于一个项目。
我选择Fossil主要是因为分布式似乎是一个好的选择,它看起来很轻量,并且包含了一个错误跟踪器。但Git似乎是许多人喜欢使用的SCM。选择Git+某个BugTracker是否值得增加复杂性而不是选择Fossil?是否有更好的替代方案?我将不得不从零开始学习所有内容。
我是一个对Fossil(或其他版本控制系统)完全陌生的新手。之前用过一种专有的版本控制系统,但从未自己设置过。
目前,我想要设置一个这样的系统,以便我和我的朋友可以用于一个项目。
我选择Fossil主要是因为分布式似乎是一个好的选择,它看起来很轻量,并且包含了一个错误跟踪器。但Git似乎是许多人喜欢使用的SCM。选择Git+某个BugTracker是否值得增加复杂性而不是选择Fossil?是否有更好的替代方案?我将不得不从零开始学习所有内容。
这只是一些想法,没有组织。
如果你的朋友们已经习惯了使用Git,Git是一个好的、健壮的分布式版本控制系统,有很多优秀的托管服务可用,比如Github或Gitorious。
然而,Git的概念并不容易理解。Fossil具有类似的概念,但可能更容易上手(没有暂存区,没有索引的概念,使用revert
而不是reset
或checkout
撤消最后一次提交的更改等)。Fossil没有大量的子命令和众多选项,在帮助文档中表述简洁明了。如果你担心会迷失方向,可以选择Fossil。当然,这也意味着使用Fossil无法像Git那样做许多事情(例如没有rebase,至少目前还没有)。
关于Fossil,有一些在线托管服务可用(请参见此处)。与Git一样,配置一个服务器来运行Fossil非常容易。
此外,使用Fossil,项目历史记录存储在单个文件中,因此我发现备份所有项目非常容易:将所有存储库放在同一个文件夹中,并进行单个rsync任务。然而,这使得增量备份完全无用。
而使用git
,在不同文件夹中的同一项目上工作两个分支将意味着在两个不同的.git/objects
目录中拥有该项目历史记录和分支的两个副本,这可能是冗余且庞大的,而使用Fossil则是默认情况下只有一个存储库,以及连接到它的一个或多个工作目录。如果磁盘使用非常重要,这可能很重要。
请注意,Fossil bug跟踪器(行业术语中的票务系统)和wiki相当基本(虽然它们都能正常工作)。
sqlite3 dump ...
并在备份转储文件之后备份。而Git的备份并不是那么困难:您只需使用Git本身来完成此任务。此外,如果需要高级解决方案,则gitolite v3实现了主/从复制推送。 - kostixgit bundle
创建备份。请参考此问题(及答案):https://dev59.com/Y2XWa4cB1Zd3GeqPLUh5#11163038 - shytikovrepo.fossil
文件。与Git相比,即使他们在同一台计算机上,也必须将更改推送给彼此。 - Warren Young