zoukankan      html  css  js  c++  java
  • git与svn的使用比较

    先说下基础知识:

    git是本地会(维护)有个版本仓库。

    svn本地也会维护一个自己的信息(一般是目录结构和文件状态的信息),这里的文件状态一般是指:文件是已删除,还是已添加,还是被修改等等。一般是会有一个隐藏的.svn目录来保存这些信息的。

    比如需要删除一个目录或者文件的时候

    svn需要这样做:

    svn rm --force [dir/file]

    然后再svn commit,远程的版本库的对应文件或者目录才会被删除

    如果是以下这样的话,就会出错:

     rm -rf [dir/file]

    然后再svn commit,会出错,因为隐藏的针对要删除的目录信息和文件状态记录没有被删除,然后commit的时候svn还是会认为要把已经删除了的目录或文件还要提交,然后本地又找不到真正的文件或目录,就发生错误了

    git需要这样做:

    git rm [dir/file]

    git commit    本地版本库的对应应文件或者目录被删除

    git push ,远程的版本库的对应文件或者目录才会被删除,因为远程版本库是与本地版本库同步的

    比如需要创建一个目录或者文件的时候:

    svn需要这样做:

    svn mkdir [dir]

    svn commit 远程的版本库的对应目录才会被创建

    git 需要这样做:

    mkdir [dir]

    git add .

    git commit

    git push

  • 相关阅读:
    设计模式03
    设计模式02
    设计模式01
    HTTP
    C++ 编程学习(六) 函数
    C++编程学习(五) C++ 存储类
    C++编程学习(四)声明/枚举
    ROS常见问题(一) 安装ROS时sudo rosdep init指令报错 最全解决方法
    ROS常用命令或经常碰到的问题
    Ubuntu16.04 在Windows10 系统下的安装(双系统)
  • 原文地址:https://www.cnblogs.com/foohack/p/4026050.html
Copyright © 2011-2022 走看看