gitlab创建分支上传文件_Gitlab管理和使用基本教程

一、注册并设置Gitlab个人信息

(一)注册Gitlab

登录Gitlab站点,注册账户,设置基本个人信息。按提示操作即可。

(二)配置ssh连接信息

1.创建SSH密钥

通过下面的命令生成密钥,请将命令中的YOUR_EMAIL@YOUREMAIL.COM替换为你注册Gitlab时用的Email地址。

ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM"

在SSH生成过程中会出现以下信息,按屏幕的提示操作即可:

注意:Enter passphrase (empty for no passphrase) :时,可以直接按两次回车键输入一个空的passphrase;也可以选择输入一个passphrase 口令,如果此时你输入了一个passphrase,请牢记,之后每次提交时都需要输入这个口令来确认。

2.获取公钥内容

SSH密钥生成结束后,根据提示信息找到SSH目录(通常ssh密钥保存路径均为~/.ssh目录),会看到私钥id_rsa和公钥id_rsa.pub这两个文件,不要把私钥文件id_rsa的信息透露给任何人。

用记事本打开id_rsa.pub,复制里面的所有内容以备下一步使用。

3.将密钥中的公钥添加到Gitlab

登录Gitlab的web站点,进入个人资料设置- SSH Keys页面,将第2步所获得的内容粘贴在文本框key内,并填写title以便记忆,而后保存。

二、代码管理

除克隆、修改、提交代码外,其它merge、建立分支等操作都在Gitlab网页端进行。

所有分支中,master分支为主干分支,此分支的代码不允许直接修改,只能由其它分支(一般只由develop分支)发出merge请求,经项目管理员代码审查通过后合并代码,普通开发者无权执行push、merge等操作,确保此分支任何时候、任何tag处导出的项目代码都是稳定可正常运行的代码;develop分支为开发分支,可以接受由其它分支发起的merge请求,同样只能经项目管理员代码审查通过后予以合并。

(一)新建项目

对于独自承担的不依赖系统的任务,如各种应用类app,可以在web端建立自己的项目,便于代码控制。

