Git+Gitlab 远程库测试学习

news2024/11/25 20:55:01

Git远程仓库

1、Git远程仓库

何搭建Git远程仓库呢?我们可以借助互联网上提供的一些代码托管服务来实现

Gitee

码云是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快

码云 Gitee - 基于 Git 的代码托管和研发协作平台

GitLab

GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

GitLab The One DevOps Platform | GitLab

本文章以 极狐gitlab 作为远程仓库学习举例

GitHub

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub

gitHub GitHub: Let’s build from here · GitHub


2、从远程库克隆

git clone <url>   直接clone,不用初始化本地库git init。如

git clone https://jihulab.com/csdn1/hello-jihu.git

命令执行完后,会自动为这个远程仓库建一个名为origin的代号.有了这个origin以后直接推送就行,不用再给远程仓库起别名

有可能的报错:

Incorrect username or password (access token)
fatal: Authentication failed for 'https://gitee.com/faith01238/Dockers.git/'
解决办法:打开控制面板--凭据管理器。删除相应的凭证


3、查看远程库信息

git remote -v //查看远程库信息

上面显示了可以抓取和推送的origin的地址。如果没有推送权限,就看不到push的地址

关联后远程库的名字就是origin

git remote add <别名> <远端地址>

git remote add orign 复制名


4、根据名字删除远程库

根据名字删除远程库:比如删除origin

git remote rm origin

此处的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库本身并没有任何改动。要真正删除远程库,需要登录到Gitlab,在后台页面找到删除按钮再删除


5、wiondows 凭据

(仓库直接下载下来,没有输入密码)

控制面板-用户账户-管理windows凭据


远程分支

1、同名分支跟踪

跟踪远程同名分支后, push 和 pull 就自动同步。否则可能会出现如下错误提示

如果git pull提示 no tracking information 则说明本地分支和远程分支的链接关系没有创建

情况一:在分支推送的时候

git push --set-upstream origin branch_name

这样就可以自动在远程创建一个 branch_name 分支,然后本地分支会 track 该分支。

情况二:手动建立追踪关系

git branch --set-upstream-to=<远程主机名>/<远程分支名> <本地分支名>

举例如下:

git branch --set-upstream-to=origin/openapi-token-dev openapi-token-dev

1、第一次推送master分支时,加上了-u参数。会把本地的master分支和远程的master分支关联起来,

git push -u origin master

2、在以后的推送或者拉取时就可以简化命令,如下:

  git push <远端代号> <本地分支名称>

git push origin master
//把本地master分支的最新修改推送至远程仓库

2、查看本地分支与远程分支的关联

查看本地分支与远程分支的关联

git branch -v

查看本地分支+上次提交的信息,即可以查看每一个分支的最后一次提交

git branch -vv

查看本地分支+上次提交的信息+本地和远程分支的关系
如果本地分支没有和任何远程分支建立追踪关系,那么就不显示。


3、分支推送

推送本地的feature-branch(冒号前面的)分支到远程origin的feature-branch(冒号后面的)分支(没有会自动创建)

如下:推送分支openapi-token-dev

git push origin openapi-token-dev:openapi-token-dev

推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上。


4、删除远程分支 

git push origin --delete department-dev 

可以删除远程department-dev分支


5、Cherry pick

git cherry-pick命令的作用,就是将指定的提交(commit)应用于其他分支。

git cherry-pick命令的参数,是提交的哈希值

Cherry pick 支持一次转移多个提交。

$ git cherry-pick <HashA> <HashB>

上面的命令将 A 和 B 两个提交应用到当前分支。这会在当前分支生成两个对应的新提交。


冲突测试

1、idea解决冲突

三视图中左变为自己代码,右边为别人代码,中间为上一个版本代码

Accept Left

左侧就是自己的代码,可以看到最上面代码上方有"Your version"标识。

选择Accept Left选项即表示使用自己的代码覆盖掉别人的冲突代码

Accept Right

如果选择右侧别人的代码,则自己的代码会被覆盖


2、本地拉取冲突

前提在同一个分支,如main分支。

我本地修改了某一个文件的某一行还未提交,这时候我想提交了,那我就先去拉取最新的代码。这时候一拉,就报如下这个错了

报错原因分析:因为有其他人如baoe也改了这一行,并且他已经提交并推送到远程仓库了

