Git初用

1. git 的工作流程

Workspace：工作区

Index / Stage：暂存区

Repository：仓库区（或本地仓库）

Remote：远程仓库

2. 初次配置邮箱和用户名

git config --global user.name "XXX"
git config --global user.email "XXXX-XXX"
如果有配置双重验证，则需要把密码设置为令牌的 token
git config --global user.password "token 值"

3. 开始使用

3.1. 创建版本库 & 初始化管理仓库

git init
执行完命令后文件夹中就会出现.git 的文件夹

3.2. 简单使用 git

git add readme.txt —— 添加文件到暂存区
git commit -m "备注" —— 提交文件到本地创库
git status —— 查看提交状态
git log —— 查看提交记录

git log --pretty=oneline —— 查看简洁的提交记录

git reflog —— 获取版本号（提交 hash 的前 6 个字母）

3.2.1. 回退操作

git reset --hard HEAD^ —— 回退到上一个版本
git reset --hard HEAD^^ —— 回退到上上个版本
git reset --hard HEAD~n —— 回退到指定的 n 个版本
git reset --hard 版本号 —— 回退到指定版本号

3.2.2. 撤销修改

效果同回退操作
git checkout -- readme.txt —— 撤销 readme 文件工作区的修改（相当于回到暂存区状态）
git restore readme.txt —— 这是效果同上的现在的操作

3.2.3. 删除工作区未提交的文件恢复操作

git checkout -- a.txt
git checkout a.txt
git restore a.txt
以上操作均可在 git add a.txt 但未 git commit 且执行了 rm a.txt 之后恢复 a.txt

3.2.4. 远程连接操作

在 GitHub 新建仓库
git remote add origin 远程仓库 url —— 连接到远程仓库
git branch -M main —— 重命名当前分支为 main（-M 表示强制改）
git push -u origin main —— 将 main 分支同步到远程（由于第一次仓库是空的，所以加 - u 参数，后面不用加）

3.2.5. 分支操作

git branch —— 查看分支
git branch name —— 创建分支
git checkout name —— 切换分支
git checkout –b name —— 创建 + 切换分支
git merge name —— 合并 name 分支到当前分支
git merge --no-ff -m "备注" dev 分支 —— 取消 Fast forward 合并策略
git branch –d name —— 删除分支
git branch -M (-m) oldname newname —— 更改分支名字

3.2.6. Bug 分支

git stash —— 隐藏工作现场
git stash list —— 查看隐藏的工作现场
git stash apply —— 恢复工作现场
git stash drop —— 删除工作现场
git stash pop —— 恢复并删除工作现场

3.2.7. 多人协作

git remote —— 查看远程库信息
git remote -v —— 查看远程库详细信息
git push origin dev —— 将 dev 分支推送到远程
git checkout -b dev origin/dev —— 创建远程 origin 的 dev 分支到本地

3.3. 一些选项解释

-d --delete：删除
-D --delete --force 的快捷键
-f --force：强制
-m --move：移动或重命名
-M --move --force 的快捷键
-r --remote：远程
-a --all：所有