git是一个命令. bash命令行里有很多命令.
.git目录是git的本地仓库, 这个目录不会重复复制相同的文件(它自身会进行优化), 它可以支持多个分支.
git解决的问题之一: 代码的版本.

1.git的六行配置

git config —global user.name 你的英文名
git config —global user.email 你的邮箱
git config —global push.default simple
git config —global core.quotepath false
git config —global core.editor “code —wait”
git config —global core.autocrlf input

注意:
1)这六行代码安装之后要运行, 之后才能开始用git.
2)为了保证code可以直接在命令行执行, 需要安装VSCode软件, 并添加相应的PATH环境变量.

2.git使用场景一:给代码设置不同的版本

2.1 git init

作用: 创建 .git 目录.
git文件是存放在 .git目录中的(object目录).

2.2 git add 路径

作用: 选择需要提交的变动.
路径, 可以写绝对路径、相对路径或者下圆点 . 和星号* .
ls或ls -a, 用来查看当前目录下存在哪些文件, 其中ls -a 命令能查到文件名以点开头的文件.
注意:
1)git add处理的是文件变化, 而不是文件.
2)删除一个文件之后, 也要用git add命令添加到待提交区.

2.3 git status

作用: 查看当前目录下有哪些文件和暂存区的状态.
使用此命令能看到哪些修改被暂存, 哪些没有; 哪些文件被git untracked。

2.4 .gitignore

作用: 选择不需要提交的变动.
常见的有node_modules, .DS_Store, .idea, .vscode.
注意: 这是vscode中的文件名, 不是cmder中的命令.

2.5 git commit -m 字符串

作用: 提交变动.
字符串里如果有空格, 要用引号包起来.
这个命令的缺点是, 一般字符串会写得剪短而不够详细.

2.6 git commit -v

作用: 用于提交, 同时回顾修改的东西, 强制把提交理由写得详细一些(v的全称就是verbose, 意思是详细的、冗长的).

2.7 git log

作用: 查看所有提交过的版本信息.

2.8 git add .

git commit -v

作用: 1)git add . 选择需要提交的变动;
2)git commit -v 接着回顾修改的东西, 并强制填写比较详细的提交说明.
每次重复这个两个命令行的操作, 先进行git add . 操作, 之后再进行git commit -v操作.
注意: 不要少写下圆点 . , 不要少写空格.

2.9 git reset —hard xxxxxx

作用: 回到之前提交的某个版本.
xxxxxx是提交号的前6位.
注意: 在这个操作之前, 要确保你已经把所有代码都commit了,因为这个操作会使没有commit的变动消失.

2.10 git reflog

git reset —hard xxxxxx

作用: git reflog查看所有操作记录, 包括commit和reset的操作.
git reset —hard xxxxxx, 根据git reflog查到的操作记录的版本号, 进行reset回退到某个版本.

3.git使用场景二:同时两条线开发

3.1 git branch x

作用: 基于当前commit创建一个新的平行时间线(分支)x;
在哪个分支提交, 代码就出现在哪个分支.

3.2 git checkout x

作用: 切换到另一个分支x .
当前目录有未提交的代码, 只要与另一个分支不冲突, 就不用理会.
如果有冲突, 可以使用通灵术git stash, 也可以合并冲突.

3.3 两个时间线交替进行

  1. git branch x<br /> git checkout x<br /> git checkout master<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/12879678/1616665219514-bcbf24a8-b8da-491c-96b7-0ea12122f53f.png#align=left&display=inline&height=525&margin=%5Bobject%20Object%5D&name=image.png&originHeight=525&originWidth=1386&size=19215&status=done&style=none&width=1386)

4. git使用场景三: 版本合并

4.1git merge x

作用: 将分支x合并到当前分支.

4.2git status 或 git status -sb

作用: 查看哪个或哪些文件有冲突.
后者是前者的简略形式.

4.3 git branch

作用: 查看当前一共有哪些个分支.

4.4 git branch -d x

作用: 合并后删除不用的分支.

4.5 合并时遇到冲突的解决办法

1)依次打开每个文件;
2)搜索====四个等于号;
3)在上下两个部分中选择要保留的代码;
4)删除不用的代码, 删除==== >>>> <<<< ;
5) git add 对应文件;
6)再次 git status 或 git status -sb, 解决下一个文件的冲突;
7)直到没有冲突, 运行git commit(注意不需要选项).