现在平时用的都是SVN,感觉还是挺好用的。就是有的时候解决冲突的时候有点麻烦。但这样也是不可避免的。

今天看来下GIT,同样是版本控制,GIT的原理,和SVN还是不一样的。我个人的理解,SVN是对每个文件的前后版本进行比较。而GIT是对整体进行比较。

SVN每次提交都检查文件是否发生变化,如果变化,如果不冲突,则合并。如果冲突,则需要用户解决冲突。需要注意到是,SVN管理的版本,都集中在服务器上。而客户端并不能保证一定是最新的。

  GIT的则是分布式的版本控制工具。每次更新的时候,都会将服务器上的最新版本都COPY到本地。这样即使服务器挂掉,也可以保证本地版本是最新的。

另外GIT在提交的时候,显示提交到本地,如果需要提交到服务器,可以再提交到后台。

GIT可以有不同的分支,各个分支之间都没有影响。比如有个分支是发布分支,这个分支上的代码是可以正确编译并运行的代码。如果在这个分支上修改的话,则可能会到时BUG,显然会影响到软件的发布。GIT可以使用 另外 一个分支,用户

可以创建一个DEVELOPE分支,将发布分支上的代码COPY过去,然后在DEVELOPE分支上修改,让后确认可以,再将合并到发布分支上。

在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。已提交表示该文件已经被安全地保存在本地数据库 中了;已修改表示修改了某个文件,但还没有提交保存;已暂存表示把已修改的文件放在下次提交时要保存的清单中。

由此我们看到 Git 管理项目时,文件流转的三个工作区域:Git 的工作目录,暂存区域,以及本地仓库。

图 1-6. 工作目录,暂存区域,以及本地仓库

最新文章

  1. java多线程-线程创建
  2. Android M新特性之Behavior Changes
  3. nopcommerce商城系统--如何编写一个插件
  4. java web 的标准目录结构(zz)
  5. oracle通过透明网关连接mysql的配置
  6. std::map的操作:插入、修改、删除和遍历
  7. Codevs_1048_石子归并_(动态规划)
  8. React入门1
  9. Swift--基础(二)元组 断言 错误处理
  10. 有向强连通分支Tarjan算法
  11. 对于java用发送http请求,请求内容为xml格式
  12. C程序中引用自定义的C函数模块
  13. Excel更改单元格格式后无效
  14. km算法入门
  15. Object.prototype.toString.call(obj)使用方法以及原理
  16. RobotFramework环境配置:默认以管理员权限运行cmd
  17. so插件化
  18. ios真机调试错误解决:Installation of apps is prohibited by a policy on the device
  19. js模拟栈
  20. Django中模型层中ORM的多表操作

热门文章

  1. codeforces 436A. Feed with Candy 解题报告
  2. sublime text3的安装使用
  3. ETL的考虑
  4. Ubuntu 12.04 nethogs 流量监控查看
  5. 【JSOI 2014】序列维护
  6. codeforces round 421 div2 补题 CF 820 A-E
  7. .NETFramework:Encoding
  8. centos7安装xtrabackup
  9. Spring Boot 学习系列(序)—Spring Boot
  10. 51nod1163【贪心】