zoukankan      html  css  js  c++  java
  • svn git协同管理

    项目开发过程中总有一些奇奇怪怪的需求出现。

    我们的项目管理是使用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 git@git-server:~/svn-repo
    git push origin svn:svn
    

    由于使用了ssh协议,在此假定ssh目的服务器的用户名为git,服务器名为git-server(也可以用ip)。

    通过以上操作,example已经同时托管在了svn和git上。这样就可以使SVN只做稳定版本存放服务器了。

  • 相关阅读:
    数据绑定(八)使用Binding的RelativeSource
    你是程序猿这块料吗?
    创建与删除索引
    Verilog分频器
    mysql触发器的作用及语法
    QoS令牌桶工作原理
    Android 开发新方向 Android Wear ——概述
    程序猿接私活经验总结,来自csdn论坛语录
    [Node.js]27. Level 5: URL Building & Doing the Request
    [Node.js]26. Level 5 : Route rendering
  • 原文地址:https://www.cnblogs.com/elta/p/work_with_git_and_svn.html
Copyright © 2011-2022 走看看