Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示

前言

首先要知道为什么要克隆仓库,克隆下来有什么用
有两个用处:

  • 一.是学习阶段,下载别人源码下来学习,虽然是可以选择用下载的方式,但是毕竟作为开发者还是要懂得用Git,这样自己发现问题可以提交回给作者,进行沟通,不管对错,讨论后得出结论,就有收获进步!!!
  • 二.就是公司协同开发啦,没得说,当然一般是私服,付费仓库操作也是大同小异吧。

1.克隆远程仓库到本地

1.在本地先创建一个工作目录用以便将克隆过来的文件存放。
本次演示为了方便,还是以在桌面存放的文件夹作为工作目录。
步骤:在桌面创建一个为repository的文件夹,在点进去创建一个clone-repo的文件夹作为存放克隆创库的工作目录
在这里插入图片描述

可能有些小伙伴看到这个repo1有点困惑,但是看过我上篇文章的小伙伴就知道这个repo1是用来演示增删改查操作的,如果不会创建的本地仓库去看上一篇文章吧!!!
Git之基于图形界面工具TortoiseGit(乌龟git)增删改查本地仓库以及建立远程仓库,同步本地仓库至远程仓库github

1.使用命令行通过ssh传输方式克隆远程仓库

2.接下来是进行克隆,首先还是使用ssh方式克隆,同样的ssh需要配置公钥私钥配对,需要先给github或者其他类似github的网站加入ssh的公钥,不会的还是点击上面的链接,看我第一篇文章,里面有图文教程。(里面还有创建github仓库教程)
步骤:先开通github账户和创建远程仓库,上篇文章已经创建了,那么我们就直接使用上篇文章创建的远程仓库repo3,点击复制ssh传输使用得url。
在这里插入图片描述
以下先演示用命令行克隆:
先在clone-repo目录下,右键git bush here,输入

$ git clone git@github.com:calmtho/repo3.git

命令行即为: git clone 远程创库的url
效果:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
可以通过右键乌龟移动到查看日志还有浏览版本库比对查看可知确实是从远程仓库克隆下来,是一模一样的,这里就不演示了,不会的话同样的看上一篇文章,里面有讲到。

注意:
如果是使用https传输方式只要将url变成https的url就可以了

2.使用乌龟通过ssh传输方式克隆远程仓库

这次换成使用乌龟来演示ssh克隆,首先为了以示区别,换一个github的仓库,换成repo1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击复制repo1的ssh传输的url
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.使用乌龟通过https传输方式克隆远程仓库

使用乌龟演示https克隆方式:
同样的以示区别,切换城github此前已经创建了的创库repo2,复制其https的url
在这里插入图片描述
同样在本地电脑的clone-repo空白处右键克隆
在这里插入图片描述
在这里插入图片描述

等待传输即可在这里插入图片描述
在这里插入图片描述
至此克隆你已经学会了,无论是使用乌龟还是命令行,又或者是http或者ssh方式传输

2.推送拉取使本地和远程仓库同步以及冲突解决

我们知道git最大的好处就是协同开发,那自然就本地和远程仓库自然在我们操作前或者操作后应该进行一个同步,这样才能保证一致性和时效性。此前一直讲的是克隆或者直接创建仓库,这种操作更多是在项目开始,或者刚刚接手项目的是很好会做这一块,而后相信做的更多的都是拉取和推送文件,修改了啥,就传啥。那么既然是协同开发,冲突是难免的,尤其是大家修改的东西的行数相差不远的情况下,彼此提交的时候,本地仓库和远程仓库不一致的情况下常会产生冲突,那么接下来,就讲解一下,怎么使用乌龟推送同步仓库以及怎么解决冲突。

2.1同步本地仓库到远程仓库(推送)

