远程代码托管平台–GitHub、Gitee的使用

远程代码托管平台–GitHub、Gitee的使用本文章需要阅读者有Git基础,如果不知道Git是什么或者不知道Git的基本操作的小伙伴可以先看一看我上一篇文章:Git的介绍、安装及其基本操作在上一节中我们学习了目前全球最流行的分布式版本控制工具–Git的产生、安装以及基本使用,了解了如何通过Git进行版本控制,但是我们可以发现,在上一节中我们所有的操作都是在本地进行的(由工作区添加到暂存区,由暂存区提交到本地库),但是我们知道,在公司内部,一个项目的开发是由一个团队协作完成的,这种协作包括团队内协作和跨团队协作,那么如何实现团队协作呢?事实上,实

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

一、团队协作与代码托管中心

本文章需要阅读者有Git基础,如果不知道Git是什么或者不知道Git的基本操作的小伙伴可以先看一看我上一篇文章: Git 的介绍、安装及其基本操作

1、代码托管中心

在上一节中我们学习了目前全球最流行的分布式版本控制工具 – Git的产生、安装以及基本使用,了解了如何通过Git进行版本控制,但是我们可以发现,在上一节中我们所有的操作都是在本地进行的(由工作区添加到暂存区,由暂存区提交到本地库),但是我们知道,在公司内部,一个项目的开发是由一个团队协作完成的,这种协作包括团队内协作和跨团队协作,那么如何实现团队协作呢?事实上,实现团队协作需要用到代码托管中心。

2、利用代码托管中心实现团队内协作

假设一个项目由A和B两个人组成的一个团队来共同开发,现在A实现了项目的基本框架,并把相关代码文件提交到了本地库,他希望B来完善该项目的细节,那么整个过程一共可分为四步:

  1. A把本地库中的代码push到代码托管中心的远程库中;
  2. B把远程库中A推送的代码完整的clone到自己的本地库中;
  3. B对本地库中的代码进行修改完善,在获得A的授权后(即A把B添加进自己的团队)把本地库中的代码push到远程库中;
  4. A pull远程库中B push的代码,来对A的本地库进行更新。image-20220628215258281

3、利用代码托管中心实现跨团队协作

假设现在有A和B两个团队合作开发一个项目,A团队负责项目的function1,B团队负责项目的function2,并且两个功能之间是相互关联交叉的,那么A团队和B团队协作的过程分为五步:

  1. B团队把A团队远程库中的代码fork到自己的远程库中;
  2. B团队把自己远程库中的代码clone到自己的本地库中;
  3. B团队把本地库中的代码修改完善后,push到自己的远程库中;
  4. B团队向A团队发送一个pull request
  5. A团队经过审核后merge该分支,从而更新自己的远程库,再把远程库中的代码pull到本地库中进行其他操作。image-20220628223043729

4、常见的代码托管平台

代码托管平台有很多,其中最常用、最流行的是GitHub、Gitee和Gitlab:

  • GitHub:一个基于Git的面向开源及私有软件项目的托管平台,是全球最大的同性交友网站,技术宅男的天堂。
  • Gitee:是基于Git的代码托管和研发协作平台,被称为国内版的GitHub。
  • Gitlab:一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务,一般用来搭建公司内部私有的代码托管中心。(由于GItlab的安装需要购买云服务器,所以本文章不讲)

二、GitHub的使用

1、国内无法访问GitHub问题的解决

由于GitHub是国外的,所以在国内访问GitHub会出现速度慢以及连接失败的问题,我们可以选择Gitee来代替GitHub,但是由于使用GitHub的人数要远多于Gitee,且GitHub上的开源项目十分丰富,所以我们还是有必要掌握一些访问GitHub的方法,此问题的解决方法分为以下几种:

  • 第一:使用梯子翻墙 ;缺点:1、翻墙使用网络网速较慢 2、每次访问GitHub都需要翻墙,比较麻烦 3、在国内翻墙违法;所以我不建议大家为了访问GitHub而去翻墙。
  • 第二:使用各种游戏加速器来加速GitHub,如UU、Steam++;缺点:访问不稳定。
  • 第三:使用镜像站。
  • 第四:通过本地代理直连加速,绕过SNI干扰。
  • 第五:出国。

这里我为大家提供第四种解决方式的具体操作方法,这也是我本人一直在使用的;这种方法是我在逛Greasy Fork的时候无意间发现的,当时我是在浏览GitHub增强的脚本(脚本地址),然后看到作者在对该脚本的介绍中提供了访问GitHub的方法,其中介绍具体解决办法的文章如下:docmirror/dev-sideca(注意:由于这篇文章是在GitHub里面的,所以第一次可能会访问失败,多访问几次或者等几分钟再访问即可),请需要使用此方法的小伙伴仔细阅读该文章,特别是注意文章中提到的软件在打开状态中关闭电脑重启时会出现电脑无法正常上网的问题,虽然解决办法非常简单,但是如果不注意这个点的话可能让自己以为电脑出现了问题;另外由于在GitHub中下载该软件非常慢,速度只有几十KB,所以我把该软件放到了百度网盘中,有需要的自取。

