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

1>> git 放弃本地修改(即没 add 也没 commit)git

git checkout —fliename   放弃全部的修改 git checkout .  缓存

(不要写成 git checkout branchName 这就成了切换分支了)spa

2>> git 放弃暂存区的修改指针

git reset HEAD filename ()  文件只是会撤销 add 操做 本地修改不会消失作用域

须要继续使用第一步的操做 git checkout —filenameit

3>> git 放弃已经 commit 的修改class

git reset —hard HEAD^ 回到上一次 commit 的状态  也能够 git reset —hard commitIDfile

4>> git 放弃已经 push 的修改 方法

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

git revert HEAD  

git revert commitID 与git reset 的区别是

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

下面是一个列表关于使用场景和做用域

 

  • 命令做用域经常使用情景

git reset 提交层面 在私有分支上舍弃一些没有提交的更改

git reset 文件层面 将文件从缓存区中移除

git checkout 提交层面 切换分支或查看旧版本

git checkout 文件层面 舍弃工做目录中的更改

git revert 提交层面 在公共分支上回滚更改

git revert 文件层面 (然而并无)

相关文章
相关标签/搜索