示范操作:
步骤:1.在此前克隆下来的repo1仓库,新建一个文件hello3.txt同时将其add即添加操作,添加到暂存区,右键该文件移到乌龟再移到添加
在这里插入图片描述
在这里插入图片描述
2.图标变成这样就是已经添加到了克隆下来的repo1的暂存区,然后提交,即将其提交到本地这个克隆的repo1本地仓库内了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.查看浏览器确定其是否真的加入本地仓库
点击hello3.txt这个目录的空白处,右键移到乌龟,再移动到版本库浏览器。
在这里插入图片描述
4.修改hello3.txt中的内容, 加入一行aaaa,保存,然后点提交填写向hello3.txt添加了一行aaaa,确认提交日志到本地仓库。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.关闭,然后同步推送该文件到github的repo3到远程仓库同步。

在这里插入图片描述
远程仓库是没有hello3.txt的现在,所以我们想将这个变化提交给它。 我们右键这个文件夹的空白处, 然后点击同步。(其实也可以在上一步提交完本地就有个推送的按钮,按那个按钮也可以使用远程传输同步)
在这里插入图片描述
在这里插入图片描述
我们使用ssh传输,因为要用https要使用github账户密码验证,个人觉得麻烦就是用ssh了,记住用是选择私钥,因为我们在github上传的是公钥,我们选了私钥会在本地和github的公钥进行比对,匹配成功就可以,看了我上篇文章的就知道是怎么回事在这里插入图片描述
在这里插入图片描述
添加然后选择是,然后确认,然后回到同步页面选择origin3
在这里插入图片描述
点击推送
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查看日志最后现在操作确实是24分钟前。

2.2同步远程仓库文件到本地(拉取,获取)

1.在克隆下来repo3下,现在是没hello3.txt的,那些我们想把这个repo3和远程的repo3同步,将刚刚更新的hello3.txt拉取下来
在这里插入图片描述
右键这个repo3选择同步,然后还是一样先看管理看看这个远程传输是哪个仓库的
在这里插入图片描述
在这里插入图片描述
看完我们想起来,我们的repo3是使用ssh从远程的repo3克隆克隆下来的,所以默认的连接就是我们要使用的,那么就确定然后选择拉取
在这里插入图片描述
在这里插入图片描述
也可以通过空白处右键乌龟然后可以选拉取和获取,两二者都是从远程同步本地,不同的是结果有一点区别在这里插入图片描述
后续会了解,我们可先看一些关于git的理论知识,
拉取和获取的区别可参考以下博文:
https://www.cnblogs.com/zzb-Dream-90Time/p/7654875.html

2.3出现冲突,解决冲突

1.首先要制作冲突,就是模拟实际中可能出现的情况,如大家同时开发用时拉取,一个人修改了文件先提交了推送远程,而我们修改也想推送远程,那么这时候就有可能出现冲突了。

注意:现在本地repo1和repo3的文件都是一样的
在这里插入图片描述
在这里插入图片描述
往repo1的hello3.txt在末尾开始添加

this is repo1 edit
11111
11111

保存,在这里插入图片描述
然后提交本地仓库,再远程推送到repo3远程仓库
在这里插入图片描述
在这里插入图片描述
提交,看见成功后推送,不累述之前已经讲过
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.修改本地的repo3然后提交本地推送远程
往repo3里修改添加以下内容

this is repo3 edit
3333
3333
3333
3333

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后推送,此时不能提示不能顺利
在这里插入图片描述
退出码128即有冲突,不一致,本地不是最新的,有人先提交了
可参考:https://blog.csdn.net/qq_42120178/article/details/95377289
那么接下来我们就只能先拉取远程的,再解决冲突,拉取下来后效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打开hello3.txt看 在这里插入图片描述
因为改变行数太近,所以会出现冲突,所以我们要手动解决冲突(也只能手动),我们要按照实际修改该怎么排就怎么排,那这个案例很简单,谁先后没关系,那就把head,==,>>这些删除了,保存。
在这里插入图片描述
我们已经处理了,但是git不知道我们已经处理了,那我们就手动提交已经解决冲突了,右键文件,然后移到乌龟再移到
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里日志笔误,实际是3在1前,哈哈哈这是模拟联系,不打紧,工作中要好好检查再提交,不然狗头又要没了哈哈
在这里插入图片描述

然后点击推送,推送成功后就解决冲突啦!!!
在这里插入图片描述
在这里插入图片描述
之后会更新关于分支的博客,大家觉得写的好的可以继续关注

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值