1. 本地分支回退版本

 git reset --hard   22f8aae 。22f8aae 为某次提交的提交号。
 git reset --hard HEAD~3 (回退3次提交)
 
 --hard:本地的源码和本地未提交的源码都会回退到某个版本,包括commit内容,和git自己对代码的索引都会回退到某个版本.any local changes will be lost。
 --soft:保留源码,只能回退到commit信息到某个版本,不涉及到index的回退,如果还需要提交,直接commit即可。比如我选择soft方式来进行回退,我的本地代码和本地新添加的尚未commit的代码都没有改变。
 --mixed:会保留源码,只是将git commit和index信息回退到某个版本。

2. 远程分支回退版本

2.1. 方法一,先git reset回滚到本地,然后再强制push到远程。

git push -u origin master -f        origin:远程仓库名  master:分支名称  -f:force,意为强制、强行

3. 删除提交分支

# 删除当前提交分支
git remote remove origin 

# 添加新的分支
git remote add origin https://gitee.com/kingCould/HelloWord.git

4. 分支文件冲突

# 保存未修改文件,添加备注,方便查找
git stash save "save message"

# 应用并删除第二个存储
git stash pop stash@{1}

# 应用第二个存储,但不会把存储从存储列表中删除
git stash apply stash@{1}

# 从列表中删除第二个存储
git stash drop stash@{1}

# 先切换到主分支(或即将被覆盖的分支)
$ git checkout master

# 将 test 分支覆盖到当前分支
$ git merge test

# 删除之前的分支 (已经没用了)
$ git branch -d <branch-name>