Git是一款分布式版本管理工具,由linux的缔造者Linus Torvalds设计并实现,具体关于Git的介绍和使用方法可参见其官方站。这里要说的是Git是如何做到既可以管理好本地代码又可以与已有的SVN中心库进行同步的。1、安装
git-svn默认包含在Git的安装包中,不过在Ubuntu中,git-svn是作为一个独立的Package需要额外安装的
sudo apt-get install git-svn
环境变量配置:
将/usr/lib/git-core配置到你的PATH环境变量中2、检出
git-svn clone命令完成这个操作
git-svn clone http://192.168.18.80/Mar/trunk检出分步操作:功能与上面步骤相同
建立本地目录, 比如假定是myproj
$mkdir myproj
$cd myproj初始化并获取某个版本
$git svn init http://192.168.18.80/Mar/trunk
$git svn fetch -r xxxxx
获取某个版本,假如不指定版本,它就会根据svn记录一级一级获取3、更新
git-svn rebase 注意这里用的是rebase,而不是update。4、查看日志
git-svn log
加上-v选项,还可以提供每次commit操作涉及的相关文件的详细信息。5、提交
将本地代码同步到Svn服务器。如果要同步到git服务器,用git命令
git-svn dcommit
这个命令会将你在本地使用git commit提交到本地代码库的所有更改逐一提交到svn库中。
加上-n选项,则该命令不会真正执行commit到svn的操作,而是会显示会有哪些本地变动将被commit到svn服务器。git-svn dcommit似乎不能单独提交某个本地版本的修改,而是一次批量提交所有与svn中心版本库的差异。6、解决冲突
例如冲突文件为foo.c
使用git-svn rebase获取svn服务器上的最新文件,导致冲突,
不过此时svn版本信息已经添加到本地git库中(通过git log可以查看)
打开foo.c,修改代码,解决冲突;
执行git rebase --continue,git提示我:
You must edit all merge conflicts and then
mark them as resolved using git add
执行git add foo.c,告知git已完成冲突解决;
再次执行git rebase --continue,提示"Applying: git v1",此时"git v1"版本又一次成功加入本地版本库,你可通过git log查看;
执行git-svn dcommit将foo.c的改动同步到svn中心库,到此算是完成一次冲突解决。
git比较智能,会提示你解决问题的方法,所以遇到问题时注意看提示文档。7、设置忽略文件要忽略某些文件, 需要首先执行如下命令:git config --global core.excludesfile ~/.gitignore然后编辑 vi ~/.gitignore. 例如: 需要忽略vim的临时文件,就写:.*.swpLinux top命令使用Ubuntu下构建内核源码树相关资讯 Ubuntu安装教程
- 平板电脑安装Ubuntu教程 (今 08:25)
- 给Ubuntu安装HTC样式的My Weather (12/24/2012 16:02:28)
- Ubuntu 通过 PPA 安装 Komodo Edit (12/03/2012 22:21:14)
| - Ubuntu安装软件提示“无法打开锁文 (01/14/2013 09:50:19)
- Ubuntu下如何用命令行运行deb安装 (12/23/2012 19:51:35)
- Ubuntu下安装壁纸切换工具Variety (11/29/2012 10:34:27)
|
本文评论 查看全部评论 (0)