一、回顾
上一篇文章我们讲到Git 的使用流程, 如果对下面的图不是跟清楚, 可以转到我的上一篇文章Git 基础系列-2去看看.

二、第一次使用Git
在真正使用Git命令前, 需要先完成一些准备工作, 初始化一下Git的环境。这些工作需要且仅需要完成一次!
那么, 有哪些配置项呢? 这些配置信息又都在哪呢?
我们可以使用 git 命令来查看配置文件位置以及全局配置信息(小C 后期将使用 Linux 操作系统进行演示所有Git 功能, 当然,因为全部都是 Git 命令, 所以, Windows下并无任何区别!)
1、查看全局配置信息
git config --list
你会看到如下信息
![\[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5lN6Oy4i-1586244559666)(assets/image-20200327215337056.png)\]](https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2020/4/7/1715399493ddbebb~tplv-t2oaga2asx-jj-mark:3024:0:0:0:q75.png)
真干净!! 没有任何配置信息!
2、配置用户名和邮箱
今后我要提交代码时总要告诉别人我是谁, 怎么能联系到我吧? 所以需要配置下用户名和邮箱!
git config --global user.name "programmer-c"
git config --global user.email "programmerc@example.com"
如果值中没有空格的话,""
双引号可以不加的哦。

如果设置错了, 或者需要重新修改配置时, 只需重新执行git config --global xxx
就可以了。
3、指定文本编辑器
如果你不是Linux操作系统的铁粉, 如你没有vm 类似的编辑经验, 建议修改下文本编辑器, 对于windows而言, 可以改成 Notepad++, Sumlime,VSCode 等等。
git config --global core.editor "'D:/Program Files/Notepad++/notepad++.exe'"
注意后面的文本编辑器路径要写完整路径啊
三、Git 基础命令 - 1
1、git init
该命令用于初始化一个git 仓库。也就是说将一个普通的目录(文件夹)变成一个git仓库(Repository)。
你只需要进入到想要变成仓库的目录下, 执行git init
命令就可以了。(如果不会在命令行中切换到另一个目录, 小C 建议您暂时止步, 先去学习下 windows 常用 cmd 命令或者Linux 常用命令)
例如:
- 创建目录

- 切换到新建的目录下

- 目前目录中没有任何内容

- 初始化git仓库

- 再次查看当前目录, 发现多了一个.git 的隐藏文件夹

- 至此, 一个Git仓库初始化完毕。
2、git clone
该命令用户克隆远程Git 服务(Remote)中的git仓库到本地。 在克隆前, 你可以到github 或者 gitee 上寻找自己感兴趣的内容。找到git 地址。例如

小C 在 gitee 上找到一个关于使用Java代码生成图形验证码的项目, 小C也想看看是如何实现了,甚至于贡献自己的一份力量来完善这个开源项目, 所以, 小C 点击了【克隆/下载】按钮, 复制了 项目的HTTPS 地址。地址如下:
https://gitee.com/whvse/EasyCaptcha.git
然后, 小C 开始了下载历程。

所以, 直接使用git clone 项目地址
就可以克隆项目到本地了。
3、git status
git status 命令用于检查git项目下文件于文件夹状态。文件或文件夹有这样几种状态:

- Untracked : 未跟踪, 一般新创建的文件或文件夹处于该状态
- Unmodified: 已跟踪 - 未修改,即与最后一次提交时的版本没有区别
- Modified: 已跟踪 - 已修改,即在最后一次提交后再次修改了文件内容
- Staged:已跟踪 - 已暂存,修改后的文件 和 新建文件(Untracked)都可以通过add进入到暂存区, 等待提交
新建的项目表示自己nothing to commit
, 啥也不用做 刚刚clone的项目也表示自己很clean
!
PS: git status 以及下面的命令都必须在git 工作空间根目录(.git 文件夹所在目录)下执行!!!否则就是:fatal: Not a git repository (or any of the parent directories): .git
4、git add
好了 , 初始化完项目了, 我们来搞点事情
echo "Hello, I am first.txt" >> first.txt
echo "Hello, I am second.txt" >> second.txt
touch c.jpg


此时, 我们可以使用 git add <File>
命令来添加文件跟踪

c.jpg 已经处于 staged 状态了。你也可以使用 git add -A
或者 git add --all
一步到位

**PS: git status -s
简化状态,用字符和符号表示文件状态 **
- A : Staged 已暂存
- ??:Untracked 未跟踪
- M:Modified 已修改
5、git commit
我们可以使用 git commit
命令提交所有【暂存区】的文件。
这是当前文件状态

git commit

这是啥!!!!!! 熟悉Linux的童鞋都知道, 这玩意叫做 vim
, 如果你是 Linux 操作系统,你一定会用这玩意。如果你是Windows党, 那去上面 二 - 3 指定文本编辑器看看吧 .
我们需要在编辑器中输入本次提交的日志信息(也就是为毛要提交, 你干了啥)
提交完了后是这个样子的。 just want to commit 就是我提交的日志内容,


可以发现,所有的 A 全部消失了! 所以, 在commit之前, 要先保证文件已经add过, 即位于 暂存区!!!
当然了, 你可以使用如下方式 跳过 add 操作 和 提交日志的 填写 步骤!!!!!!

但是, 你要保证的是文件必须在 追踪状态下
四、.gitignore
文件
首先这是一个文件, 小C 并没有少写文件名, 这也不是文件后缀名,就是文件名!!!
- 这个文件在 git 工作空间根目录下(其实可以在根目录下的任意目录中, 但其作用范围就会仅仅局限于当亲目录及其子目录)
- 文件名必须是
.gitignore
- 用于声明无需使用git管理的文件或者文件夹
- 基本语法:
- 注释: 所有以
#
开头的内容被认为是 文件注释, 被 git 忽略 - 可以使用标准的 glob 模式匹配, 不熟悉的童鞋可自行学习下 或者直接找所有
.gitignore
模板
- 注释: 所有以
