与众不同的Git

  • Git是分布式的版本控制系统(Distributed Version Control System),可以在完全没有网络的情况下进行使用。 而其它像subversion、cvs等则无法做到,这些系统在无法连接到中央服务器的时候是无法提交内容或无法修改文件内容的。

  • Git会为每个版本都创建整个项目的快照,而不像其它VCS一样进行文件的增量变更叠加。

  • Git的每个客户端都是会同步真个项目中的所有的文件版本到本地,这样做的好处就是很多的操作都不需要连接中央库,而且可以使用任一客户端的版本恢复损坏的中央库。

  • Git所有的数据都会进行哈希校验,从而防止了随意篡改文件内容的情况。甚至Git内部都不是使用文件名进行索引的,而是使用哈希值。

  • Git中存在与其他VCS系统不同的三种状态:

    **已提交(committed)**: 数据已经安全的 保存在本地数据库中。 
        
    **已修改(modified)**: 修改了文件,但还没保存到数据库中。 
        
    **已暂存(staged)**: 对一个已修改文件的当前 版本做了标记,使之包含在下次提交的快照中。
    
  • Git中存在三个工作区域:

    **Git 仓库目录**: Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆 仓库时,拷贝的就是这里的数据。
        
    **工作目录**: 对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘 上供你使用或修改。
        
    **暂存区域**: 一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作`‘索 引’',不过一般说法还是叫暂存区域。
    

Git的配置

我们可以通过git config进行配置, 配置信息分别保存在三个地方:

  • /etc/gitconfig(–system作用域的配置)
  • ~/.gitconfig(–global作用域的配置)
  • git仓库的.git/config(–local作用域的配置)

查看所有git配置项

git config --list

查看指定xxx配置项

git config xxx

更改git的配置项

git config --global xxx xxx

The End.


参考资料: