git本地
git 初始化
git 的三个区域

| 命令 |
作用 |
| git add 文件名 |
暂存指定文件 |
| git add . |
暂存所有改动的文件 |
| git commit -m "注释说明" |
提交并保存,产生版本快照 |
| 命令 |
作用 |
| git status -s |
查看暂存区和工作区文件的状态 |
git 文件状态
| 文件状态 |
概念 |
场景 |
| 未跟踪(U) |
从未被 Git 管理过 |
新文件 |
| 新添加(A) |
第一次被 Git 暂存 |
之前版本记录无此文件 |
| 未修改('') |
三个区域统一 |
提交保存后 |
| 已修改(M) |
工作区内容变化 |
修改了内容产生 |
git 暂存区作用
| 命令 |
作用 |
例子 |
| git restore 目标文件 |
将目标文件恢复到最近一次提交的状态,丢弃所有未保存的修改。 |
git restore page/login/index.css |
| git rm --cached 目标文件 |
移除暂存区已暂存的文件 |
git rm --cached page/login/index.css |

git 切换版本
| 命令 |
作用 |
| git reset --soft 版本号(其他文件未跟踪) |
保留工作区和暂存区 |
| git reset --hard 版本号 |
不保留暂存区和工作区 |
| git reset --mixed 版本号 (与 git reset 等价) |
不保留暂存区,保留工作区 |

查看提交历史
| 命令 |
作用 |
| git log --oneline |
显示一个精简版的提交历史 |
| git reflog --oneline |
显示完整的提交历史 |
删除文件
1.先删除文件
2.git add .
3.git commit -m "说明"
忽略文件
node_modules
dist
.vscode
*.pem
*.cer
*.log
password.txt
.history
分支
| 命令 |
作用 |
| git branch 分支名 |
创建分支 |
| git checkout 分支名 |
切换分支 |
| git branch |
查看所有分支 |
分支-合并与删除
| 命令 |
作用 |
例子 |
| git checkout master |
切回到要合入的分支上 |
git checkout master |
| git merge 分支名 |
合并其他分支过来 |
git merge login-bug |
| git branch -d 分支名 |
删除合并后的分支指针 |
git branch -d login-bug |
| 1.切回到要合入的分支上:git checkout master |
|
|
| 2.合并其他分支过来:git merge login-bug |
|
|
| 3.删除合并后的分支指针:git branch -d login-bug |
|
|
分支-合并与提交
1.切回到要合入的分支上:git checkout master
2.合并其他分支过来:git merge content
3.删除合并后的分支:git branch -d content
分支-合并冲突
1.打开 VSCode 找到冲突文件并手动解决
2.解决后需要提交一次记录
避免:(多交流)
- 按页面划分不同分支开发
- 公共代码在统一文件夹维护
- Node等软件版本统一,npm 包统一下载

git 常用命令
| 命令 |
作用 |
注意 |
| git -v |
查看 git 版本 |
|
| git init |
初始化 git 仓库 |
|
| git add 文件标识 |
暂存某个文件 |
文件标识以终端为起始的相对路径 |
| git add . |
暂存所有文件 |
|
| git commit -m '说明注释' |
提交产生版本记录 |
每次提交,把暂存区内容快照一份 |
| git status |
查看文件状态 - 详细信息 |
|
| git status -s |
查看文件状态 - 简略信息 |
第一列是暂存区状态,第二列是工作区状态 |
| git ls-files |
查看暂存区文件列表 |
|
| git restore 文件标识 |
从暂存区恢复到工作区 |
如果文件标识为 . 则恢复所有文件 |
| git rm --cached 文件标识 |
从暂存区移除文件 |
不让 git 跟踪文件变化 |
| git log |
查看提交记录 - 详细信息 |
|
| git log --oneline |
查看提交记录 - 简略信息 |
版本号 分支指针 提交时说明注释 |
| git reflog --oneline |
查看完整历史 - 简略消息 |
包括提交,切换,回退等所有记录 |
| git reset 版本号 |
切换版本代码到暂存区和工作区 |
--soft 模式保留暂存区和工作区原本内容 --hard 模式不保留暂存区和工作区原本内容 --mixed 模式不保留暂存区,工作区保留(默认) 先覆盖到暂存区,再用暂存区对比覆盖工作区 |
| git branch 分支名 |
创建分支 |
|
| git branch |
查看本地分支 |
|
| git branch -d 分支名 |
删除分支 |
请确保记录已经合并到别的分支下,再删除分支 |
| git checkout 分支名 |
切换分支 |
|
| git checkout -b 分支名 |
创建并立刻切换分支 |
|
| git merge 分支名 |
把分支提交历史记录合并到当前所在分支 |
|
Git 远程仓库
1.新建仓库得到远程仓库 Git 地址
2.本地 Git 仓库添加远程仓库原点地址
命令:git remote add 远程仓库别名 远程仓库地址
例如:git remote add origin https://gitee.com/lidongxu/work.git
3.本地 Git 仓库推送版本记录到远程仓库
命令:git push -u 远程仓库别名 本地和远程分支名
例如:git push -u origin master
完整写法:git push --set-upstream origin master:master
git 远程仓库 - 克隆
命令:git clone 远程仓库地址
例如:git clone https://gitee.com/lidongxu/work.git
多人协同开发
想要看到别人同步上去的最新内容:git pull origin master
等价于
git fetch origin master:master(获取远程分支记录到本地,未合并)
git merge origin/master (把远程分支记录合并到所在分支下)
git远程命令
| 命令 |
作用 |
注意 |
| git remote add 远程仓库别名 远程仓库地址 |
添加远程仓库地址 |
别名唯一,地址是 .git 结尾的网址 |
| git remote -v |
查看远程仓库地址 |
|
| git remote remove 远程仓库别名 |
删除远程仓库地址 |
|
| git pull 远程仓库别名 分支名 |
拉取 |
完整写法:git pull 远程仓库别名 远程分支名:本地分支名 等价于:git fetch 和 git merge |
| git push 远程仓库别名 分支名 |
推送 |
完整写法:git push 远程仓库别名 本地分支名:远程分支名 -u:建立通道后以后可以简写 git push |
| git pull --rebase 远程仓库别名 分支名 |
拉取合并 |
合并没有关系的记录 |
| git clone 远程仓库地址 |
克隆 |
从0得到一个远程的Git仓库到本地使用 |
以上内容参考至:https://www.bilibili.com/video/BV1MN411y7pw/?vd_source=2e6b5ef9be4a25103b96066eac6211ca的git部分