# git 基础
前言
git 是一个分布式的版本控制软件,git 的作用是管理代码,git 的特点:
# 1.配置
增加配置列表
git config --global zhou.name '123'
1改配置列表
git config --global --replace-all user.email "输入你的邮箱" git config --global --replace-all user.name "输入你的用户名"
1
2删配置列表
git config --global --unset zhou.name
1查看配置列表
git config --list git config -l # 简写
1
2
# 2.提交流程
工作区->暂存区->历史区->远程仓库 --这里默认为主分支
# 2.1 工作区-->暂存区
初始化本地仓库(第一次提交要初始化本地仓库)
git init
1将工作区修改的内容添加到暂存区
git add [文件名称] # 单个文件 git add . # 整个目录 git add * # 所有文件
1
2
3
# 2.2 暂存区-->历史区
将暂存区中修改的内容提交到历史区
git commit [文件名称] -m '提交的注释' # 单个文件提交 git commit -m '提交注释' # 全部文件提交
1
2没有添加 -m
- i 进入编辑模式
- :wq 保存并退出
- :ql! 退出
# 2.3 操作
创建文件
touch [文件名称]
1查看工作区和暂存区那些文件修改(红色),查看暂存区和历史区那些文件修改(绿色)
git status -s
1git status
1查看工作区和暂存区内容差异
git diff
1
- 查看工作区和历史区内容差异
git diff --cached
1
- 查看历史区历史记录(如提交远程仓库记录)
git log
1
git log --oneline
1
- 前看看是否有分支
git branch
1
# 3.代码回退
# 3.1 git 没有关闭
- 回退所有区域(历史区、暂存区、工作区)
git reset --hard
1
- 回退历史区和暂存区
git reset --mixed
1
- 回退历史区
git reset --soft
1
# 3.2 git 关闭后
- 查看历史区版本号
git reflog
1
- 把历史区重置到
git reset --hard HEAD^ # 上一个提交
git reset --hard HEAD^^ # 上上个提交
git reset --hard HEAD@{编号} # 指定编号
1
2
3
2
3
- 把历史区重置到指定版本
git reset --hard [编号]
1
- 用历史区的内容覆盖暂存区的内容
git reset HEAD --[文件名称]
git reset HEAD -- .
1
2
2
- 用暂存区的内容覆盖本地工作区的内容
git checkout -- [文件名称] # 单个文件
git checkout -- . # 所有文件
1
2
2
# 4.分支提交
有多个分支的情况:bug 分支、需求分支
查看分支
git branch
1
- 创建分支
git branch [分支名称]
1
- 切换分支
git checkout [分支名称]
1
- 合并分支(master 分支没有改动)
git merge [分支名称]
1
- 删除分支
git branch -d [分支名称]
1
- 创建分支并切换分支
git checkout -b [切换的分支名称]
1
- 合并分支(master 分支有更改,和现有的分支冲突)
git merge [分支] # 出现冲突,代码中去解决冲突
git commit -m '分支合并'
1
2
2
- 分支提交日志
git log --graph --oneline
1
# 5.暂存工作内容
需求任务开发到一半,临时有一个紧急 bug 需要修复
把当前的工作区和暂存区保存到一个地方,并且用最新的历史区覆盖当前的工作区和暂存区
git stash
1
- 创建 bug 分支改 bug,提交后切换 master 分支合并
git merge bug
1
- 列出所有的储存区
git stash list
1
- 应用不删除
git stash apply
1
- 删除
git stash drop
1
- 应用删除
git stash pop
1
# 6.报错
提交远程仓库报错
fatal: remote origin already exists.
1- 解决方法:删除历史区重新提交
ssh 使用公钥授权不通过的问题解决
- 用命令行 push 提交直接输入密码
基础命令 →