一、撤销修改
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(指定分支)
注意这里可能会遇到编辑权限的问题,具体解决方案看我的另一篇文章 链接