廖雪峰git教程: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
1、git基础要点:
(1)直接快照,而非差异对比:git将发生变化的文件作快照,保存一个指向这次快照的索引。若文件没有变化,git不会再次保存,只是对上次快照做连接。
(2)近乎所有操作都可本地化:绝大多数操作都需要访问本地文件和资源
(3)时刻保持数据完整性:在保存到git之前,所有数据都要进行内容的校验和计算,并将结果作为数据的唯一标志和索引。
git使用SHA-1算法进行数据的校验和,通过对文件的内容或目录的结构计算出一个SHA-1哈希值,作为指纹字符串,该字符串由40个十六进制字符(0-9及a-f)组成。
(4)多数操作仅添加数据
(5)三种状态:任何一个文件在git中有三种状态:已提交(commited)(已经安全保存在本地数据库中)、已修改(modified)(修改了文件但还没有提交保存)、已暂存(staged)(表示把已修改的文件放在下次提交时要保存的清单中)。
git管理项目时的文件流转的三个工作区域:git的本地数据目录、工作目录以及暂存区域。
git的本地数据目录:git用来保存元数据和对象数据库的地方,每次克隆镜像仓库时,拷贝的是这个目录里的数据。
工作目录:从项目中取出某个版本的所有文件和目录,用以开始后续工作的叫做工作目录。
暂存区域:git目录中一个简单的文件。
2、windows安装:
msysGit的项目提供了安装包,安装完之后就可以使用命令行的git工具了(已经自带ssh客户端)。
msysGit安装后的配置参考网址:http://www.cnblogs.com/kysnail/archive/2012/03/16/2399589.html
3、初次运行git前的配置:
(1)用户信息:
$git config —global user.name “XXXX”
$git config —global user.email
XXXX@example.com
如果使用了 —global选项,那么更改的配置文件就位于用户主目录下的那个,以后所有的项目都会默认使用这里配置的用户信息。
如果要在某个特定的项目中使用其他名字或电邮,去掉 —global重新配置即可,新的设定会保存在当前项目的 .git/config 文件中。
(2)文本编辑器:
$git confit —global core.editor emacs
(3)差异分析工具:解决合并冲突
$git config —global merge.tool vimdiff
(4)查看配置信息:
$git config —list
如果看到重复的变量名,说明来自不同的配置文件(如/etc/gitconfig 和 ~/.gitconfig),不过最终Git实际采取的是最后一个。
也可以直接查看某个环境变量的设定,只要把特定的名字跟在后面即可,如 $git config user.name
(5)获取帮助:三种方式:
$git help <verb>
$git <verb> —help
$man git-<verb>
例如要学习config命令如何使用,可以:$ git help config