共计 675 个字符,预计需要花费 2 分钟才能阅读完成。
在提交一个版本,现在又需要需要新的版本,我们的代码都是在不断的更新的,现在我们开始更新一下文件里面的东西,这样就创建了第二个版本了
刚才的修改,sourcetree已经检测到了,这个就是你修改的第二个版本
git既然是版本管理,那么就可以让你在不同的版本之间来回穿梭,套用廖雪峰教程里面的词汇–时光机,你可以使用时光机在不同的版本之间来回穿梭
ok,现在我们开始尝试穿梭到第一版也就是最原始的版本
在sourcetree提交将master重置到第一次版本的提交时,会出现三种选择,现在我们依次尝试来区分这三种情况之间的区别
1、软合并,保留本地的改动
在这个操作之后的结果如下所示
你修改的第二个版本的内容竟然都在,也就是你做的改动都被完整的保留下来了,这就是软合并,你同时也会发现修改的文件现在已经在暂存区了,就是相当于git add的作用
2、混合合并
现在在对比一下混合合并之后的结果
此时与上一个对比,你会发现这个文件所处的位置不一样了,现在的文件处于未暂存状态,也就是你修改的文件没有进行git add的过程
处于这个状态的时候你就不能从远程拉取版本来更新本地,因为你会遇到冲突,因为远程的文件和你们本地的文件在同一个位置出现了修改,所以认定冲突,需要你自己去选择保留本地或者是远程
3、强行合并-丢弃所有的副本修改
从这个字面意思就可以发现你现在的修改都要被丢弃了,即你在第二个版本里面做的任何修改都被丢弃了
多么智能的提醒,这个将会丢弃现在做的任何修改,然后本地的文件就是恢复到最初始的版本
这篇文章主要是各个版本之间的来回穿梭,你可以随意切换到任意一个版本,cool