git 放弃暂存区修改 本地修改 commit修改 已push到远程仓库的修改

删除暂存区里的文件

撤销错误添加到暂存区里的文件,

git rm --cache 文件名

上述命令仅仅删除暂存区的文件而已,不会影响工作区的文件。

删除暂存区和工作区的文件

git rm -f 文件名

工作区的文件也被删除了。

放弃暂存区修改

# 放弃 暂存区 修改
git reset HEAD [<filename>]
# 比较暂存区 和最近一次commit 的不同,应该是没有输出的。
git diff --cached 

放弃本地修改

git checkout -- <file>

放弃已 commit 的修改

git reset有三个选项,--hard、--mixed、--soft。

//仅仅只是撤销已提交的版本库,不会修改暂存区和工作区
git reset --soft 版本库ID
//仅仅只是撤销已提交的版本库和暂存区,不会修改工作区
git reset --mixed 版本库ID
//彻底将工作区、暂存区和版本库记录恢复到指定的版本库
git reset --hard 版本库ID

回到上一次 commit 的状态 git reset —hard HEAD^

放弃已push到远程仓库的修改

有两种方法 一种是 reset 一种是 revert

git revert HEAD  
git revert commitID 与git reset 的区别是

git revert 是提交一个新的版本,将需要 revert 的版本的内容反向修改回去,版本会递增, 不影响之前提交的内容, 是用一次新的 commit 来回滚之前的 commit, git reset 只是把 HEAD 指针向后移动一下,直接删除指定的 commit, 所以尽量使用 revert

  • qq_43638135
    妲己再美究为妃: 博主没有想过自己接一些私活干吗?我现在还没毕业,但是我也确实听说外挂市场自动化游戏脚本市场挺火热的,并且报酬也很丰厚,但是具体的我也不是很清楚,求解答。 (1个月前 #47楼) 查看回复(2) 举报 回复
    22