我发现学习使用一门技术来做事是重要的,但更重要的是获得这个技术的思想。
如果说Windows和Mac OS 比,后者给我从体验上带来的思维转变一样,git 也同样将我从svn 中拉出来。
那现在来说git,因为内容其实不少,我也是在学习中,我想陆续一点一点的总结出来。
首先来说明几个问题:
- 我们知道git是分布式的版本控制工具,而svn则不是,区别在哪
a:git 把内容按元数据方式存储(比如暂存区,版本库,数据内容都是元数据形式),svn按文件,所有的资源控制系统都是
把文件的元信息隐藏在一个类似.svn,.cvs的文件夹里。
b:git 相比没有一个全局的版本号,而是强调分支。
c:git内容存储使用sha-1哈希算法。能确保代码内容的完整性,确保遇到磁盘故障和网络问题时降低对版本库的破坏。
git 工作流程
a: 克隆git 资源作为工作目录
b:在克隆的资源上添加或修改文件
c:如果其他人修改了呢,更新资源
d:检查冲突,解决冲突。
f.提交修改
g:如果发生错误,可以撤回提交并再次修改并提交。在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。