当前位置: 首页 > news >正文

Git仓库介绍

1. Github

        GitHub 本身是一个基于云端的代码托管平台,它提供的是远程服务,而不是一个可以安装在本地局域网的应用程序。因此,GitHub 不可以直接在本地局域网进行安装

  • 简介:GitHub是最流行的代码托管平台,提供了大量的公开和私有仓库。它具有广泛的社区和功能,允许开发人员协作、代码审核和问题跟踪等。
  • 特点:GitHub提供了一个基于Web的界面,允许开发者在云端存储、共享和协作开发代码。它还提供了强大的版本控制功能、项目管理工具和社区支持。
  • 用户群体:适合各种规模的团队和个人开发者,特别是开源项目的发布和维护。

2. GitLab

        GitLab 是一个开源的代码托管平台,它提供了类似于 GitHub 的功能,但允许用户在自己的服务器上部署和运行。这样,用户就可以在本地局域网内搭建一个私有的 Git 仓库,供内网用户进行代码托管、版本控制、代码审查、持续集成/持续部署(CI/CD)等操作。

  • 简介:GitLab是一个开源的代码托管平台,类似于GitHub。它提供了类似的功能,但还包括持续集成和部署、代码审查等功能。
  • 特点:GitLab不仅提供了代码托管功能,还包括持续集成、容器注册表、问题跟踪等功能,为开发者提供了全面的解决方案。
  • 用户群体:适合需要高度定制化和集成其他开发工具的企业和组织。也是更适合需要更多自定义和自主控制的企业用户。

国内仓库:Coding、码云、阿里云等,不做介绍。

总结:

1)Github和Gitlab是国际知名的云托管平台,用户和使用率最多。其服务器在国外,国内访问慢。对英文基础差的不是很友好。国内仓库较国外仓库访问快,具体配置和使用可以百度。

2)Gitlab提供部署功能,可以在本地内网搭建一个私有的 Git 仓库,可以自行搭建和托管,并且配备了汉化包,是一般软件公司管理本公司代码的首选。

3. Gitlab的使用

1)GitLab中新建项目时,一般默认创建远端的默认分支。

        默认分支的命名:GitLab的默认分支名称通常是"master"或"main"。考虑到行业趋势和GitLab的官方声明,自2020年起,GitLab逐渐将默认分支名称从master更改为main,因此现在大多数新建的GitLab仓库默认分支很可能是main

注意: 在Gitlab上的的操作都是远端仓库操作,比如创建分支:创建的是远端分支。

2)分支介绍

(1)在Git中,remotes/origin/*格式的引用代表了远程仓库中的分支,当您在尝试切换Git分支时,如果看到输出类似于remotes/origin/main 和 remotes/origin/develop的信息,这意味着您正在查看的是远程仓库(在这里是origin)上的分支,而不是您本地的分支。

(2)main / develop代表是本地仓库

 (3)当第一次克隆项目代码到本地时,一般本地只有一个本地仓库:main/master分支的本地仓库;当切换到其他远端分支,会创建其他分支的本地仓库;这些本地仓库在删除本地项目代码后会连同被删除。

(4)一般操作某项目代码时,最好先删除本地代码,再重新克隆。这样本地才是远端仓库最新版本。

3)项目分支框架(项目管理)

         一个项目一般包括1个主分支、1个或多个其他开发分支。

        新建项目(创建main/master分支):一般不直接进行此分支的操作,级别最高的分支。因为:项目一般不是一个人在维护和开发,直接提交到main/master分支,bug率会很高。

        根据main/master分支创建开发分支develop:一般代码经过验证,提交到此分支。

一个版本周期或一段时间,develop代码稳定,无bug出现,会将此周期内develop的修改合并到main/master分支。由main/master分支发布版本。

 4)分支合并

Gitlab中点击“+”号,选择“新建合并请求”:

(1)不选中“删除源分支”,选中后合并修改后develop分支会被删除。

(2)点击“合并”。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Vue get请求传递数组,springboot接受数组(ai生成)
  • 【uniapp微信小程序】uniapp微信小程序——页面通信
  • ChatGPT对话:Scratch编程中一个单词,如balloon,每个字母行为一致,如何优化编程
  • 第2章 大话 ASP.NET Core 入门
  • Python | Leetcode Python题解之第225题用队列实现栈
  • 【高中数学/指数、对数】已知9^m=10,a=10^m-11,b=8^m-9,则ab两数和0的大小关系是?(2022年全国统考高考真题)
  • 架构师机器学习操作 (MLOps) 指南
  • OR-152 IGBT光耦系列
  • wpf中ComboBox属性text 绑定变量后画面上不显示值
  • Github Action 自动部署更新静态网页服务
  • 华为机考真题 -- 密码解密
  • Spring的bean的生命周期——bean的创建与销毁
  • 灵岫科技技术二面\.(过了)
  • Go语言---文件分类、设备文件、磁盘文件、实现打开/写/读/关闭/拷贝文件
  • 20.js获取页面卷去的距离以及滚到到指定位置
  • ES6指北【2】—— 箭头函数
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 2017年终总结、随想
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • CentOS7简单部署NFS
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • interface和setter,getter
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • mysql 数据库四种事务隔离级别
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Vue UI框架库开发介绍
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 编写符合Python风格的对象
  • 多线程 start 和 run 方法到底有什么区别?
  • 基于 Babel 的 npm 包最小化设置
  • 技术发展面试
  • 什么软件可以剪辑音乐?
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 思维导图—你不知道的JavaScript中卷
  • 写给高年级小学生看的《Bash 指南》
  • 从如何停掉 Promise 链说起
  • #1014 : Trie树
  • #微信小程序(布局、渲染层基础知识)
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (day 12)JavaScript学习笔记(数组3)
  • (k8s中)docker netty OOM问题记录
  • (阿里云万网)-域名注册购买实名流程
  • (九)One-Wire总线-DS18B20
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (七)Knockout 创建自定义绑定
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .Net 执行Linux下多行shell命令方法
  • .NET业务框架的构建
  • .net专家(张羿专栏)
  • .pop ----remove 删除
  • /var/spool/postfix/maildrop 下有大量文件
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @font-face 用字体画图标
  • [] 与 [[]], -gt 与 > 的比较
  • [202209]mysql8.0 双主集群搭建 亲测可用