当前位置:网站首页 > 云服务教程 > 正文

git clone教程(git clone github)



在上一篇教程中我们已经配置好Ubuntu20.04环境,并且将Git和自己的GitHub账号建立了链接配置,详情请看上一篇教程:

本篇分享如何利用Git推拉Github上的代码。

以PX4开源飞控固件为例,打开PX4的github主页,可以看到PX4有很多仓库,常见的PX4固件和用户指导手册已经置顶,方便我们寻找,我们要克隆的是PX4的固件,所以是下图中箭头所指的那个。

点进PX4_Autopilot后,可以看到有branch(分支)和Tag(版本标签),branch是当前最新版本下的分支,我们如果想下载历史版本,需要点击Tag切换到历史版本,如我想下载V1.13.3版本,点击Code→Local→SSH,复制当前版本的git地址,如下图所示。

然后回到ubuntu界面下,输入克隆命令如下:

 
  

但是存在一个问题,会出现网络慢下载出现各种错误,因为这个指令的-b是表示切换分支,切换到v1.13.3,所以会到那个分支下去搜索并下载,卡在55%进度十几分钟,不得已crtrl+c中断下载,再次下载的时候显示文件夹已经存在,通过ls -l 查询下载的PX4_Autopilot里的内容,什么都没有是空的,如下图所示:

所以改用三个指令完成,第一个指令:

 
  

界面如下图所示,几分钟就下载完成。

第二个指令是cd进入刚刚下载好的PX4-Autopilot,并且通过ls -l发现此文件夹下已经有很多内容了,说明克隆成功了,然后通过git checkout v1.13.3切换到v1.13.3版本分支下

第三个指令就是下载V1.13.3分支下与最新版本不同的地方,但是在执行的过程中还是会出现failed和error字样,多次执行这个命指令即可,直到输入这个指令后什么也没有为止

 
  

然后查看当前下载的版本是不是我们想要的v1.13.3,输入git describe --tag查询版本号

 
  

这就是克隆代码的全部步骤。

首先要在github上建立一个远程仓库,点击左上角的三个横杠,然后点击新建仓库

仓库名字随便起,描述部分可以写上仓库的简要说明,然后点击create repository,如下图所示:

下一步回到ubuntu,进入本地想推送的代码目录下,通过ls -a 可以看到当前目录下的所有文件,包括隐藏文件,此时没有.git文件

在终端中输入如下指令初始化本地仓库生成.git文件,可以看到.git已经生成,表示本地git初始化完成:

 
  

下一步是将本地仓库和github上的远程仓库连接起来,首先执行下述代码进行配置,Test 是你的github仓库别名(默认是为origin,这个其实可以随便改的),XXXX1992就是你的github的名字,aliyun_PX4为githubb上的的仓库名字,连接后用git status可以看到当前的分支在master上。

 
  

这个地方存在一个坑,如果不用http传输,就不要去设置token令牌,我测试发现token令牌设置了http传输也存在问题,所以要用ssh方式传输,怎么区分ssh和http的仓库地址,看下图,进入你的github仓库,点code→SSH,复制这个连接,最明显的区分方法就是你点http的时候复制的那个连接地址是以http为开头的,ssh开头的是以git开始的,这点真的是大坑,困扰了我好久。

然后关联本地仓库和github远程仓库,执行下述代码,其中Test是上一步建立的本地仓库名称,,也是远程仓库的别名,XXXX1992是你的github名字,aliyun_PX4是你的github远程仓库的名字。

 
  

然后使用如下指令可以查看本地仓库和远程仓库的关联

 
  

我之前提交过了,这次再本地文件夹内新增了一个123.txt文件,然后使用git add 123.txt将当前目录下的所有文件加入到暂存区中,

 
  

暂存区中的修改提交到本地仓库,并添加提交信息,“PX4新增123.txt提交”,这个你随便写,是你对本次提交的说明。

 
  

从下图可以看到已经检测到chang了,有两个chang是因为我把之前的在本地的一个测试文件删除了,我没有把这个push提交上去,所以会检测出来,这次随着123.txt的新增会一起改变,这样推送上的代码就是把我之前的那个ubinavi文件删除,把123.txt文件新增到github的aliyun_PX4仓库中

push之前看一下我的github上的aliyun_PX4仓库,是存在ubinavi的,我在本地已经删除这个文件了,如果这次push那么这个文件再gihub上也会被删除。

然后最后一步就是推送代码了,输入以下指令,Test就是我后来又给远程仓库起的别名,master就是分支

 
  

下图的意思就是说我们已经提交成功了,我们通过本地仓库Test,把我们的123.txt这个文件推送到远程的github上master分支了,同时把ubinavi在github仓库删除了

去看github的aliyun_PX4仓库,发现ubinavi那个文件确实不见了,123.txt被添加上去了,至此所有工作完成。

到此这篇git clone教程(git clone github)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 如何安装虚拟机xp系统(如何安装虚拟机xp系统教程)2025-07-06 09:18:09
  • 2263xt开卡教程(2263xt开卡工具)2025-07-06 09:18:09
  • git简易教程(git简书)2025-07-06 09:18:09
  • 虚拟机安装详细教程手机(虚拟机安装详细教程手机软件)2025-07-06 09:18:09
  • 电脑剪辑视频教程 新手(电脑剪辑视频的教程)2025-07-06 09:18:09
  • webflux入门(webflux视频教程)2025-07-06 09:18:09
  • junit5怎么下载(junit4下载教程)2025-07-06 09:18:09
  • 博图v15程序加密(博图v15密钥教程)2025-07-06 09:18:09
  • 天国拯救战斗系统详解(天国拯救战斗技巧教程)2025-07-06 09:18:09
  • 单片机程序编写教程(单片机编写程序的步骤视频)2025-07-06 09:18:09
  • 全屏图片