git使用总结。分支管理,版本跳转回退

git简单的add commit都很简单。查询历史的log status什么也没什么大影响。但是版本之间回退,分支之间的合并这些都比较复杂难懂。今天就来总结一下吧


git checkout作用于工作区。reset还原来自版本库。

reset可以1.版本之间跳来跳去跳的时候用到了HEAD,这儿的--hard 参数指三个区都回退。mixed为只版本区和staged区。soft选项只修改版本库区域。这样看大多都是用hard选项就够了。

2reset也可以让版本库(history区)还原到stage区。


checkout可以让staged区和working区相互转换,这时候要加上--

checkout也可以切换分支。branch。

enter image description here


master是一个指向快照的指针。HEAD可以指向master也可以指向其他的分支比如dev,feature,issue等等。都可以的。

git merge的时候呢。如果是fastforward模式,也就是只有一条线。从祖先直接移动master指针既可以了。如上图,如果merge master和hotfix那么仅仅移动一个指针就可以了。

如果合并hotfix和iss53,那么就不能fastforward了。这种需要解决冲突了。



git会用已有分支 c4 c5和共同祖先c2进行一个三方合并。这时候就是冲突解决问题了。结果产生一个c6,共同祖先,c4,c5



以上的其实不是冲突解决。这种事类似于两个分支在不同的文件上操作。如果两个分支分别在一个文件中操作了,这样就会产生冲突,这时候的冲突解决就出现了

任何包含未解决冲突的文件都会以未合并(unmerged)的状态列出。Git 会在有冲突的文件里加入标准的冲突解决标记,可以通过它们来手工定位并解决这些冲突。可以看到此文件包含类似下面这样的部分:

$ git merge iss53
Auto-merging index.html
CONFLICT (content): Merge conflict in index.html
Automatic merge failed; fix conflicts and then commit the result.

Git 作了合并,但没有提交,它会停下来等你解决冲突。要看看哪些文件在合并时发生冲突,可以用 git status 查阅:

$ git status
On branch master
You have unmerged paths.
  (fix conflicts and run "git commit")

Unmerged paths:
  (use "git add <file>..." to mark resolution)

        both modified:      index.html

no changes added to commit (use "git add" and/or "git commit -a")

任何包含未解决冲突的文件都会以未合并(unmerged)的状态列出。Git 会在有冲突的文件里加入标准的


<<<<<<< HEAD
<div id="footer">contact : email.support@github.com</div>
=======
<div id="footer">
  please contact us at support@github.com
</div>
>>>>>>> iss53
这时候在仅文件里去修改去掉这些符号,那么就好了。这样就解决问题了。然后别忘了再add commit一次。

以上总结自git官网。

https://git-scm.com/book/zh/v1/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA%E4%B8%8E%E5%90%88%E5%B9%B6





diff如果无参数则为 working area  and staged 。一个参数是和working area比较。如果两个参数那么就是各自id比。如果加了--cached则是staged区和最新history区。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值