解决方式一:还原

像我之前一样吗,把自己的修改还原并备份,然后再重新拉取。。

虽然这能解决,但是拉取完新的代码,我还需要再次把备份的东西重新手动再写一遍。。。

虽然笨,但是有效,哈哈哈

解决方式二:贮藏

备份当前的工作区的内容,让工作区变为和上次提交的内容一致。相当于备份的工作不用我们自己去做了。

# 暂存本地更改
git stash

# 执行合并
git pull

# 恢复本地更改
git stash pop

最后恢复本地更改的时候可能与最新代码有冲突,此时仍需要手动解决冲突。如下:

解决冲突


3、分支合并冲突

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

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

相关文章

每日一题——Python实现PAT乙级1037 在霍格沃茨找零钱(举一反三+思想解读+逐步优化)

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 时间复杂度分析&#xff1a; 空间复杂度分析&#xff1a; 我要更强 哲学…

vivado DIAGRAM、HW_AXI

图表 描述 块设计&#xff08;.bd&#xff09;是在IP中创建的互连IP核的复杂系统 Vivado设计套件的集成商。Vivado IP集成器可让您创建复杂的 通过实例化和互连Vivado IP目录中的IP进行系统设计。一块 设计是一种分层设计&#xff0c;可以写入磁盘上的文件&#xff08;.bd&…

搭建多平台比价软件你必须知道的几大知识板块

为了搭建一个多平台比价系统并使其发挥作用&#xff0c;你需要考虑以下几个关键的平台支持方面&#xff1a; 数据API采集平台&#xff1a; 电商平台&#xff1a;如亚马逊、淘宝、京东等&#xff0c;这些平台提供了丰富的商品信息和价格数据。旅行服务平台&#xff1a;如携程、…