而后取得项目地址,如“:root/uboot.git”(有的服务器上显示为“ssh://it@lsyer-ThinkPad-E420:root/uboot.git”,两者相同,因为git会默认使用ssh协议),并在pc端初始化并上传代码。

$ git clone:root/uboot.git

$ cd uboot

——(在此文件夹下添加初始代码)——

$ git add .

$ git commit -m “Initial”

$ git push -u origin master

(二)建立自己的开发分支

进入Gitlab项目主界面后,在网页端新建分支,作为自己开发的专属分支,之后个人所有开发都在此分支进行。

其中,分支命名建议以develop_XXX形式命名(xxx为自己的代号或姓名简拼),来源分支初始时一般从master分支而来。

以后的开发过程中,若需临时增加分支,按照以上操作,酌情执行。

(三)克隆分支代码

基本命令结构如下:

$ git clone -b  [remote repository address]

如测试服务器boot项目的git地址为“it@lsyer-ThinkPad-E420:root/uboot.git”,分支名为“develop_lsyer”,则此命令为:

$ git clone -b develop_lsyergit@lsyer-ThinkPad-E420:root/uboot.git

进入代码目录,查看分支,确认下载成功且当前分支为所需分支。执行结果如大致如图:

(四)提交已修改的代码

git代码库是分布存储的,分为本地库和远端库。执行push操作之前,不影响远端库;commit操作只修改本地库。因此,本地修改代码后,若要上传至服务器需三个操作:

$ git add .

$ git commit -am “update comments”

$ git push origin develop_lsyer:develop_lsyer

其中,若本地修改时增加了文件,则需要执行第一条命令,“.”代表当前目录下所有文件,也可指定某文件,如“git add theAddFile.c”;

第二条命令将修改提交到本地库,am参数指明本次修改的注释,一般只用英文;

第三条命令将本地代码提交到远端服务器,origin表示远端默认服务器,在“git clone”时已指明,第一个develop_lsyer表示本地的分支名,第二个develop_lsyer表示远端分支名,整条命令表示将本地的develop_lsyer分支代码修改情况,merge到远端的develop_lsyer分支。

(五)合并代码到主分支

此步骤在Gitlab网页端执行。

自己的代码修改调试通过,需要适时合并到主干分支,则需要发起merge请求。在发起merge请求前,先通过步骤(三)将已测试通过的代码push到远端自己所属分支,而后打开Gitlab站点执行操作。如图。

填写相关信息,需要注意最后三项,可以看到是合并方向,是从Source branch的“develop_lsyer”到Target branch的“master”分支,且根据需要选择是否合并后删除本分支。一般临时性分支可以选择合并后自动删除,个人工作分支一般不选。最后点击提交请求即可。

(六)同步远端最新代码

$ git fetch origin master:tmp

$ git diff tmp

$ git merge tmp

$ git branch -d tmp

第一条表示从origin处获取master的代码,存在本地的tmp分支中;

第二句表示将tmp分支中的代码与本地当前分支的代码进行对比,查看异同,等同于“git diff tmp develop_lsyer”,显示内容中“+”表示命令中后一分支多出的部分、“-”表示命令中后一分支少的部分;

第三句表示将tmp分支合并到当前分支;

第四句表示删除tmp分支。

三、Gitlab基本管理

(一)权限控制

从Gitlab的web端完成,使用成员分组和保护分支功能实现。

在项目主页的设置中,点击进入“Protected Branches”配置页面:

进入设置页面,如下:

从上图可见,上半部分是新增保护分支,下面是已处于保护状态的分支列表。其中,master分支是项目的默认分支,且已处于保护状态,merge和push操作只有Masters组的成员才能进行,可以根据需要直接修改。

(二)处理merge请求

一旦有成员发起了merge请求,Merge Requests处会显示尚未处理的请求数量,不为0时可进入页面进行处理。

之后点击某个要处理的请求,可以看到具体的修改信息,如Commits和Changes,以及发起请求的来源分支、成员、备注等信息。拥有Merge权限的成员审查后,选择通过、修改或关闭。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WinUI 3 Preview 3 发布了,再一次试试它的性能

1. WinUI 3在微软 Build 2020 开发者大会上,WinUI 团队宣布可公开预览的 WinUI 3 Preview 1,它让开发人员可以在 Win32 中使用 WinUI。最终 XAML 的新功能不再和 Windows SDK 绑定,所有新的 XAML 功能都将作为 WinUI 的一部分发布。作为 OS 的…

机器学习的一般流程

机器学习的一般流程 一、数据采集与标注二、数据探索1、认识数据2、基本统计数据描述三、数据预处理1、数据清洗(1)、缺失值处理(2)、异常值处理(3)、重复值的处理2、数据集成3、数据变换(1)、简单函数变换(2)、规范化(归一化、标准化)(3)、连续属性离散化(4)、属性构造(5)、特…

m苹果放n篮子_egg appple千万别翻译为“鸡蛋苹果”,老外听到会懵圈的

egg很熟悉,apple也很熟悉,可是egg apple就让人一脸懵了,鸡蛋苹果是啥玩意?难道中国人有番茄鸡蛋,而歪果仁喜欢鸡蛋炒苹果?1:egg apple 是什么意思?其实英国人眼中的茄子是 egg apple…

基于.NET Core的简单,跨平台,模块化的电子商务系统-SimplCommerce

SimplCommerce是基于.NET Core的简单,跨平台,模块化的电子商务系统官网:www.simplcommerce.com开源地址:https://github.com/simplcommerce/SimplCommerce高层架构在线演示(Azure网站)店面:http…

acwing——每日一题——总结

acwing——每日一题——总结 第一周1、笨拙的手指(考查点:进制转换)2、干草堆(考查点:差分+前缀和)3、奶牛选美(bfs模板+floodfill算法)4、拖拉机(bfs+双端队列=迪杰斯特拉算法)5、岛6、马蹄铁7、打乱字母第二周1、寻找序列2、序列凑零3、矩阵复原第一周 1、笨拙的手指(考查…

grade项目导入新external libraries_【易推荐】德意志银行学院中国项目启动

展翅高飞 开阔眼界探索新的机遇总会令人振奋不已。德意志银行集团(以下简称德意志银行或德银)举办了“德意志银行学院”项目(DB Academy,以下简称“德银学院”)。如果同学们有投身金融服务行业的志向,欢迎加入德银学院在中国的项目。“德银学院”项目为…

程序员过关斩将--请不要误会redis 6.0 的多线程

“你对redis的单线程是不是有点误会?“你对redis 6.0的多线程是不是也有点误会?“redis多线程一定可以提高性能吗?redis官方刚刚发布的6.0版本已经掀起了业界一阵热波,在这个版本中新加了很多新特性,如果你打开redis的…

python 防止转义_python字符串前加r、f、u、l 的区别

f-strings 是指以f或F 开头的字符串,其中以 {}包含的表达式会进行值替换。(目前支持python3.6版本)下面看下f-strings的使用方法基本使用(作用:替换值)在字符串前加r可防止字符串转义作用:没有转…

动手实现深度学习pytroch版

深度学习介绍: 数据预处理

如何使用 C# 中的 Lazy

延迟初始化 是一种将对象的创建延迟到第一次需要用时的技术,换句话说,对象的初始化是发生在真正需要的时候才执行,值得注意的是,术语 延迟初始化 和 延迟实例化 的意思是相同的——可以互换使用,通过使用 延迟初始化 技…

c++ eos智能合约开发_[EOS智能合约]第二节:用EOS开发一个To-do List小应用

EOS Asia本教程原文作者为EOS Asia,亚洲最具技术实力和最国际化的EOS超级节点竞选者。EOS Asia 同时也是EOS Gems和Traffic Exchange Token这两个项目背后的开发者。本文由 DappReview 获得 EOS Asia 授权进行翻译并发表。本篇是EOS智能合约系列第二弹,该…

acwing2058. 笨拙的手指(进制转换)

题目含义: 给出一个二进制数,三进制数(这俩数有且一位是错误的) 请输出他们对应的十进制数 原题链接 视频讲解 问题难点: 其他进制转化为十进制算法 大数据的读入 string 按位异或运算(常用的ACSII码值)

使用Github部署Azure应用服务

上次我们介绍了如果使用Azure应用服务(不用虚机不用Docker使用Azure应用服务部署ASP.NET Core程序)。我们通过Visual studio新建一个项目后手动编译发布代码。然后通过FTP上传我们的发布文件。整个过程跟我们手动发布项目到IIS上其实没啥差别。这么操作有点繁琐,显然…

7搭建zabbix_监控03分布式监控Zabbix

监控03-分布式监控Zabbix一、Zabbix概述Zabbix是一个基于Web界面的分布式系统监控与网络设备监控系统,能够监控各种网络参数,并提供灵活的通知机制,以使管理员能快速定位故障并解决。由于zabbix server端与zabbix agent组成,可通过…

acwing2041. 干草堆(差分数组)

题目描述: 原题链接 视频讲解 差分算法(前缀和的逆运算) 差法算法(差分与前缀和的下标都从1开始,避免出现越界) 算法思路:给l,r区间内加上x,则表示为在l的位置+x,在r+1的位置上-x,就可抵消掉+x在r+1开始后的贡献,再利用前缀和就能一次求出答案

ABP的新旧版本选型

新版本 (abp vnext )https://www.abp.io/ABP是一个开源的应用程序框架ASP.NET基于核心的web应用程序开发,也支持开发其他类型的应用程序。对旧版本的重写,基于ASP.NET CORE,主要定位微服务;//Base class for CRUD services publi…

各纬度气候分布图_欧洲气候特征:以温带气候类型为主,是海洋性气候最显著的大洲...

气候是一个区域内大气物理特征的长期多年平均状态,是一种相对稳定的自然地理要素,包括气温、热量、降水、光照等气候要素组成。根据全球不同区域的气候特征来划分出不同的气候类型,主要的气候类型包括热带雨林气候、热带草原气候、热带沙漠气…

.NET 5开源项目:b站账号快速升级到 Lv6,每天自动签到,观看,分享,投币视频!...

推荐一个神奇的开源项目:BiliBiliToolhttps://github.com/RayWangQvQ/BiliBiliTool.Net 5 编写的B站(哔哩哔哩)任务工具,通过GitHub Actions实现每日线上自动运行任务:每日自动登录、观看、分享、投币视频,…

acwing2060. 奶牛选美(bfs)

题目描述: 题目描述:在一个二维矩阵中,有两个点的集合,找到最短的距离(从一个集合到另一个集合中)距离的计算方式为(曼哈顿距离) 曼哈顿距离:两点间的曼哈顿距离 = | x1 - x2 | + | y1 - y2 | 输出最短距离 原题链接 视频讲解 问题难点: 二维矩阵使用了字符类型存储 PI…

pandas用均值填充nan_Pandas学习笔记(三)

前言学习Pandas的最好方式就是多用它,只有在实际中多用,才能更好地掌握其中的技巧,这一次我们从数据的聚合来开始。GroupBy的使用聚合的意思指的是对数据框架中某一类型的数据进行整合,在整合后可以对其进行求和、求平均值等操作&…