0
点赞
收藏
分享

微信扫一扫

通过码云来学习Git的进阶技能(文末附福利!)



写在前面: 博主是一名大数据的初学者,昵称来源于《爱丽丝梦游仙境》中的Alice和自己的昵称。作为一名互联网小白,​​写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样处于起步阶段的萌新​​​。由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!个人小站:​​​http://alices.ibilibili.xyz/​​​ , 尽管当前水平可能不及各位大佬,但我还是希望自己能够做得更好,因为​​一天的生活就是一生的缩影​​​。我希望​​在最美的年华,做最好的自己​​​!
        上一篇博客博主已经为大家介绍了如何使用码云来入门Git,但不知道大家有没有想过一个问题,如果同一个项目在同一时间被不同的用户克隆或者拉取,然后他们修改了同一个文件,并在不同的时间再push到远程的仓库,那么是否会起冲突呢?以谁的结果为准呢?不用担心,耐心看完本篇博客,你自然就懂了????


通过码云来学习Git的进阶技能(文末附福利!)_服务器


文章目录


  • ​​解决push冲突​​
  • ​​学会使用分支​​
  • ​​切换分支​​
  • ​​分支合并到master​​
  • ​​回退版本​​
  • ​​文末福利​​
  • ​​小结​​

解决push冲突

        首先我们需要先从原项目​​Test_Demo001​​​中克隆出两个新的项目,我们暂且叫他们​​Test_Demo002​​​和​​Test_Demo003​​,用来模拟两个用户的不同行为。

        克隆的方法也很简单。

通过码云来学习Git的进阶技能(文末附福利!)_云计算/大数据_02

        在弹出的选项框中粘贴我们码云仓库上的url和我们克隆项目的输出路径,然后点击Clone就OK了。

通过码云来学习Git的进阶技能(文末附福利!)_服务器_03

        克隆好的项目如下:

        Test_Demo002

通过码云来学习Git的进阶技能(文末附福利!)_码云_04

        Test_Demo003

通过码云来学习Git的进阶技能(文末附福利!)_云计算/大数据_05

        接着在Test_Demo002项目中对Demo01里添加一行的打印语句。

通过码云来学习Git的进阶技能(文末附福利!)_分支合并_06

        跟之前演示的一样,接着提交到本地并push到远程仓库。

通过码云来学习Git的进阶技能(文末附福利!)_云计算/大数据_07

        待到提交成功,我可以在码云的仓库上找到我们更新的内容。

通过码云来学习Git的进阶技能(文末附福利!)_云计算/大数据_08

        紧接着我们在Test_Demo003项目中也对Demo01里进行操作,只不过我们是新添加了一行不同的打印语句!

通过码云来学习Git的进阶技能(文末附福利!)_服务器_09

        然后也将其提交到本地仓库并push到远程仓库。

通过码云来学习Git的进阶技能(文末附福利!)_Git_10

        不出所料,这次就没有这么顺利了!

        IDEA提示我们本次push被拒绝了,我们需要在push之前对数据进行一个合并。

通过码云来学习Git的进阶技能(文末附福利!)_服务器_11

        如果你对合并不知道是什么意思,我们可以点击Merge

        然后就可以看到下面这个界面

通过码云来学习Git的进阶技能(文末附福利!)_服务器_12

        如果还是比较疑惑的话,我们再次点击​​Merge​​合并

通过码云来学习Git的进阶技能(文末附福利!)_云计算/大数据_13

        我们可以通过箭头和x来控制最终数据的生成

通过码云来学习Git的进阶技能(文末附福利!)_分支合并_14

        这里我点击了两边的箭头符号,也就是保留了两边的结果,然后点击了​​Apply​

通过码云来学习Git的进阶技能(文末附福利!)_分支合并_15

        这个时候可能还会报错

通过码云来学习Git的进阶技能(文末附福利!)_服务器_16

        我们再重新手动push一遍

通过码云来学习Git的进阶技能(文末附福利!)_Git_17

        然后终于看到push成功了~

通过码云来学习Git的进阶技能(文末附福利!)_云计算/大数据_18

        然后返回码云仓库,刷新页面,可以发现最近一次的提交的说明信息已经变成合并数据了。

