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

文章目录

    • 前言
    • 1.克隆远程仓库到本地
      • 1.使用命令行通过ssh传输方式克隆远程仓库
      • 2.使用乌龟通过ssh传输方式克隆远程仓库
      • 3.使用乌龟通过https传输方式克隆远程仓库
    • 2.推送拉取使本地和远程仓库同步以及冲突解决
      • 2.1同步本地仓库到远程仓库(推送)
      • 2.2同步远程仓库文件到本地(拉取,获取)
      • 2.3出现冲突,解决冲突

前言

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

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

1.克隆远程仓库到本地

1.在本地先创建一个工作目录用以便将克隆过来的文件存放。
本次演示为了方便,还是以在桌面存放的文件夹作为工作目录。
步骤:在桌面创建一个为repository的文件夹,在点进去创建一个clone-repo的文件夹作为存放克隆创库的工作目录
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第1张图片

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

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

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

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

命令行即为: git clone 远程创库的url
效果:
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第3张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第4张图片

Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第5张图片
可以通过右键乌龟移动到查看日志还有浏览版本库比对查看可知确实是从远程仓库克隆下来,是一模一样的,这里就不演示了,不会的话同样的看上一篇文章,里面有讲到。

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

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

这次换成使用乌龟来演示ssh克隆,首先为了以示区别,换一个github的仓库,换成repo1
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第6张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第7张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第8张图片
点击复制repo1的ssh传输的url
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第9张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第10张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第11张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第12张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第13张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第14张图片

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

使用乌龟演示https克隆方式:
同样的以示区别,切换城github此前已经创建了的创库repo2,复制其https的url
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第15张图片
同样在本地电脑的clone-repo空白处右键克隆
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第16张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第17张图片

等待传输即可Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第18张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第19张图片
至此克隆你已经学会了,无论是使用乌龟还是命令行,又或者是http或者ssh方式传输

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

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

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

示范操作:
步骤:1.在此前克隆下来的repo1仓库,新建一个文件hello3.txt同时将其add即添加操作,添加到暂存区,右键该文件移到乌龟再移到添加
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第20张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第21张图片
2.图标变成这样就是已经添加到了克隆下来的repo1的暂存区,然后提交,即将其提交到本地这个克隆的repo1本地仓库内了。
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第22张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第23张图片
在这里插入图片描述
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第24张图片

3.查看浏览器确定其是否真的加入本地仓库
点击hello3.txt这个目录的空白处,右键移到乌龟,再移动到版本库浏览器。
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第25张图片
4.修改hello3.txt中的内容, 加入一行aaaa,保存,然后点提交填写向hello3.txt添加了一行aaaa,确认提交日志到本地仓库。Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第26张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第27张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第28张图片
5.关闭,然后同步推送该文件到github的repo3到远程仓库同步。

Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第29张图片
远程仓库是没有hello3.txt的现在,所以我们想将这个变化提交给它。 我们右键这个文件夹的空白处, 然后点击同步。(其实也可以在上一步提交完本地就有个推送的按钮,按那个按钮也可以使用远程传输同步)
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第30张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第31张图片
我们使用ssh传输,因为要用https要使用github账户密码验证,个人觉得麻烦就是用ssh了,记住用是选择私钥,因为我们在github上传的是公钥,我们选了私钥会在本地和github的公钥进行比对,匹配成功就可以,看了我上篇文章的就知道是怎么回事Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第32张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第33张图片
添加然后选择是,然后确认,然后回到同步页面选择origin3
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第34张图片
点击推送
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第35张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第36张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第37张图片
查看日志最后现在操作确实是24分钟前。

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

1.在克隆下来repo3下,现在是没hello3.txt的,那些我们想把这个repo3和远程的repo3同步,将刚刚更新的hello3.txt拉取下来
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第38张图片
右键这个repo3选择同步,然后还是一样先看管理看看这个远程传输是哪个仓库的
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第39张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第40张图片
看完我们想起来,我们的repo3是使用ssh从远程的repo3克隆克隆下来的,所以默认的连接就是我们要使用的,那么就确定然后选择拉取
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第41张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第42张图片
也可以通过空白处右键乌龟然后可以选拉取和获取,两二者都是从远程同步本地,不同的是结果有一点区别Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第43张图片
后续会了解,我们可先看一些关于git的理论知识,
拉取和获取的区别可参考以下博文:
https://www.cnblogs.com/zzb-Dream-90Time/p/7654875.html

2.3出现冲突,解决冲突

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

注意:现在本地repo1和repo3的文件都是一样的
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第44张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第45张图片
往repo1的hello3.txt在末尾开始添加

this is repo1 edit
11111
11111

保存,Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第46张图片
然后提交本地仓库,再远程推送到repo3远程仓库
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第47张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第48张图片
提交,看见成功后推送,不累述之前已经讲过
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第49张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第50张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第51张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第52张图片
2.修改本地的repo3然后提交本地推送远程
往repo3里修改添加以下内容

this is repo3 edit
3333
3333
3333
3333

Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第53张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第54张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第55张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第56张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第57张图片
然后推送,此时不能提示不能顺利
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第58张图片
退出码128即有冲突,不一致,本地不是最新的,有人先提交了
可参考:https://blog.csdn.net/qq_42120178/article/details/95377289
那么接下来我们就只能先拉取远程的,再解决冲突,拉取下来后效果:
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第59张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第60张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第61张图片
打开hello3.txt看 Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第62张图片
因为改变行数太近,所以会出现冲突,所以我们要手动解决冲突(也只能手动),我们要按照实际修改该怎么排就怎么排,那这个案例很简单,谁先后没关系,那就把head,==,>>这些删除了,保存。
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第63张图片
我们已经处理了,但是git不知道我们已经处理了,那我们就手动提交已经解决冲突了,右键文件,然后移到乌龟再移到
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第64张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第65张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第66张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第67张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第68张图片
这里日志笔误,实际是3在1前,哈哈哈这是模拟联系,不打紧,工作中要好好检查再提交,不然狗头又要没了哈哈
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第69张图片

然后点击推送,推送成功后就解决冲突啦!!!
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第70张图片
Git之基于图形界面工具乌龟克隆远程仓库到本地演示(乌龟使用ssh和https还有git自带bush命令克隆),以及同步冲突解决演示_第71张图片
之后会更新关于分支的博客,大家觉得写的好的可以继续关注

你可能感兴趣的:(git,git,运维,ssh)