# Git基本用法

# 1. 克隆

git clone 远程地址
1

# 2. 工作区

**描述:**工作区就是你windows系统的项目文件所在地

工作区---工作区

将修改过的还没有放入暂存区的所有文件恢复:

git checkout .   //只是对原有的文件恢复,新建的文件不行
git restore .   //只是对原有的文件恢复,新建的文件不行
1
2

将修改过的还没有放入暂存区的单个文件恢复:

git checkout 文件名    //文件名通过 git status 查看

git restore 文件名     //文件名通过 git status 查看
1
2
3

工作区---暂存区

已经放入暂存区的所有文件撤销:

git reset HEAD -- .

git restore --staged .
1
2
3

已经放入暂存区的单个文件撤销:

git reset HEAD -- 文件名   // 文件名通过 git status 查看

git restore --staged 文件名  // 文件名通过 git status 查看
1
2
3

工作区---本地仓库

已经放入本地仓库的所有文件回滚到以前的某一个版本:

git reset --hard HEAD^  // 回滚到上一个版本

git reset --hard HEAD^^  // 回滚到上上个版本(上两个)

git reset --hard HEAD~100 // 回滚到前100个版本

git reset --hard 版本号   //版本号通过git log 或 git reflog查看   (不保留已修改内容) 
git reset --soft 版本号   //版本号通过git log 或 git reflog查看   (保留已修改内容)
1
2
3
4
5
6
7
8

已经放入本地仓库的单个文件回滚到以前的某一个版本:

你还是直接利用插件来对比版本,直接复制过去吧!插件名:Git History
1

已经回滚的本地仓库的所有文件恢复到以前的某一个版本:

git reset --hard 版本号   //版本号通过git log 或 git reflog查看   (不保留已修改内容) 

git reset --soft 版本号   //版本号通过git log 或 git reflog查看   (保留已修改内容)
1
2
3

# 3. 暂存区

将所有文件提交到暂存区

git add .
1

将单个文件提交到暂存区

git add 文件名  //文件名通过 git status 查看
1

# 4. 本地仓库

提交:

git commit -m "文件描述"
1

# 5. 远程仓库

推送:

git push
1

# 6. 拉取 (从远程仓库拉取)

git pull
1

# 7. 查看状态

git status // 只显示改动的文件名

git diff // 查看所有文件详细改动

git diff 文件名 // 查看单个文件的详细改动
1
2
3
4
5

# 8. 查看历史版本(日志)

git log  // 按 q 退出   (详细版)

git log -–pretty=oneline (简洁版)

git reflog  // 获取版本号(可以查看已经回滚过的)
1
2
3
4
5

# 9. 分支合并

查看分支

git branch
1

新建分支,例如新建dev分支

git branch dev
1

切换分支

git checkout dev
1

dev分支合并分支到master主分支

1. 切换到主分支
git checkout master

2. 把分支代码merge到主分支
git merge dev

3. 提交
git push
1
2
3
4
5
6
7
8

master分支合并分支到dev主分支

1. 切换到dev分支
git checkout dev

2. 把主分支代码merge到dev分支
git merge master

3. 提交
git push
1
2
3
4
5
6
7
8

删除dev分支

git branch -d dev
1

# 10. 储藏

"暂存" 可以获取你工作目录的中间状态(也就是你修改过的文件和暂存的变更),并将它保存到一个未完结变更的堆栈中,随时可以重新应用。

储藏

git stash
1

查看储藏

git stash list
1

应用最近的储藏

git stash apply
1

应用更早的储藏

git stash apply stash@{2}
1

应用并删除储藏

git stash pop
1

# 将远程设置为上游分支

git push --set-upstream origin gh-pages
1

# 代码提交规范

  • feat:提交新功能
  • fix:修复了bug
  • docs:只修改了文档
  • style:调整代码格式,未修改代码逻辑(比如修改空格、格式化、缺少分号等)
  • refactor:代码重构,既没修复bug也没有添加新功能
  • perf:性能优化,提高性能的代码更改
  • test:添加或修改代码测试
  • chore:对构建流程或辅助工具和依赖库(如文档生成等)的更改