git 推送至svn使用步骤详解

一,配置svn 保存明文密码

这样,使用git推的时候,就不会每次询问密码了。

With recent versions of Subversion (~ 1.8) you can configure password caching via $HOME/.subversion/servers:

[global]
store-passwords = yes
store-plaintext-passwords = yes
But depending on your system this may be not enough. If it is not, make sure that $HOME/.subversion/config contains:

[auth]
password-stores =
Which means that the variable password-stores is explicitly set to the empty string (background is that svn now contains support for some key-agent tools - and the interfacing to the default configured ones may be fragile - resulting in silent ignoring of the above options and non-caching behaviour).
When using svn for the first time, the hierachy $HOME/.subversion is created after the first svn operation - e.g. when doing the first checkout. Subversion creates then the mentioned files and fills them with the most important options - commented out, including some documentation.
Thus, it also makes sense to move an old $HOME/.subversion directory away to have a well-defined starting point.
Another pitfall are permissions - i.e. files which are not readable under $HOME/.subversion - but this should not often be the problem, because when svn creates them, it takes care of the right permissions (e.g. the auth directory is only readable by the user then, not by the group/all, independent of the configured umask).

看了下, 修改过配置后,保存的密码是明文的,如:

┌─[sh4d0walker@HuangYe] - [~/.subversion/auth/svn.simple] - [Wed Jul 09, 02:46]
└─[$] <> cat 1902b28055f9b44a3128bef8bfcaf4fc
K 8
passtype
V 6
simple
K 8
password
V 8
pw123456
K 15
svn:realmstring
V 31
<svn://172.16.7.253:81> prj2014
K 8
username
V 6
abcdef
END

可以看到 ,这里有仓库地址, 用户名(abcdef) 和明文密码(pw123456)
K 和 V后面那个数字表示的是值的字符长度.

二, git 开始拉取svn仓库中的代码

git svn clone -s svn://172.16.7.253:81/prj2014/myprj/

注意最后面的/ 一定不能忘记了,不然没法clone. svn 就是这样,忍受下吧.
The -s is there to signify that my Subversion repository has a standard layout (trunk/, branches/, and tags/.) If your repository doesn’t have a standard layout, you can leave that off.
-s 参数表示使用的是svn标准命名方法,即 trunk,tags,branches,这个参数有时很重要,建议使用,命 令后面还可以加个文件夹名字作为clone后的目录

git svn fetch

可能碰到只想从某个版本开始进行fetch,那么请需要 –r 参数。 例如:

$ git svn fetch -r 1342:HEAD

本地修改代码后提交
这个跟没用svn时一样,不提.
同步远程svn 服务器

git svn rebase

我个人的理解就是,这里相当于svn里的svn up 命令.

Before committing back to Subversion, you will want to update to apply any new changes in the repository to your local Git repo.
This will download all new changesets from Subversion, apply them to the last checkout from Subversion, and then re-apply your local changes on top of that.
推送到远程svn服务器

When you’re ready to commit back to Subversion, execute:

git svn dcommit

日常修改和提交
与git的工作流程完全一样
为了方便合并,减少不必要的麻烦,最好保持主分支master不变,在一个新的分支进行日常工作
切回master从SVN获取最新代码

$ git checkout master
$ git svn rebase
master同步后,与工作分支合并
 
$ git checkout work
$ git rebase master     ## 手工解决可能的冲突
最后说下, git-svn初始化, 这个应该用得少。
 
git svn init SVNREMOTEURL

时间: 2024-08-22 15:22:39

git 推送至svn使用步骤详解的相关文章

微信小程序 消息推送php服务器验证实例详解

微信小程序 消息推送php服务器验证实例详解 微信文档(靠下有个"接入指引"):https://mp.weixin.qq.com/debug/wxadoc/dev/api/custommsg/callback_help.html 设置页面("设置">>"开发设置"): https://mp.weixin.qq.com/wxopen/initprofile?action=home&lang=zh_CN 1.设置服务器域名 比如:

linux git 推送空文件夹

