文章插图
Fossil 是一个集版本控制系统、bug 追踪、维基、论坛以及文档解决方案于一体的系统 。• 来源:linux.cn • 作者:Klaatu • 译者:Xiaobin.Liu •
(本文字数:5047,阅读时长大约:6 分钟)
每个开发者都知道,追踪代码的修改是至关重要的 。有时候你会处于好奇或者教育的目的需要展示你的项目开始和进化的历史 。有时候你想让其他的开发者参与到你的项目中,因此你需要一种值得信赖的能合并不同代码分支的方法 。更极端一点,有时候你为了解决一个问题而修改的代码导致已有的功能不能正常使用 。
Fossil 源码管理系统是由著名的 SQLite 数据库的作者开发的一个集版本控制系统、bug 追踪、维基、论坛以及文档解决方案于一体的系统 。
安装 FossilFossil 是一个独立的 C 程序,因此你可以从它的网站上 下载 后放在环境变量 PATH 中的任意位置 。例如,假定 /usr/local/bin 已经在你的环境变量中(默认情况下是在的):
$ wget https://fossil-scm.org/home/uv/fossil-linux-x64-X.Y.tar.gz$ sudo tar xvf fossil-linux-x64-X.Y.tar.gz --directory /usr/local/bin
你也可以通过包管理器从软件仓库中找到 Fossil,或者直接从源码编译 。创建一个 Fossil 仓库如果你已经有一个代码项目,想用 Fossil 来追踪,那么第一步就是创建一个 Fossil 仓库:
$ fossil init myproject.fossilproject-id: 010836ac6112fefb0b015702152d447c8c1d8604server-id: 54d837e9dc938ba1caa56d31b99c35a4c9627f44admin-user: klaatu (initial password is "14b605")
创建 Fossil 仓库的过程中会返回三行信息:一个唯一的项目 ID、一个唯一的服务器 ID 以及管理员 ID 和密码 。项目 ID 和服务器 ID 是版本数字 。管理员凭证表明你对这个仓库的所有权,当你把 Fossil 作为服务器让其他用户来访问时可以使用管理员权限 。Fossil 仓库工作流在你使用 Fossil 仓库之前,你需要先为它的数据创建一个工作路径 。你可以把这个过程类比为使用 Python 时创建一个虚拟环境或者解压一个只用来备份的 ZIP 文件 。
创建一个工作目录并进入:
$ mkdir myprojectdir$ cd myprojectdir
把你的 Fossil 打开到刚刚创建的目录:$ fossil open ../myprojectproject-name: <unnamed>repository: /home/klaatu/myprojectdir/../myprojectlocal-root: /home/klaatu/myprojectdir/config-db: /home/klaatu/.fossilproject-code: 010836ac6112fefb0b015702152d447c8c1d8604checkout: 9e6cd96dd675544c58a246520ad58cdd460d1559 2020-11-09 04:09:35 UTCtags: trunkcomment: initial empty check-in (user: klaatu)check-ins: 1
你可能注意到了,Fossil 在你的家目录下创建了一个名为 .fossil 的隐藏文件,用来追踪你的全局 Fossil 配置 。这个配置不是只适用于你的一个项目的;这个文件只会在你第一次使用 Fossil 时生成 。添加文件
使用 add 和 commit 子命令来向你的仓库添加文件 。例如,创建一个简单的 README 文件,把它添加到仓库:
$ echo "My first Fossil project" > README$ fossil add READMEADDED README$ fossil commit -m 'My first commit'New_Version: 2472a43acd11c93d08314e852dedfc6a476403695e44f47061607e4e90ad01aa
使用分支Fossil 仓库开始时默认使用的主分支名为 trunk 。当你想修改代码而又不影响主干代码时,你可以从 trunk 分支切走 。创建新分支需要使用 branch 子命令,这个命令需要两个参数:一个新分支的名字,一个新分支的基分支名字 。在本例中,只有一个分支 trunk,因此尝试创建一个名为 dev 的新分支:
$ fossil branch --helpUsage: fossil branch new BRANCH-NAME BASIS ?OPTIONS?$ fossil branch new dev trunkNew branch: cb90e9c6f23a9c98e0c3656d7e18d320fa52e666700b12b5ebbc4674a0703695
你已经创建了一个新分支,但是你当前所在的分支仍然是 trunk:$ fossil branch currenttrunk
使用 checkout 命令切换到你的新分支 dev:$ fossil checkout devdev
合并修改假设你在 dev 分支中添加了一个新文件,完成了测试,现在想把它合并到 trunk 。这个过程叫做
推荐阅读
- 宇宙中什么东西可以永远存在 在浩瀚的宇宙这一章中你了解到的新知识是什么
- 古代的银票是什么样的
- 赵国李牧被谁打败的
- 安华黑茶的功效与作用,起了解罗布麻茶的各种功效
- 蜀国灭亡,是不是诸葛亮造成的
- 省钱的CDN了解一下?
- 诸葛亮为什么对魏延有偏见
- 贾府是个怎样的大家庭
- 什么是MQ?什么是RabbitMQ?能做什么?简单理解一下?
- 小姐姐|盘点一下,那些工作中遇到的职场奇葩