* 检出一个已存在svn repository(类似于svn checkout)
我们可以通过git-svn clone命令完成这个操作: git-svn clone your_svn_repository_url
* 从中心服务器的svn repository获取最新更新
这个操作可以通过"git-svn rebase"完成。注意这里用的是rebase,而不是update。update命令对于通过git-svn检出的svn repostory的git版本库是不可用的。
* 查看提交历史日志
这个简单,使用"git-svn log",加上-v选项,还可以提供每次commit操作涉及的相关文件的详细信息。
* 将本地代码同步到Svn服务器
完成这一操作需要通过"git-svn dcommit"命令。这个命令会将你在本地使用git commit提交到本地代码库的所有更改逐一提交到svn库中。加上-n选项,则该命令不会真正执行commit到svn的操作,而是会显示会有哪些本地变动将被commit到svn服务器。git-svn dcommit似乎不能单独提交某个本地版本的修改,而是一次批量提交所有与svn中心版本库的差异。
下面是一个git-svn的一般使用流程:
1、git-svn clone your_svn_repository;
2、修改本地代码,使用git add/commit将修改提交到本地git库;
3、定期使用git-svn rebase获取中心svn repository的更新;
4、使用git-svn dcommit命令将本地git库的修改同步到中心svn库。
使用git-svn处理代码冲突的步骤有些繁琐,不过瑕不掩瑜吧。这里用一个小例子来说明一下。
假设某svn中心库上的某个项目foo中只有一个源码文件foo.c:
* 我在使用git-svn clone检出版本时,foo.c当时只有一个commit版本信息:"svn v1";
* clone出来后,我在本地git库中修改foo.c,并通过git commit提交到本地git库中,版本为"git v1";
* 不过与此同时另外一个同事也在修改foo.c这个文件,并已经将他的修改提交到了svn库中,版本为"svn v2";
* 此时我使用git-svn dcommit尝试提交我的改动,git-svn提示我:
Committing to svn://10.10.1.1:80/foo ...
M foo.c
事务过时: 过期: ”foo/foo.c“在事务“260-1” at /usr/lib/git-core/git-svn line 570
* 使用git-svn rebase获取svn服务器上的最新foo.c,导致与foo.c冲突,不过此时svn版本信息已经添加到本地git库中(通过git log可以查看),git-svn rebase提示你在解决foo.c的冲突后,运行git rebase --continue完成rebase操作;
* 打开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-svn 的用法 介绍git-svn 的用法 和使用场景
基本用法执行摘要: > cd path/to/svn/repo> gitify init执行本地更改并将它们提交到 git。 准备好推送您的更改时: > gitify push要使用上游更改更新您的工作目录: > gitify updategitify 会注意保持 git 和 svn ...
介绍是TFS(Team Foundation Server)和git之间的双向桥梁,类似于git-svn。 它将TFS提交提取到git存储库中,并允许您将更新推回TFS。 。 请参阅以了解详细信息并下载。 如果遇到问题,请查看页面。 在这样做之前,...
Git 到 wordpress 插件 svn pusher 轻松地将您的 wordpress 插件从 git repo 推送到 svn。 记住readme.txt和your_plugin.php ##用法 1.Clone this project 2.Clone your plugin git repo into `/git` folder 3...
安装Subclipse的最好方法是使用Eclipse Update Manager。在Eclipse 3.x中,它位于Help -> Software Updates -> Find and Install...菜单下。 选择搜索要安装的新功能部件,点击新建远程站点,弹出图1,在URl输入框...
git2svn提供git到svn的单向同步,基于代码,但做了一些改进,支持更多参数,bash同步脚本使用方法: ./git2svn.sh [-r git_revision] [-t type] [-u svn_user] [-p svn_password] [-l locale] <local> 其中:type参数...
clone-from-svn-to-git.sh-使用此脚本将WordPress插件从SVN克隆到git / github deploy-plugin.sh-使用此脚本将WordPress插件更新从git / github推送到SVN readme-converter.sh-使用此脚本在Github markdown和...
用法用法: sh deploy.wordpress.org.sh [plugin_file_with_header.php] [WordPress.org Username] [Update Readme Only: true|false]即: sh deploy.wordpress.org.sh index.php aubreypwd false下载脚本(右键另存...
WPRelease欢迎来到我们的 GitHub 存储库WPRelease 是一个简单的 Git 到 SVN 部署工具,适用于 WordPress 开发人员。 我们的意思是,它假定您可能想要使用的唯一 Subversion 存储库是 WordPress.org 插件存储库。 它...
使用命令行记录您的git操作 1.什么是Git? 您的团队有一个项目,团队中的每个成员都必须从事该项目。 就像这个人在编辑一些东西,添加几行代码。 手动地,当A先生进行一些修改时,必须通知整个小组。 A先生将把新...
26.1 使用 git-svn 的一般流程/ 380 26.2 git-svn 的奥秘/ 386 26.2.1 Git 库配置文件的扩展及分支映射/ 387 26.2.2 Git工作分支和 Subversion 如何对应/ 388 26.2.3 其他辅助文件/ 390 26.3 多样的 git-svn 克隆...
svn-all-fast-export aka svn2git 该项目包含将svn信息库(服务器端,而不是签出)转换为一个或多个git信息库所需的所有工具。 这是用于将KDE的Subversion转换为多个Git存储库的工具。 您可以在找到更多描述和用法...
svn与git代码控制的视频教学,录制的视频讲的很详细,也有些高级用法,适合开发人员使用。
(1)MyEclipse10.7.1 (32+64)下载和安装 (2)如何打开MyEclipse10的JS、HTML、Java等...? (3)对于MyEclipse10导出War包报错问题的解决方法 (4)关于MyEclipse插件git和svn的扩展 若没有积分的朋友,可私聊QQ 1355043929
用法 git diff [file|dir] > filename.diff diff2html path/to/filename.diff > filename.html 节点 var diffParser = require ( "svn-diff-parser" ) ; var diffFiles = diffParser . parse ( diffString ) ; ...
Subgeezer 是一个命令行工具,可以将 SVN 存储库转换为 Git。 除了转换存储库之外,您还可以提供-n选项,它会提示您将 SVN username转换为 Git Forename Surname 格式。 用法 subgeezer [-hnbr] svn_root_url git_...
本文从Git的历史,安装与配置开始介绍,全文包含基本用法、SVN转Git、协同开发、在线Web浏览等诸多方面,最重要的是,本文还详细列举了一些源自作者多年社区协作经验的技巧。文章最后给出了项目管理相关的一些开源...
本文来自csdn,文章主要介绍了在ubuntu14.04环境下git的基本使用方法,一个分支模型中,各个操作的流程和其对于开发过程的意义等。1、实际使用的是svn与git结合,没有单纯的使用svn或git,当然svn和git都是一套完整...
欢迎使用Git GIT对象模型 Git目录 与 工作目录 Git索引 2. 第一步 安装Git 安装与初始化 3. 基本用法 获得一个Git仓库 正常的工作流程 分支与合并@基础 查看历史 -Git日志 比较提交 - Git Diff 分布式的工作...
Git基础用法 1 一、 Git是什么 1 二、 SVN与Git的最主要的区别 1 三、 安装Git 2 1、 Windows下安装git 2 2、 mac下安装git 2 3、 linux下安装git 3 4、 安装成功后设置 3 四、 Git基础操作 4 1、 创建版本库 4 2、 ...