文章目录
1. Git回滚代码到某个commit
1.1回退命令:
- $ git reset --hard HEAD^ 回退到上个版本
- $ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前
- $ git reset --hard commit_id 退到/进到指定commit的sha码
1.2 回退命令中的参数
–mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
–soft
不删除工作空间改动代码,撤销commit,不撤销git add .
–hard
删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。
顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:
git commit --amend
此时会进入默认vim编辑器,修改注释完毕后保存就好了。
1.3强推到远程:
$ git push origin HEAD --force
2. git rm 用法解释
2.1基本作用
git rm 用于从索引中删除文件或者同时从工作区和索引中删除文件。
具体是哪种操作,看后面跟的操作选项。
2.2 git rm 与 git rm --cached 的区别
git rm : 同时从工作区和索引中删除文件。即本地的文件也被删除了。
git rm --cached : 从索引中删除文件。但是本地文件还存在, 只是不希望这个文件被版本控制。
2.3 git rm 与 rm 的区别
git rm: 来删除文件,同时还会将这个删除操作记录下来;
rm: 来删除文件,仅仅是删除了物理文件,没有将其从 git 的记录中剔除;
提示:即使你已经通过 rm 将某个文件删除掉了,也可以再通过 git rm 命令重新将该文件从 git 的记录中删除掉。
2.4 删除文件示例
git rm text1.txt
2.5 删除文件夹示例
git rm -r mydir