一、撤销修改

case 1 : 本地修改了一堆文件(并没有使用git add到暂存区),想放弃修改。

恢复单个文件

git  checkout --filename

恢复所有:

git checkout .

case 2 : 本地新增了一堆文件(并没有git add到暂存区),想放弃修改

恢复单个

rm filename / rm dir -rf

恢复所有:

git clean -xdf 

case 3: 本地修改/新增了一堆文件,已经git add到暂存区,想放弃修改。

单个文件/文件夹:

git reset HEAD filename

所有文件夹:

git reset HEAD .

case 4: 已经进行 git add ,git commit 想要撤销 git commit 提交

 git reset --hard commit_id

二、新建分支

case: 在原有分支基础之上新建一个分支

方式1:

// 使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。
git fetch origin 原有分支名字 : 新建分支名字

方式2:

// 这种方式创建成功后会自动切换到新分支,不用手动checkout 
 git checkout -b 本地分支名x origin/远程分支名x

三、新建tag

git  tag 版本号 // 新建tag
git push --tags // 推到远程仓库
git tag -l // 查看本地tag

四、修改已经push的一条commit内容,多条修改也是一样的步骤

第一步:git rebase -i HEAD ~n    (n:代表你要查看最近几次的提交记录) 
第二步:第一步完成会生成一个界面,根据提交的commitID找到记录,将它前面的标记pick修改为edit,然后编辑完修改权限任务保存退出,这样就可以进行第三部对这个提交进行编辑啦
第三步:执行 git commit --amend 
第四步:第三部会生成一个界面,在最上面就是上一次提交的信息,没有提交就是空的,然后接着编辑就可以啦,编辑完保存退出
第五步:执行 git rebase --continue 保存修改提交任务,提示> Successfully rebased and updated refs/heads/master.就是成功啦
第六步:git push xxx(指定分支)

注意这里可能会遇到编辑权限的问题,具体解决方案看我的另一篇文章 链接