1. 文件的3中状态:
(1)已修改(modified):修改了某个文件,但还没有提交保存;
(2)已暂存(staged):把已修改的文件放在下次提交时要保存的清单中;
(3)已提交(committed):安全保存到本地仓库中了。
2. Git只关心文件数据的整体是否发生变化,哪些文件的哪些行为发生里变化。
3. 文件快照。
4. 非线性分支管理。
5. 分布式版本控制。
6. 本地可以浏览历史更新。
7. 无网络的情况下,可以提交更新,有网络的情况下再上传到远程仓库。
8. SHA-1算法:保存在Git数据库中的东西都是用哈希值来作为索引,而不是靠文件名。Gi
9. Git文件流转的3个工作区域:
(1)工作区(工作目录)(working directory):进行文本编辑;
(2)暂存区(staging area):一般在git目录中索引文件;
(3)Git本地数据目录(git directory respository):每个项目都有一个git目录,用来保存元数据和对象数据库。
10.Git配置:
(1)/etc/gitconfig文件:系统中对所有用户都普遍适用的配置。若使用git config时用--system,读写的就是这个文件。
(2)~/.gitconfig文件:用户目录下的配置文件,只适用于该用户。若使用git config时用--global选项,读写的就是这个文件。
(3)当前项目的git目录中的配置文件(也就是工作目录中的.git/config文件):这里的配置只对当前项目有效,每一级的配置都会覆盖上层的相同配置。
11.用户信息配置:
$git config --global user.name "YOURNAME"
$git config --global user.email YOUREMAIL
使用global选项,更改的是用户目录下的配置文件,如果仅仅是配置项目中的git,需要去掉--global选项
12.文本编辑器配置:
$git config --global core.editor [编辑器名称],默认编辑器一般是操作系统指定的,一般是vi或vim。
13.差异分析工具配置:
$git config --global merge.tool [差异分析工具名称]
14.查看配置信息:
$git config --list 如果有重复的变量名,那是来自不同的配置文件
15.获取帮助:
$git help xxx
$git xxx --help
$man git -xxx
16.要对现有的某个项目开始用git管理,只需要到此项目所在的目录初始化:$git init
17.从现有仓库克隆:$git clone 项目地址
18.克隆的同时自定义要新建的项目目录名称:
$git clone <URL> <PROJECTNAME>