svn git 协同
本文实现:远端svn仓库、本地git仓库、远端git仓库、三个仓库之间的同步
1、克隆远端svn仓库
将svn远端仓库代码克隆到本地仓库
git svn clone --stdlayout --no-metadata -A authors.txt -r 5769:HEAD svn地址
2、参数解释
–no-metadata :SVN与GIT同步时,请不用使用,使用之后无法更新svn代码
–stdlayout :标准的地址可使用:结构如下:
注: svn 路径在 …/trunk/下 请不要使用该参数
-A 文件自动从svn导出:(当前地址的全部用户)
java -jar svn-migration-scripts.jar authors svn地址 > authors.txt
修改格式:svn账号名称 = git账号名称 (可多个)
chenwm = chenwm 2273024643@qq.com
3、添加git远端参库
cd 到含.git目录下, 添加远端地址(空库)
git remote add origin http://192.168.1.113:5516/nancy/wechat_git-svn.git
4、推送本地仓库代码到git远端仓库
推送本地到远端git
git push -u origin
5、仓库同步
5.1 更新svn远端代码
1)查看分支:
master :默认为svn仓库
remotes/git-svn :svn远端仓库
remotes/origin/master : git远端仓库
2)更新svn所有分支代码:
git svn fetch
3)更新svn当前分支代码
git svn rebase
5.2、svn远端代码同步到git远端仓库
git svn rebase
更新来自 svn远端仓库的最新代码
git push origin master
推送更新(svn更新部分)到git远端仓库
5.3、更新git远端仓库代码到本地仓库
git pull origin master
5.4、本地代码提交到svn远端仓库
git svn dcommit
5.5、提交本地修改代码到本地仓库
git add .
git commit -m '提交信息'
6、总结
本地仓库从远程git仓库获取更新: git pull origin master
本地仓库向远程git仓库推送提交: git push origin master
本地仓库从svn仓库获取更新: git svn rebase
本地仓库向svn仓库提交推送: git svn dcommit
声明
1)文章来源于项目实践,存在任何疑问,请留言,感谢您的阅读!谢谢
2)转载请标注来源,谢谢!