百度网盘链接:https://pan.baidu.com/s/1edtD4fw5uPnOC2bS6OoZtA 
提取码:yzpq

Jetbrains全家桶1年46,售后保障稳定

2、在GitHub上创建远程仓库

2.1 登录/注册GitHub账号

GitHub网址:GitHub: Where the world builds software · GitHubimage-20220629231159503

2.2 创建远程仓库

进入GitHub后点击右上角的+号,然后选择New repositoryimage-20220629231528477

填写仓库名称,仓库性质建议设置为公开image-20220629232334528

3、为远程仓库创建别名

在远程库创建成功后,我们把远程仓库的HTTPS地址复制下来,然后在Git管理文件中打开Git,使用 “git remote add 别名 仓库地址” 命令来创建仓库的别名,别名创建成功后,我们可以通过 “git remote -v” 来查看别名。(注意:粘贴远程库网址的时候不能用Ctrl+V,因为Git的指令与Linux是一样的)image-20220629233100391image-20220629233500668image-20220629233655852

4、推送本地库代码到远程库

在上一节关于Git的介绍中我们已经把测试代码git_test添加至暂存区、提交到本地库了,现在我们只需要通过 “git push 仓库别名 分支名” 命令来把本地库中的代码推送到GitHub中的建立的远程库中。image-20220629235124833

我们输入命令后它弹出提示,让我们登录GitHub账号,点击第一个登录即可。image-20220629235337670

登录账号之后,显示推送成功。image-20220629235819320

推送成功之后,我们刷新GitHub仓库,就会发现我们推送的git_test代码。image-20220630000043771image-20220630000057672

5、拉取远程库到本地库

我们可以在家中登录GitHub修改我们远程库里面的代码,回到公司之后,再拉取远程库中的代码来更新本地库,从而实现随时随地办公。image-20220630101351707image-20220630101625811image-20220630101706195

远程库修改完毕后,我们就可以通过拉取操作来更新公司电脑的本地库代码,拉取命令和推送命令格式一样:“git pull 仓库别名 分支名”image-20220630102157518

6、克隆远程库到本地库

我们可以通过克隆操作克隆GitHub上公开仓库中的代码,这里我以在GitHub随便搜的一个五子棋游戏代码为例:我们搜索五子棋游戏,然后随便点击一个,复制该代码HTTPS链接,然后在Git里面使用 “git clone 链接” 操作来克隆代码。image-20220630103440298image-20220630103516689image-20220630103611669

clone会进行如下操作:1、拉取代码 2、初始化本地库 3、创建别名(origin)image-20220630104333240

7、SSH免密登录

首先,我们要创建SSH公钥:image-20220630105856820

我们在Windows家目录下打开GIt Bush Here ,输入 “ssh-keygen -t rsa -C 邮箱” 来生成.ssh秘钥目录,其中rsa是一种非对称加密协议,-C(大写)是用来指定账号;输入之后,连续敲击三次回车即可;执行成功后就会在家目录下生成一个.ssh文件。image-20220630111024853

然后我们打开id_rsa.pub文件(即公钥文件),复制里面的内容,在我们GitHub账号的设置里面找到SSH and GPG keys进行添加。image-20220630111932374image-20220630112010566image-20220630112058517image-20220630112138254image-20220630112304130image-20220630112334662

利用SSH来拉取以及推送代码时不必每次都输入密码,可以大幅提高工作效率;但是如果要测试我自己账号的SSH免密登录是否有效的话,需要另外一个账号,所以我这里就不在进行演示了,大家只需要在pull以及push的时候把HTTPS的地址换成SSH的地址即可。


三、Gitee的使用

1、Gitee介绍

众所周知,GitHub服务器在国外,使用GitHub作为项目托管网站,如果网速不好的话,严重影响使用体验,甚至会出现登录不上的情况。针对这个情况,大家也可以使用国内的项目托管网站-码云。

码云是开源中国推出的基于Git的代码托管服务中心,网址是 ,使用方式和GitHub一样,而且它还是一个中文网站,如果你英文不是很好它是最好的选择。

点击进入Gitee官网:Gitee – 基于 Git 的代码托管和研发协作平台,然后登录或者注册账号。 image-20220630123056711

2、在码云上创建远程仓库

