GIT入门

git 学习笔记

1、Git 和 SVN的区别是什么。

三个区别:【存储】、【使用】、【管理】

  • 存储:
    • Git是对修改的内容,进行key/value的方式进行存储的。
    • Svn是对源文件进行存储。
    • so:同样用svn 和 git 管理一样的修改,一样的版本,svn仓库会大很多。
  • 使用:
    • Git提交需要 add commit push , 而Svn只需要 commit。
  • 管理:
    • Git是分布式,SVN是远程集中式管理。
    • Svn提交代码,必须远程Svn仓库开启着,才可以使用,如果没有开,什么都做不了。而Git客户端就会有一个本地仓库,可以进行提交,对比,切换分支,连接远程,可以推送。
2、Git的底层原理
  • Git是对修改记录进行 key/value的保存,所以我们要回退到什么时候的版本,或者回退哪一次的修改,可以快速的通过gitKey的方式,快速的 切换版本。
  • 这个做法,很好的解决了记录切换的问题以及效率,那么他是如何做到找到文件夹呢?
  • git是通过树图来管理文件的
  • Git对于文件文件管理,是采用树模型进行建立的,每一个分支,又有一棵树,这里有4个属性,tree,blob,commit,tag。
  • blob ,表示文件节点,git add 时候创建的
  • tree ,表示树节点,git commit时候创建的,还有他下面的字节点,分别用blob 和 tree 表示。
  • commit,会带上tree的id,所以可以快速的知道,获取哪个树的信息。
3、Git的通信协议

支持四种:【local】,【ssh】,【http】,【git】

  • local: 本地文件传输模式,小打小闹可以。
  • ssh: 安全性高了,但是不适合做一些管理。
  • http :git本身不支持http,需要借助apche,nginx等web服务器,做转发。
  • git : 是git 自己本身的服务
4、一些资料:

官方客户端: httpsd://git-scm.com/downloads
其它客户端:https://tortoisegit.org/download/
彻底理解git:https://github.com/pysnow530/git-from-the-inside-out/blob/master/README.md

你可能感兴趣的:(GIT入门)