/********************************************************************************* * linux git 推送空文件夹 * 说明: * 绝大多数时候是不需要推送空文件夹的,但是做文件系统的时候是需要,有些文件夹 * 是需要等系统跑起来才行. * * 2017-1-3 深圳 南山平山村 曾剑锋 *************************************************************

python搭建虚拟环境的步骤详解_python

前言 相信对于python开发人员来说,机器上有不同的python版本是很正常的,因为开发的项目有的用2.6或2.7,有的就要用3.0+版本,如何把这些不同的版本管理好,保持每个环境的干净和独立,方便不同版本之间的切换,这时候就要用到我们的虚拟环境了,所以今天我们就来看看python虚拟环境搭建工具pyenv的使用. 1.安装 git clone https://github.com/yyuu/pyenv.git ~/.pyenv echo 'export PYENV_ROOT="$HOME/.

第九篇Bootstrap导航菜单创建步骤详解_javascript技巧

创建一个标签式的导航菜单的步骤是:  •在ul标签上加上class  nav  •再ul标签上加上 class .nav-tabs. 在li标签上加上 active表示激活该项 <ul class="nav nav-tabs"> <li class="active"><a href="#">Home</a></li> <li><a href="#"&

搭建Tomcat 8源码开发环境的步骤详解_Tomcat

前言 最近在网上搜索了很多关于tomcat源码环境搭建的文章,发现按照文章的步骤,几乎都启动不了,于是自己尝试搭建,下面是搭建的方法. 基础环境搭建 1.下载tomcat源代码,我这里是通过svn的方式下载的,svn下载地址 2.下载安装maven工具,这里我就不多说了,安装说明太多了,自己网上找. 3.IDE,我这里使用idea 生成maven工程 我的代码本地目录是: /Users/helanzhou/Documents/helanzhou/java/Tomcat/tomcat8/tomca

php5.3.10的安装配置步骤详解

在linux中php安装配置与windows中有不小的区别了,在linux中几乎都是代码形式了,下面我们一起来看看php5.3.10的安装配置步骤详解,希望下文可帮助到各位. 下面以最新的php-5.3.10为例进行安装. wget http://cn.php.net/distributions/php-5.3.10.tar.gz tar -zxvf php-5.3.10.tar.gz cd php-5.3.10 ./configure --prefix=/usr/local/php --wit

115网盘怎么用 115网盘下载方法步骤详解

  115网盘怎么用呢?115网盘是大家都很喜欢使用的网络硬盘.下面,绿茶小乐哥就为大家带来115网盘下载方法步骤详解,感兴趣的就一起来看下吧. 115网盘是什么? 115网盘是目前流行的网络硬盘,和它属于同一类的还有百度云.360云盘和腾讯微云等,曾几何时人们主要是通过U盘转移数据,现在随着网盘兴起,大部分人都采用网盘存储数据.同传统硬盘和U盘相比,安全,便捷和免费是网盘的杀手锏特色.115网盘凭借出色的使用体验.高容量存储(2TB).丰富的功能.海量的资源和对所有主流离线下载方式的支持(你懂

mysql免安装版配置步骤详解

 这篇文章主要介绍了mysql免安装版配置步骤详解,提供了二个网友的安装方法,大家可以参考使用 1.准备工作   下载mysql的最新免安装版本mysql-noinstall-5.1.53-win32.zip,解压缩到相关目录,如:d: mysql-noinstall-5.1.53-win32.这个就是mysql的根目录了.   2.配置   在根目录下有几个文件如下:   my-small.ini (这是针对一个小内存(〈= 64MB)的系统,MySQL 只会被时不时地用一下,很重要的是 my

在docker中部署tomcat并且部署java应用程序的步骤详解_docker

先给大家简单说下Docker的概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. 1.先说如何在docker中部署tomcat 第一步:root用户登录在系统根目录下创建文件夹tomcat7,命令如:mkdir tomcat7,并且切换到该目录下:cd tomcat7: 第二步:创建Dockerfile,命令如:touch Docker