# git 基础
# 1.配置
- 增加配置列表
git config --global zhou.name '123'
1
- 改配置列表
git config --global --replace-all user.email "输入你的邮箱"
git config --global --replace-all user.email "输入你的用户名"
1
2
2
- 删配置列表
git config --global --unset zhou.name
1
- 查看配置列表
git config --list/git config -l
1
# 2.提交流程
工作区->暂存区->历史区->远程仓库 --这里默认为主分支
# 2.1 工作区-->暂存区(第一次提交要初始化本地仓库)
- 初始化本地仓库
git init
1
- 将工作区修改的内容添加到暂存区(单个文件、整个目录、所有文件)
git add [文件名称]/git add ./git add *
1
# 2.2 暂存区-->历史区
- 将暂存区中修改的内容提交到历史区(单个文件、全部文件)
git commit [文件名称] -m '提交的注释'/git commit -m '提交注释'
1
- 没有添加 -m
- i 进入编辑模式
- :wq 保存并退出
- :ql! 退出
# 2.3 操作
- 创建文件
touch [文件名称]
1
- 查看工作区和暂存区那些文件修改(红色),查看暂存区和历史区那些文件修改(绿色)
git status -s/git status
1
- 查看工作区和暂存区内容差异
git diff
1
- 查看工作区和历史区内容差异
git diff --cached
1
- 查看历史区历史记录(如提交远程仓库记录)
git log/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
- 把历史区重置到指定版本
git reset --hard [编号]
1
- 用历史区的内容覆盖暂存区的内容
git reset HEAD --[文件名称] /git reset HEAD -- .
1
- 用暂存区的内容覆盖本地工作区的内容(单个文件、所有文件)
git checkout -- [文件名称]/git checkout -- .
1
# 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 提交直接输入密码