之前的项目都是使用
SVN,今天在
git-
svn上工作时,出了一点问题,记录一下,以便将来查询。
使用过程:
1、从
svn clone出项目,加上-s参数以标记识别
svn标准的目录分支结构,同时通过show-ignore设置
git库的exclude属性:
- gitsvnclone-shttps:
- gitsvnshow-ignore>>.git/info/exclude
git svn clone -s https://svn.xxx.com/svn/xxx
git svn show-ignore >> .git/info/exclude
2、建立本地工作分支,开始工作:
git checkout -b work
修改内容直接commit,加上-a开头以省略
git add操作:
git commit -a
3、提交回
svn的过程:
- gitcheckoutmaster
- gitmergework
- gitsvnrebase
- gitsvndcommit
git checkout master
git merge work
git svn rebase
git svn dcommit
在今天工作中,我提交回
svn的方式是:
- gitcheckoutmaster
- gitsvnrebase
- gitmergework
git checkout master
git svn rebase
git merge work
结果
svn rebase时在master分支上产生了一个新的node,这样merge时就不能快速合并,出现了冲突,修复后,在dcommit时出错,出现N个孤立节点。因为不熟悉,就checkout出work分支,进行了dcommit,然后重新生成一次
git库。
(7/14更新) 今天解决了这个问题,参考以下网址:
https://wiki.bnl.gov/dayabay/index.php?title=Synchronizing_Repositories。
以下重新描述一下问题和解决方法:
1、在执行
git svn dcommit时,出现如下错误:
Committing to https://
svn.xxx.com/
svn/projects/trunk ...
提交时发生合并冲突: 您的文件或目录”test/functional/xxx_controller_test.rb“可能已经过时: The version resource does not correspond to the resource within the transaction. Either the requested version resource is out of date (needs to be updated), or the requested version resource is newer than the transaction root (restart the commit). at /usr/bin/
git-
svn line 450
2、这时,重新执行以下步骤即可:
- gitsvnfetch
- gitsvnrebase
- gitsvndcommit
git svn fetch
git svn rebase
git svn dcommit
但我在执行
git svn rebase时,又出现冲突,这个时候,只需要手工合并掉冲突,并重新add一下:
git add .
然后,再执行:
git rebase --continue
如果报告说没有修改内容,则换成执行:
git rebase --skip
完成rebase过程,这时就可以
git svn dcommit了。
这样,总算解决了
svn历史冲突问题,不用象前面那样笨笨的重新
git-
svn clone.
分享到:
相关推荐
git-svn 的用法 介绍git-svn 的用法 和使用场景
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
git-as-svn 是 Git 仓库的 SVN 前端,你可以使用 SVN 协议来访问 Git 仓库 标签:gitassvn
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
Git-SVN面试题,都是来自工作中的笔记
git-svn-helpers 是一个命令行工具的集合,它极大地简化了 git for svn 存储库的使用。 它的主要目标是在现有的 svn checkout 之后设置一个本地 git 存储库,“无需动脑筋”。 它还解决了使用单个 git-svn 存储库...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
svn+git实现离线提交并且不需要到处所有svn版本,速度超快非一般的感觉,超越git本身的git2svn功能。 使用本工具需要安装基础工具: 首先安装git msysgit:https://code.google.com/p/msysgit/downloads/list msysgit...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
现在使用git的比svn多了,但是git操作比svn复杂,上传git和svn的简单教程
Git-2.11.1-64-bit 和 TortoiseGit-2.4.0.0-64bit,适用于使用Git有服务器仓库,把写好代码放入Git仓库,使用SVNGit上传更新等,使用Git仓库的好处就在于,你在家里也是可以上传更新的,只要账号密码正确就可以了,...
2020最新git,svn安装包,希望大家支持,5分不贵,谢谢,官网的,最新的.up,up,up,go,go,go 良心,下载速度很快!!
并记住: 解决问题的最快方法是提交可解决问题的PR。 修复此问题的最慢方法是希望其他人将其修复。获取git-tfs 要获得稳定版本: 下载二进制文件。 在上找到它, 使用巧克力味。 如果您的计算机上已经安装了 ,请...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
5、Git的分支和合并:分支模型是Git最显著的特点,因为这改变了开发者的开发模式,SVN等版本控制工具将每个分支都要放在不同的目录中,Git可以在同一个目录中切换不同的分支。 6、分支即时性:创建和切换分支几乎...
官方离线安装包,亲测可用
svn git 使用注意事项
将2017最新的eclipse、jdk、tomcat、maven、git、svn、spring等插件都集成到工具中,无需安装全部绿色版,内部都是相对路径,在使用前看一下说明,只需要设置一下maven本地库路径,常用的maven本库已经下载,经过...