fossil的使用

1.导入导出

git ===> fossil

1git fast-export --all | fossil import --git newrepo.fossil

fossil ===> git

1git init newrepo
2cd newrepo
3fossil export --git ../repo.fossil | git fast-import

2.功能介绍

2.1迁出最新版本

1fossil open newrepo.fossil

该命令相当于迁出了最新的版本到本地,以下几个命令可以查看迁出版本的状态:

1fossil info
2fossil status
3fossil changes
4fossil diff
5fossil timeline
6fossil ls
7fossil branch

你可以将fossil迁出到不同的目录中,不过这样就有些太凌乱了……

2.2改变内容并提交

add,rm,addremove三个命令提供对文件的增加和删除操作;
commit 即可将其提交到版本库中(执行commit并不一定会push命令,具体需要设置异步状态。推荐关闭异步直接执行push)

2.3同步

1push和pull来和远程同步;sync命令是将pull和push组合起来的命令:
2fossil push URL
3fossil pull URL
4fossil sync URL

需要注意的是,从远程同步过来内容只是在版本库内,如果要迁出到本地的工作目录下,需要执行update命令:

1fossil update [VERSION]

2.4合并

1执行合并之前需要首先将要合并的的分支(目标分支)更新,之后执行merge命令,例如要把dev分支合并到master分支:
2
3fossil updata master
4fossil merge dev
5fossil commit

2.5自建一个github?

1fossil 一个很吸引人的地方就是它自带的wiki、bug追踪、用户管理等功能。只需要一个简单的命令你就拥有了一个类似github的个人项目主页:
2fossil ui repo-name
3fossil server repo-name

3.使用实例

3.1新建一个项目:

1fossil new test.fossil

3.2打开版本库

fossil是可以将版本库和工作库分开在不同的目录下。此处我们采用在版本库同级目录下新建一个workspace文件夹来存放工作文件:

1mkdir workspace
2cd workspace
3workspace>fossil open ../test.fossil
4
5执行完open方法后会在目录下多出一个_FOSSIL_(windows)或者.fossil((L)Unix)文件用来记录工作库的状态。

3.3添加文件

 1随便在目录下增加一个文件,比如version.txt。写入文字信息后将其添加到版本管理中:
 2
 3fossil add .
 4
 5执行:`fossil status` 即可看到当前工作库的相关状态:
 6
 7repository:   D:/soft/fossil/test/workspace/../test.fossil
 8local-root:   D:/soft/fossil/test/workspace/
 9config-db:    C:/Users/Administrator/AppData/Local/_fossil
10checkout:     95121ec85a5ac89b574778b064c77c9fa34eb122 2014-01-08 02:33:28 UTC
11tags:         trunk
12comment:      initial empty check-in (user: Administrator)
13ADDED      version.txt

3.4提交

1fossil commit -m "version 1"

执行后就将本地更改的内容提交到版本库中。

3.5关闭

1fossil close

关闭是和打开对应的。打开是将版本库内的内容迁出到本地库,同时构建一个FOSSIL文件来维护版本库和工作库直接的关系;
而关闭则是去除版本库和工作库直接的联系(即删除FOSSIL文件),但是保留本地工作库中的文件。
如果再下次再次open版本库内容到当前工作目录时,会提示是否覆盖原内容,就和普通的复制粘贴一样。

3.6通过web页面查看

1fossil ui ../test.fossil

执行完命令后会打开你的默认浏览器,并将当前项目的信息显示在浏览器中。
需要注意的是,我们提交到版本库内的代码、文本的编码最好是UTF-8,否则在web页面中查看时遇到中文等字符时会是乱码。
不过,如果不更改编码也可以,在版本控制器内的代码可以是任意你迁出到本地支持的编码。

Powered by Engin & jekyll

comments powered by Disqus