由于码云完全是仿照GitHub开发的,使用起来与GitHub几乎没有区别,使用后面的系列操作我就不再进行文字描述了,而是直接上流程图。image-20220630123600485image-20220630123728670这里要特别注意:现在码云经过更新后,不能直接把仓库设置为公开,需要先设置为私有,只有等我们往仓库推送一定数量代码后,才能申请仓库公开。

image-20220630124206644

3、为远程仓库创建别名

image-20220630124732732

4、推送本地库代码到远程库

image-20220630124902894远程代码托管平台--GitHub、Gitee的使用image-20220630130427040

拉取远程库到本地库以及克隆远程库到本地库和GitHub操作一样,这里我就不再演示。

5、SSH免密登录

由于在刚才GitHub的演示中我已经生成了.ssh文件,所以这里我就直接用id_rsa.pub在Gitee的设置里面添加SSH公钥image-20220630131126313

image-20220630131225031image-20220630131301635image-20220630131325653

6、Gitee导入GitHub仓库

为了避免GitHub登录不上使得项目无法查看的情况,码云提供了直接把GitHub仓库复制迁移到Gitee的方法,这里我们以刚才在GitHub中创建的daily-study仓库为例:我们点击新建仓库,点击导入已有仓库,然后输入GitHub仓库的HTTPS网址即可。image-20220630132508386image-20220630132550099image-20220630132733352image-20220630132808320我们还可以通过点击小圆圈刷新来获取GitHub远程库中的最新状态来同步仓库。image-20220630132855171


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:http://www.javaforall.cn/234639.html原文链接:http://www.javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • python 报表开发工具_自定义报表 开源

    python 报表开发工具_自定义报表 开源BIRT报表是一款非常流行的开源报表开发工具。拥有和Dreamweaver一般的操作界面,可以像画table一样画报表,生成图片,导出Excel,html分页样样齐全,样式和script设置简单。PentahoReportDesigner是一款所见即所得的开源报表设计工具。在设计报表的时候,用户可以随意拖放和设置各种报表的控件,还可以快速方便地设置报表的数据来源。在报表的设计过程中,用户可…

    2022年10月20日
  • 详解CALayer的anchorPoint和position[通俗易懂]

    详解CALayer的anchorPoint和position[通俗易懂]CALayerCALayer属于QuartzCore框架,用于在iOS和MacOS系统上可见元素的绘制,和属于UIKit框架的UIView的关系是,UIView默认会创建一个CALayer属性,用于图象的绘制和显示.当然,CALayer也可以单独创建.区别UIView可以处理用户交互事件,而CALayer不行.CALayer具备以下UIView没有的功能:阴影,圆角,边框 …

  • Pycharm 安装插件[通俗易懂]

    Pycharm 安装插件[通俗易懂]Pycharm安装插件Pycharm安装插件Pycharm中一些值得安装的插件RainbowBracketsIdeaVimMarkdownNavigatorTranslation如果说编辑器是程序员的武器,那么插件就是装备加成。插件可以让编写代码更加灵活Pycharm安装插件点击file–settings,进入设置找到apperance中的Plugins,在搜索框中搜索想要的插件,然后点击安装即可Pycharm中一些值得安装的插件RainbowBrack

  • IDEA激活成功教程后一直提示JetbrainsAgent 相关的弹框问题

    IDEA激活成功教程后一直提示JetbrainsAgent 相关的弹框问题激活成功教程后打开IDEA就弹框,关闭之后会自动打开浏览器,隔一会也会弹出来 也是一样的问题一开始是说把txt 和 jar 文件放一个路径下之类的方法,几经波折,发现没任何用处~最后各种搜索排查,在设置下更改配置就不弹啦~settings设置下搜索agent 取消”Instrumenting agent(requires debugger restart)”在 Reload classes after compilation:选择第一个 Always…

  • Shiro框架详解[通俗易懂]

    Shiro框架详解[通俗易懂]1.Shiro框架详解一、Shiro能干什么 ApacheShiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能: 认证-用户身份识别,常被称为用户“登录”;授权-访问控制;密码加密-保护或隐藏数据防止被偷窥;会话管理-每用户相关的时间敏感的状态。对于…

    2022年10月26日
  • 百度-Java中级面试题分享-

    百度-Java中级面试题分享-BeanFactory和ApplicationContext有什么区别>BeanFactory可以理解为含有bean集合的工厂类。BeanFactory包含了种bean的定义,以便在接收到客户端请求时将对应的bean实例化。>BeanFactory还能在实例化对象的时生成协作类之间的关系。此举将bean自身与bean客户端的配置中解放出来。BeanFactory还包含了bean生命周期的控制,调用客户端的初始化方法…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号