项目开发过程中总有一些奇奇怪怪的需求出现。
我们的项目管理是使用SVN的,用SVN是历史原因,无法整个项目向Git切换。由于我需要管理SVN,做一些代码合并工作。每次合并都会遇到SVN代码需要对比查看,检查代码。经常也需要自己对他们的代码做一些优化。中间优化版本也无法提交,优化多了也可能导致代码出错,感觉整个人都不好了。
所以现在使用SVN+Git协同工作的方式,感觉整个人都好多了。
方法:
先在svn目录中增加ignore属性
举例:svn/trunk/example目录
cd svn/trunk/example svn propedit svn:ignore ./ 打开了edit界面 .git .gitignore 保存退出
通过编辑svn的svn:ginore属性,让其忽略git管理所用的目录
在svn/trunk/example目录中,创建git仓
cd svn/trunk/example git init git co -b svn git add * git commit -m "Git init, the save version as svn-rxxxx"
这样,就可以有一个本地git存在了。
Git仓也可以有远程仓,远程仓的创建命令如下:
git init --bare svn-repo pushd svn-repos cd hooks cp post-update.simple post-update popd
使用ssh协议,将svn项目托管到远程仓上,
cd svn/trunk/example git remote add origin [email protected]:~/svn-repo git push origin svn:svn
由于使用了ssh协议,在此假定ssh目的服务器的用户名为git,服务器名为git-server(也可以用ip)。
通过以上操作,example已经同时托管在了svn和git上。这样就可以使SVN只做稳定版本存放服务器了。
时间: 2024-11-07 10:17:30