git之工作应用

我相信很多小伙伴之前在工作中只用过svn,但是没用过git来管理代码。小编很有幸的在现在公司参加了git培训,而且是工作中的应用.

git与svn的不同之处

1. git是一个分布式的仓库管理工具, 每一个用户都有自己的本地仓库, 并不像svn,自有一个中央仓库.
2. GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏.
3. GIT分支和SVN的分支不同:
分支在SVN中一点不特别,就是版本库中的另外的一个目录。如果你 想知道是否合并了一个分支,你需要手工运行像这样的命令svn propget svn:mergeinfo,来确认代码是否被合并。感谢Ben同学指出这个特征。所以,经常会发生有些分支被遗漏的情况。
4. 2.GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。因为,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。然而,处理GIT的分支却是相当的简单和有趣。你可以从同一个工作目录下快速的在几个分支间切换。你很容易发现未被合并的分支,你能简单而快捷的合并这些文件。

结构分析上,如下图所示:
svn结构图
git结构图

git的基本操作

clone: 从私有仓库中,拷贝一份代码在本地仓库中。作为自己的本地仓库.
pull: 更新操作。
push: 提交本地仓库中的代码到私有仓库。
commit: 缓存区提交到本地仓库。
commit add: 如果修改的地方是添加操作, 比如添加文件,缓存区提交到本地仓库。
clear : 清空缓存区中的代码。
merge: 分支合并操作。
fork: 创建一个私有仓库。
pr:(poll request) 从某个分支更新到另外一个分支的操作。

实际应用

在我们公司, 我们有集中库、私有库、本地库 3个层级。

  • 集中库
    producation(基线)
    hotfix(重大问题修复线)
    release(发布版本线)
    master(主线)
  • 私有库
    hotfix
    release
    master
    topic(开发线)
  • 本地库
    hotfix
    release
    master
    topic

总结

相对svn来说, git使用比较复杂一点。但是它却是一个很灵活的一个代码管理工具, 就算没有了集中库, 同事与同事之间也可以进行代码的管理。这就是分布式管理的一个好处, 自己就是一个独立的库,有点像“去中心化”思想,学会使用git来进行项目的开发, 还是不错的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值