1>> git 放弃本地修改(即没 add 也没 commit)
git checkout —fliename 放弃所有的修改 git checkout .
(不要写成 git checkout branchName 这就成了切换分支了)
2>> git 放弃暂存区的修改
git reset HEAD filename () 文件只是会撤销 add 操作 本地修改不会消失
需要继续使用第一步的操作 git checkout —filename
3>> git 放弃已经 commit 的修改
git reset —hard HEAD^ 回到上一次 commit 的状态 也可以 git reset —hard commitID
4>> git 放弃已经 push 的修改
有两种方法 一种是 reset 一种是 revert
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 文件层面 (然而并没有)
git 放弃本地修改 暂存区修改 已 commit 的修改 已push到远程仓库的修改
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 工作区(Working Directory)在git管理下的正常目录都算是工作区。就是你平时存放项目代码的地方。 ...
- 概念详解 图中几个名词的意思如下:workspace: 工作区index/Stage: 暂存区Repository...
- 最近在提交代码的时候碰到一个问题,代码commit并push到远程仓库后发现提交人的信息有误,远程仓库显示的提交人...
- 简述 当我们利用git开发项目,代码托管在平台上时,突然有一天我们远程仓库迁移了,地址改变了,本地如何关联修改后的...
- http://www.cnblogs.com/zjjne/p/3778640.html 1.先远程登录局域网内服务...