git学习笔记

 

  1. git 是一个纯分布式版本控制系统,与本地版本控制系统(类似crs),集中化版本控制器(CVS,subversion)不同。 区别在于他在每台同步机器上都有完整版本库保存(可以离线提交)
  2. 学习git时,注意不要把以前使用其他版本控制的经验带入了,因为他们的命令很不同,而且,git的实现原理与传统控制系统有很多不同,理解这些实现有利于使用git。
  3. git保存每次更新的文件快照,而不是文件变动,如果文件没有改动,则直接保留上次快照的链接。
 
  1. git可以离线使用,本地库保存了所有当前项目的历史记录,git绝大多数操作都可以在本地完成。
  2. git使用SHA-1校验,同时对文件和目录结构做指纹,保持他们的完整性,所以会经常看到40个长度的字符串,这是git 工作依赖的指纹。
  3. git大多数操作是保存、添加数据,而非修改删除数据。任何一个文件有committed,modified,staged。所有的版本记录文件会压缩保存在git目录中。从git版本库中取出文件,进行开发时的目录,可以理解为工作目录。在工作目录中修改文件提交后,git会进行快照,保存到暂存目录(一般也在git目录里),最后提交更新时,暂存的快照会完整保存到git目录里。

 

  1. 使用init命令初始化目录,或者使用clone从线上拉去其他童鞋的开源项目。是初始化git的主要方法,init初始化后,使用add,commit -m命令来添加文件到版本管理,明确提交本次更新的msg。
  2. 使用add添加文件后,文件会被暂存起来,所以 add 的全称是 add file into staged area。
  3. 当add文件后,不立刻执行commit,而是继续修改,那么git会默认保存上一次add的快照,这时如果要提交,需要重新add
  4. 如果需要屏蔽某些文件,在工作目录下创建 .gitignore文件进行屏蔽,屏蔽使用正则表达式。比如 *.[ao]  *~ 
  5. 使用 git diff 查看 未暂存 和 已暂存 文件的区别,如果需要查看 已暂存和上次快照的变化,使用 git diff —cached 查看
  6. 使用 git commit -a 可以让git自动对已经跟踪的文件做暂存+提交。省去git add 的执行。
  7. 使用git rm/mv可以移动/重命名/删除目录下的文件。git log 查看提交记录,log -p 查看变化代码。log还有很多扩展功能,甚至查看变化行数,作者和编辑作者等待,查看:http://www.ikandou.com/chapter/22134845/
 
  1. — last update 2014.05.11
posted @ 2014-05-11 13:14  miuc  阅读(1541)  评论(0编辑  收藏  举报