Git是一款分布式版本管理工具,由linux的缔造者Linus Torvalds设计并实现,具体关于Git的介绍和使用方法可参见其官方站。
这里要说的是Git是如何做到既可以管理好本地代码又可以与已有的SVN中心库进行同步的。

1、安装
git-svn默认包含在Git的安装包中,不过在Ubuntu中,git-svn是作为一个独立的Package需要额外安装的
sudo apt-get install git-svn
安装完成后可以直接执行git svn命令进行验证,但是要使用git-svn命令时则需要配置PATH环境变量,如下——
环境变量配置:
/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的临时文件,就写:

.*.swp

参考文档

http://techbase.kde.org/Development/Tutorials/Git/git-svn
http://flavio.castelli.name/howto_use_git_with_svn

git-svn 在ubuntu deepin(Linux debian系)下的安装与应用相关推荐

  1. Linux(Debian系)图形化安装惠普HP打印机驱动-亲测有效!新手友好

    Linux端的各种驱动安装是相当麻烦的,并且伴随着许多"玄学"问题.惠普打印机驱动安装,在官网推荐了hplip,依赖终端,无图形化,成功率低且下载极慢.对于新手或某些机型,相当不友 ...

  2. ubuntu deepin等debian系Linux发行版安装docker-ce命令

  3. linux文件安装DBeaver,[deepin][linux][DBeaver]DBeaver社区版安装好没有图标

    [deepin][linux][DBeaver]DBeaver社区版安装好没有图标 https://www.cnblogs.com/landv/p/13956926.html 修改 /usr/shar ...

  4. weblogic 64位 linux,weblogic在linux和window下的安装

    weblogic在linux和window下的安装 Windows server2008 一直下一步没什么坑 centos6.5 使用rpm安装jdk8 安装jdl rpm -ivh jdk-8u19 ...

  5. Linux(CentOS6.5)下编译安装Nginx1.10.1

    原文出自:http://www.cnblogs.com/comexchan/p/5815753.html Linux(CentOS6.5)下编译安装Nginx1.10.1 首先在特权账号(root)下 ...

  6. 深度linux系统和win7,国产操作系统Deepin Linux(深度系统)安装体验-深度win7

    Deepin Linux界面精美,新手易于操作,内置软件丰富,Deepin拥有自主设计的特色软件:深度软件中心.深度截图.深度音乐播放器和深度影音,全部使用自主的DeepinUI,Deepin是中国最 ...

  7. macos安装python3.6_在CentOS 7/Ubuntu 16.04/Debian 9/macOS上安装Python 3.6的方法

    本文介绍在CentOS 7/Ubuntu 16.04/Debian 9/macOS操作系统上安装Python 3.6的方法,包括使用Python 3.6创建virtualenv,目前大多数Linux发 ...

  8. Xp下的程序编译成linux,Windows XP下硬盘安装Linux系统

    作为一个Linux新手,第一次安装Linux系统,经过几个小时摸索,终于搞清楚在Windows XP系统下硬盘安装Linux系统的方法,跟大家共享. 第一步:在Window系统下必须存在两个分区(不妨 ...

  9. ubuntu系统python下载_ubuntu 下python安装及hello world

    //@desn:ubuntu 下python安装及hello world //@desn:码字不宜,转载请注明出处 //@author:张慧源 //@date:2018/08/17 环境准备:ubun ...

最新文章

  1. BP算法是从天上掉下来的吗?
  2. 现代软件工程 结对/团队作业 - 汉字的 2048 + 俄罗斯方块
  3. 亲戚(信息学奥赛一本通-T1346)
  4. Exception in thread “main“ java.lang.IllegalStateException: Failed to read 问题解决
  5. [转载] Flask+Celery+Redis简单操作
  6. python主流编程语言_目前主流的编程语言有哪些?
  7. 181027每日一句
  8. 简单使用WPE进行网页嗅探
  9. 破解校园数字安全难点,联想推出智慧教育安全体系
  10. 【安全热点】阿里巴巴月饼门,观点两极化,孰对孰错?
  11. Prolog:list处理(复习笔记)
  12. 深度学习 花书中的概念——百晓生知识处理库自动抽取
  13. 删除 文件夹出现0x80070091错误提示目录不是空的.txt
  14. 如何将数据存入mysql_怎样将数据存入mysql数据库
  15. Tp5自动加载创建admin和index文件夹
  16. SOLIDWORKS如何在工程图中直接更换图纸格式
  17. 使用lsof命令恢复已删除文件(正在使用的文件)
  18. Linux-hexdump命令调试event驱动—详解(13)
  19. 位图文件, JPG格式,PNG格式
  20. 小牛叔讲Python第8章:集合大家一起的快乐

热门文章

  1. AI理论知识基础(19)-线性变换(1)
  2. rust(34)-Rust and WebAssembly(2)
  3. C指针原理(8)-C内嵌汇编
  4. 21-5-22校赛G 自行车调度
  5. 特征对齐的旋转目标检测:Align Deep Features for Oriented Object Detection
  6. 【机器学习】从Few-shot Learning再次认识机器学习
  7. 【小白学PyTorch】16.TF2读取图片的方法
  8. 【经验分享】鹅厂机器学习岗暑期实习面经总结
  9. 技术实践 | 网易云信在融合通信场景下的探索和实践之 RTMPGateway 服务架构
  10. LeetCode_226.翻转二叉树