# Git 使用说明
# Git 本地命令
# 创建版本库
先创建空文件夹(路径上没有中文)
在该文件夹上用
git bash打开
$ git init

# 将文件添加到版本库
$ git add xxx.txt$ git add -A //添加所有文件可以重复多次使用添加多个文件
$ git commit -m"本次提交内容的说明"
将添加的所有文件提交到仓库
# 查看仓库当前状态
$ git status
随时可以掌握工作区状态

$ git diff
可以查看文件被修改前后的内容

# 版本回退
$ git reset --hard commit_id //退回某个版本
$ git reset --hard HEAD^ //退回上一个版本
$ git log
可以查看提交历史,方便回退到过去的哪个版本;
查看结束后按 q 退出;

$ git reflog
可以查看命令历史,方便确定回到未来的哪个版本;

# 撤销修改
$ git checkout -- <file>
让这个文件回退到最近一次 git commit 或 git add 时的状态(即撤销在工作区的修改内容,即使文件被删除了也可以恢复)
$git reset HEAD <file>
清除暂存区的提交内容
# 删除文件
$ git rm <file>
# Git 远程仓库
# 关联远程仓库
$ git remote add xxx(远程仓库的本地名)git@xxx.com(仓库官网地址):xx(用户名)/xxxx(文件夹名).git
$ git remote add origin git@gitee.com:mzcy3021213/image.git
将 remote 改为 clone 即可克隆远程库生成一个本地库;
$ git remote rm <远程仓库的本地名>
取消关联远程仓库
# 关联远程的其它分支
$ git branch --set-upstream-to=origin/<分支> <分支>
# 拉取
$ git pull
# 推送
$ git push -u origin master
加上了 -u 参数,Git 不但会把本地的 master 分支内容推送的远程新的 master 分支,还会把本地的 master 分支和远程的 master 分支关联起来,在以后的推送或者拉取时就可以简化命令;
$ git push origin dev
推送到远程的 dev 分支;
# 多人协作

# 分支管理
# 创建并切换分支
$ git branch <分支名> //创建分支
$ git checkout <分支名>
$ git switch <分支名> //切换分支
$ git checkout -b <分支名>
$ git switch -c <分支名> //创建并切换分支
$ git branch //查看当前分支

git branch 命令会列出所有分支,当前分支前面会标一个 * 号;
# 合并分支
$ git merge <分支名>
git merge 命令用于合并指定分支到当前分支
# 删除分支
$ git branch -d <分支名>
# 储藏分支
$ git stash
存储还未完成的分支;
$ git stash list
查看存储的分支;
$ git stash apply
$ git stash pop
恢复分支:一种是用 git stash apply 恢复,但是恢复后,stash 内容并不删除,你需要用 git stash drop 来删除;
另一种方式是用 git stash pop ,恢复的同时把 stash 内容也删了;
# 修复分支
$ git cherry-pick <提交的编号>
将对其它分支修改的提交移植到本分支上;

# 分支标签
$ git tag <标签名>
对当前分支创建标签
$ git tag
查询所有标签
$ git tag <标签名> <提交编号>
对历史提交打上标签
$ git tag -d <标签名>
删除标签
