Git入门
Posted petewell
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git入门相关的知识,希望对你有一定的参考价值。
- DVCS - Distributed Version Control System 分布工版本控制系统。
- 快照而不是差异 - Git记录的是一系列的文件系统的快照,而不是各个文件在多次提交间的差异。
Git系统中文件的三种状态
- commited(已提交) - 已经提交到本地数据库了,已经被Git托管了。
- modified(已修改) - 前次已经提交的文件做了修改,但修改的内容还没有提交到本地数据库中。也就是说,有修改内容没被Git托管。
- staged(已暂存) - 表明该文件以前是不在Git中托管的,下一次提交时要把它加到数据库中,由Git托管。
三种状态下的转换关系如下:
Git仓库中的.git目录
- Git仓库(.git目录) - 存储元数据和项目对象的数据库的地方。也是从其它机器上获取Git库时获取到的内容。获取到.git目录就是获取到了一个完整的库,可以从.git目录中提取到这个项目的各个历史版本。
- 工作目录 - 该项目的某个单个版本的签出副本。它是从.git目录下的压缩过的数据库中提出的某个快照对应的各文件的某个历史版本。
- 暂存区(stage area) - 一个文件,这个文件是在.git目录下的,其中存储的是下一次提交时要进入到Git代码托管库中的文件列表。
典型的基于Git的工作流
- 在工作目录中修改文件。
- 暂存区文件,将文件的快照放到暂存区域。
- 提交更新,找到暂存区域的文件,将快照永久性存储到Git仓库目录中。
如果Git目录中保存着的特定版本文件,就属于已提交状态。如果做了修改并已放入暂存区域,就属于暂存状态。如果自上次取出后,做了修改但还没有放到暂存区域,就是已经修改状态。可以跳过暂存直接提交。
关于使用命令行还是使用GUI
只有命令行才能使用Git的所有功能,几乎所有的GUI模式都只实现了Git的所有命令的一个子集以降低操作难度。
初次使用Git前的配置
Git提供一个git config命令用于设置Git相关的配置。
Git相关的3份配置文件
以Linux为例,安装好Git后,在系统中有 3 份与Git相关的配置:
- /etc/gitconfig文件 - 这个是当前系统中的所有用户共享的配置。如果使用git config命令时,带有–system参数,则修改的是这份配置。
- ~/.gitconfig或~/.config/git/config文件 - 这个是当前系统中的某个用户相关的配置。如果使用git config命令时,带有–global参数,则修改的是这份配置。
- .git/config文件 - 这个是某个Git仓库相关的配置文件,是在该仓库下的.git目录下的config文件。这份配置只针对当前这个Git仓库。
以上三份配置信息中,后面的配置文件中的配置信息会覆盖前面的配置文件中的信息。即,用户相关的配置会覆盖系统全局的配置;仓库相关的配置会覆盖系统相关的全局配置和用户相关的全局配置。
用户信息配置
安装完Git之后,第一件事,应该是配置自己的用户名称和邮件地址。因为,后续的每次提交都会使用这两项信息,,把把这两项项目写入到每次提交中,不可修改。
配置用户信息,应该是和某个用户相关的,也就是说,应该使用上述三个配置中的第二个,即某用户相关的全局配置。
所以,应该使用git config命令,并附带 –global参数。
具体命令如下:
|
|
如果要针对某个Git库配置不同的用户名和邮件地址,可以直接使用不带–global或–system参数的Git命令。
命令示例如下:
|
|
参考资料
Git学习笔记(1)——安装,配置,创建库,文件添加到库 - 系列文章共10篇。
以上是关于Git入门的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段