通过码云来学习Git的进阶技能(文末附福利!)_服务器_19

        查看内容,可以发现正是我们两次不同的提交结果的合并!

通过码云来学习Git的进阶技能(文末附福利!)_Git_20

        看到这里,相信大家可能已经明白是咋回事了~

        我们克隆两个项目的目的是模拟两个用户例如A和B,对同一个项目的同一个文件C修改了之后再提交到远程仓库发生了冲突事件。

        先提交的用户A自然没有什么阻碍,但是后提交的用户B却没法正常提交,因为C文件在仓库中的状态已经发生了改变,跟B克隆时获取到的C是两个不同的状态,所以程序也懵了,不知道什么情况。所以就只能由B来抉择,是选择A的方案,还是选择自己的方案,还是合并双方的结果(例如上面所示例的)。

学会使用分支

        上面出现的提交冲突情况,主要原因是A和B对同一个分支的同一个文件的不同操作造成的,所以我们就有必须学习一下如何创建和使用分支。

        分支是为了将修改记录的整体流程分叉保存。分叉后的分支不受其他分支的影响。

通过码云来学习Git的进阶技能(文末附福利!)_分支合并_21

        我们在IDEA中可以右键创建分支。

通过码云来学习Git的进阶技能(文末附福利!)_服务器_22

        也可以直接使用快捷键 ctrl +shift + ` 的方式快速调出这个界面。

通过码云来学习Git的进阶技能(文末附福利!)_服务器_23

        其中,有书签标记的就是指的是当前所在的分支。

通过码云来学习Git的进阶技能(文末附福利!)_分支合并_24

        我们可以创建一个新的分支

通过码云来学习Git的进阶技能(文末附福利!)_Git_25

        输入分支名

        通过码云来学习Git的进阶技能(文末附福利!)_云计算/大数据_26

        创建完毕,也会有提示!

        通过码云来学习Git的进阶技能(文末附福利!)_云计算/大数据_27

        我们在提交的时候,选择创建的分支

进行提交

通过码云来学习Git的进阶技能(文末附福利!)_分支合并_28

        提交之前,我们码云的仓库中只有一个分支

通过码云来学习Git的进阶技能(文末附福利!)_Git_29

        提交之后,我们返回到码云仓库中,就可以发现多了一个分支

通过码云来学习Git的进阶技能(文末附福利!)_分支合并_30

切换分支

        那么我们如何进行分支的切换呢?

        例如在branch1分支切换到其他分支

        切换前

通过码云来学习Git的进阶技能(文末附福利!)_分支合并_31

        切换分支

通过码云来学习Git的进阶技能(文末附福利!)_Git_32

        切换后

通过码云来学习Git的进阶技能(文末附福利!)_服务器_33

分支合并到master

        合并之前,先要保证当前分支为​​主分支​

        将其他分支合并放到主分支

通过码云来学习Git的进阶技能(文末附福利!)_码云_34

        合并前master与三个文件

通过码云来学习Git的进阶技能(文末附福利!)_服务器_35

        合并后master与四个文件(多个那个就是分支中比master分支多的文件)

通过码云来学习Git的进阶技能(文末附福利!)_Git_36

通过码云来学习Git的进阶技能(文末附福利!)_云计算/大数据_37

回退版本

        如果我们在写代码的过程中,想要回退到之前的版本,该怎么操作呢?

通过码云来学习Git的进阶技能(文末附福利!)_码云_38

通过码云来学习Git的进阶技能(文末附福利!)_服务器_39

        回退成功的话,同样也会有提示

通过码云来学习Git的进阶技能(文末附福利!)_Git_40

小结

        本篇博客主要在前文的基础上,为大家带来了一些Git中常用的技能,像是解决push冲突,以及创建分支,分支合并,切换,以及版本回退的操作,都需要大家在看完之后,能花点时间记住即可。

        如果以上过程中出现了任何的纰漏错误,烦请大佬们指正????

        受益的朋友或对大数据技术感兴趣的伙伴记得点赞关注支持一波????

        希望我们都能在学习的道路上越走越远????

通过码云来学习Git的进阶技能(文末附福利!)_Git_41



举报

相关推荐

0 条评论