Vue基础知识:插槽——默认插槽,插槽的后备内容,具名插槽,作用域插槽的认识与使用。(slot,#default,row的认识)

1.插槽的基本认识&#xff1a; 作用&#xff1a;让组件内部的一些结构支持自定义 插槽的分类&#xff1a; 1.默认插槽&#xff08;组件内只能定制一处结构&#xff09; 2.具名插槽&#xff08;组件内可以定制多次结构&#xff09; 简单而言&#xff1a;就是你希望封装一个…

探索教研在线平台的系统架构

教研在线平台作为一家致力于教育技术领域的企业&#xff0c;其系统架构扮演着至关重要的角色。本文将深入探讨教研在线平台的系统架构&#xff0c;从技术架构、数据架构和安全架构等方面进行分析&#xff0c;以期帮助读者更好地理解这一教育科技平台的运作模式。 技术架构是教研…

【Ardiuno】使用ESP32网络功能调用接口数据(图文)

接着上文连通wifi后&#xff0c;我们通过使用HTTPClient库进行网络相关操作&#xff0c;这里我们通过http协议进行接口调用。 为了简化操作&#xff0c;这里使用了本地服务器上的文件作为接口&#xff0c;正常操作时会调用接口后&#xff0c;将服务器返回的数据进行解析&#…

Qt 【Object::connect: No such slot 。。。】解决方法

发生如下所示问题&#xff0c;有三种原因造成&#xff1a; 1.下图中的Q_OBJECT被注释掉或者漏了&#xff08;该问题不常见&#xff09; 2.下图中声明slots漏了&#xff08;新手较常见&#xff09; 3.发生下面两行中的错误&#xff0c;在下面两行代码中仅仅是一个参数名字的区别…

各品牌电视安装第三方软件失败的解决方法

在安装电视第三方软件时&#xff0c;您可能会遇到安装失败、解析错误或无法识别文件类型等问题。以下是一些常见问题的解决方案&#xff0c;小武给您整理了详细的步骤来帮助解决这些问题。 手机投屏或安装方法参考如下文章&#xff1a; 移动端投屏到大屏幕的操作详解 通过U盘…

MySQL基础_10.约束

文章目录 第一章、约束1.1 约束的定义1.2 非空约束1.3 唯一性约束1.4 主键约束1.5 自增列1.6 外键约束1.7 CHECK约束1.8 DEFAULT约束 第一章、约束 1.1 约束的定义 约束是对表中字段的限制。 约束按照作用范围可以分为&#xff1a;列级约束和表级约束 列级约束&#xff1a;声…

一分钟学习数据安全—自主管理身份SSI加密技术

上篇介绍了SSI的架构。架构之后&#xff0c;我们要了解一下SSI发展的驱动力&#xff1a;加密技术。现代数字通信离不开数学和计算机科学&#xff0c;加密技术也源于此。加密技术使区块链和分布式账本得以实现&#xff0c;也使SSI成为可能。 以下我们就概览一下SSI基础架构中涉及…

从零开始实现自己的串口调试助手(9)-重置多文本框,保存/载入指令集

重置多文本框 添加多文本控件列表 在构造函数中把我们需要操作的控件归类到对应列表之中 //创建多文本存放数组 - 存放那三列内容 checkBox lineEdi btnfor(int i1;i<9;i){// 添加到按钮数组QString btnName QString("pushButton_t%1").arg(i); //构建对应控件名…

【病理数据】svs格式数据解读

Openslide 病理图像通常以.svs格式存储在数据库中。要想使用python处理svs格式的图像&#xff0c;我们通常使用Openslide模块。 关于Openslide模块的安装详见这个博客&#xff1a; 【解决Error】ModuleNotFoundError: No module named ‘openslide‘ 病理图像数据结构 病理图…

Java开发-面试题-0004-HashMap 和 Hashtable的区别

Java开发-面试题-0004-HashMap 和 Hashtable的区别 更多内容欢迎关注我&#xff08;持续更新中&#xff0c;欢迎Star✨&#xff09; Github&#xff1a;CodeZeng1998/Java-Developer-Work-Note 技术公众号&#xff1a;CodeZeng1998&#xff08;纯纯技术文&#xff09; 生活…

FuTalk设计周刊-Vol.041

&#x1f525;AI漫谈 热点捕手 1、国产GPTs来了&#xff0c;基于智谱第4代大模型 全自研第四代基座大模型GLM-4&#xff0c;且所有更新迭代的能力全量上线。GLM-4性能相比GLM-3提升60%&#xff0c;逼近GPT-4&#xff08;11月6日最新版本效果&#xff09;。而同时推出的GLM-4-…

【篇二】使用springboot+vue实现阿里云oss文件直传,解决大文件分片上传问题

一、前言 上一篇《使用springbootvue实现阿里云oss上传》写了如何使用springbootvue实现阿里云oss文件上传。这种方式虽然通用&#xff0c;但有个弊端就是当上传大文件时&#xff0c;容易导致文件还未上传完页面请求就超时了&#xff0c;如果想把oss的文件路径保存到数据库则无…

思维,CF1575K - Knitting Batik

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1575K - Knitting Batik 二、解题报告 1、思路分析 诈骗题&#xff0c;上面…

How to: Build a Custom End-User Skin Selector

This section explains how to populate a ComboBoxEdit control with DevExpress skin items. 本节介绍如何使用DevExpress皮肤项填充ComboBoxEdit控件。 To populate a combo box editor, iterate through the SkinManager.Skins collection, which returns all currently a…

Vulnhub-DC5

靶机IP:192.168.20.139 kaliIP:192.168.20.128 网络有问题的可以看下搭建Vulnhub靶机网络问题(获取不到IP) 信息收集 nmap扫下端口及版本 dirsearch扫下目录 LinuxphpNginx 环境 我们再去看前端界面&#xff0c;发现在contact界面有能提交的地方&#xff0c;但是经过测试不…

批量转换更高效:一键修改TXT后缀名转DOCX,轻松实现文件高效管理!

在日常生活和工作中&#xff0c;我们经常需要处理大量的文件&#xff0c;而文件格式的转换和管理往往是其中一项繁琐的任务。特别是当需要将大量的TXT文件转换为DOCX格式时&#xff0c;传统的逐个手动操作不仅效率低下&#xff0c;还容易出错。然而&#xff0c;现在有了我们这款…

【Mtk Camera开发学习】06 MTK 和 Qcom 平台支持通过 Camera 标准API 打开 USBCamera

本专栏内容针对 “知识星球”成员免费&#xff0c;欢迎关注公众号&#xff1a;小驰行动派&#xff0c;加入知识星球。 #MTK Camera开发学习系列 #小驰私房菜 Google 官方介绍文档&#xff1a; https://source.android.google.cn/docs/core/camera/external-usb-cameras?hlzh-…