Git之反悔
来源:互联网 发布:迁移阿里云rds到aws 编辑:程序博客网 时间:2024/04/30 07:02
最近说忙也不忙,说闲也不闲,总之有点蛋疼,还是来写写这个放松放松,之前朋友说你就上几张图就搞定了,还写个毛,你干脆以后直接用图得了,我想了想后,跟他说,兄弟 ,就算我写得再详细,如果你不操作一把,记得住么,如果你按照我的图和解释,操作几把,该懂的自然懂了。好了,不扯了,继续。 今天呢,就是在操作Git的时候,遇到了各种想反悔的情况 ,我结合我工作中的情况一一列举 ,不说专治各种不服,也可以治大部分不服,Go~
1、对最新的提交做修改
有时候我们在刚提交完了后,突然发现尼玛怎么还有一个文件忘记提交了,这个时候还是比较好解决的
git add 你要提交的文件,再git commit --amend,上图说话
稍微解释下,当我们用git show查看第一个提交的记录的时候,我们看到最后一行显示的是third line,我们用vim编辑了david文件后,用cat查看,、看到我们增加了一个fourth line。
好了,现在我们认为这个david文件是刚才没有提交完全的,那么可以了,先git add ,再git commit --amend ,这个时候跳出一个第二个图,直接退出即可,退出后再用git show查看后,我们发现我们的补充的提交,已经合并到最新的提交中。
2、git reset的各种命令意思
git reset [--mixed | --soft | --hard | --merge] [-q] [<commit>]
git reset [-q] [<commit>] [--] <paths>...
第二种:用版本库中的对应commit中的patch路径文件替换暂存区对应patch文件,相当于git checkout -- <patch>
第一种:
--mixed (默认可以不带这个参数) ,替换版本库和暂存区
--soft ,只是替换版本库
--hard ,替换版本库,暂存区,以及工作区
理解并且擅长使用--soft和--hard选项来对最新的提交进行悔棋操作
3、好了,那么问题来了,处理一个项目几个问题后,我想把这几个问题先提交了, 在提交的时候 ,我发现第二个提交或者第三个(为什么是第二个或者第三个,后面说)提交其实是不完善的,我想加进一些内容 ,而我又不想,重新提交一次。这个当然也是没有问题的,就用我刚才的方法解决看看,还是上图说话。
我又开始啰嗦的解释了,我们用git log --oneline -3查看到了前三条的提交记录,现在,我觉得第二条记录少了一行数据,我要在第二个提交中加入一行数据 。 加入什么数据呢,我用vim编辑后,和cat 和 git df查看,没错,就是加入fifth line这一行。 这个时候提交不多嘛,可以用git reset恢复恢复 (这就是之前为什么用第二个和第三个做例子的原因,因为如果再靠前了,我们就不应该用这个方法了,后面继续)。
我们用git reset 到第二条记录的前一条记录,也就是第二条记录。完了之后呢,我们用git log --oneline -1查看当前的第一条记录,果然是之前的第三条记录,好了,用git status ./查看 ,可以看到这个时候 ,david01已经是modified的状态 ,提示我们提交呢,是不是觉得git很人性化的设计 ,好了,我们用git df查看下david文件内容是不是完全的,OK,我们看到了fifth line,已经全部搞定 ,这个时候根据提示,add ,comit 。最后依次提交所有的东西,我们再用git log查看,是不是很妥了。
要下班了,本来准备明天写的,突然想到一个事情 ,补充一副图,不解释 ,下班~
可能写得不是很周全,动动手吧,若有写的不好的地方 ,欢迎指出~
0 0
- Git之反悔
- Git ---撤销操作(给你反悔机会)
- 马云的反悔
- “反悔”贪心 烤鸡翅
- git之 git checkout
- GIT之git及git服务搭建
- GIT--Git详解之二 Git基础
- Git详解之Git基础
- git 初始化之 git config
- Git详解之 Git 标签
- Git学习之Git对象
- Git学习之Git 重置
- Git学习之Git检出
- Git详解之 Git起步
- git详解之git分支
- git初始化之git config
- git初始化之git config
- Git系列之自定义Git
- 71.根据公式求值
- 解决Windows 7不能通过拖曳打开sql文件
- linux进程(fork/vfork)与wait/waitpid
- 查看Oracle执行计划的几种方法
- Dozer开发手册
- Git之反悔
- LuaTinker
- ERROR:can't locate file for xxx
- spring mvc配置(xml配置详解)
- C++/C笔试面试题目大大的集合
- php中查询mysql 如何在WHERE meta_id IN 中用数组
- GridView用CSS设定样式
- 通过分析 JDK 源代码研究 TreeMap 红黑树算法实现
- Cisco 中line密码的几点理解