Git入门介绍


相信数人和我一样对Git是久有耳闻,了解一些,但却没有实际的操作经验, 多次尝试却不能窥其门径。

最近因项目原因,强制使用了Git,突然豁然开朗。记录此文,以飨各类git小白爱好者。


Git与SVN的区别


第一点:也是最最重要的一点:Git是分布式,而SVN是集中式存储

换句话说,你从Git中clone出来的也是一个仓库,你可以离线commit,做任何操作。
尤其是当你在家或者出差,或者没有网络环境时,你可以查看提交记录而无需去服务器获取信息。
当有了网络之后,再利用push命令将本地仓库推送到远端仓库

第二点:  Git的文件存储方式与SVN不同。 SVN存储每个版本的差异,而Git存储的是每一个版本的快照    a   cao


从下面这副图能看出:当版本发生变化时,如果文件发生了变化则存储一份新文件,而如果文件没有变化则记录上一个版本的链接。


第三点: Git的版本号与SVN不同。 SVN具有一个全局的版本号,而Git使用Hash值作为版本信息


具体来说,SVN的每次提交都是一个事务,当事务成功提交后,就会形成一个自增的版本号。
而Git并没有全局的版本号,只有每次提交的hash值。这个hash值既可作为版本号信息,也可以作为保证数据完整性的重要条件。


第四点: Git的元数据信息与SVN存储方式不同。 SVN的每一个文件夹中都有一个.svn目录,而Git只在根目录下有一个.git目录

意味着,Git的所谓导出,比svn要方便很多。只需要删除.git目录即可,而svn就费了劲了,需要删除每一个.svn目录


区别还有不少,不过我觉得以上几点是比较重要的区别。

Git架构说明

分布式架构:





从上图可以看出,每个客户端都拥有一个本地仓库,都拥有所有的历史提交记录。这一点和中央CVS系统,例如svn是大大不同的

文件的几种种状态:



从上图可以很清楚地看出git中文件的几种状态
  1. untracked: 还未添加到Git中的
  2. unmodified: 还未修改的
  3. modified: 已改动的
  4. staged:暂存的

Git的入门命令



配置:

/etc/gitconfig或者~/.gitconfig 中配置用户信息

也可以使用git config -l 来查看配置信息


  • 从远程获取仓库到本地仓库:git clone http://github.com/xxxxproject/.git
  • 提交文件到本地仓库之中:git commit -m "注释"
  • 添加文件到git版本控制之中: git add
  • 从远程仓库获取文件:git get
  • 从远程仓库获取文件并合并到本地仓库:git pull
  • 将本地仓库推送到远程仓库:git push
  • 列出远程仓库: git remote -v



其他参考


建议详细阅读这份文档,非常不错

git-scm git中文文档,戳我

在线git 教程,可以直接试用命令

戳我

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值