【Git】远程仓库

一、常用的托管服务[远程仓库]
二、注册码云
三、创建远程仓库
四、配置SSH公钥
五、操作远程仓库
5.1、添加远程仓库
5.2、查看远程仓库
5.3、推送到远程仓库
5.4、 本地分支与远程分支的关联关系
5.5、从远程仓库克隆
5.6、从远程仓库中抓取和拉取
5.7、解决合并冲突

一、常用的托管服务[远程仓库]

Git中两种类型的仓库:本地仓库远程仓库
以下是关于这两种仓库及常用代码托管服务的一些详细信息:

本地仓库

  • 本地仓库是在用户的本地计算机上创建和管理的仓库,用户可以在本地进行代码的增删改、提交(commit)等操作。
  • 用户可以在本地仓库中进行各种版本控制操作,并在准备好之后将更改推送到远程仓库。

远程仓库

  • 远程仓库是托管在互联网上或局域网上的服务器上的仓库,允许多个开发者协同工作。
  • 远程仓库可以用来备份代码,也可以用来分享和协作开发项目。

常用代码托管服务

  1. GitHub

    • 地址: https://github.com/
    • 特点: GitHub 是一个面向开源及私有软件项目的托管平台,只支持Git作为唯一的版本库格式进行托管,因此命名为GitHub。它提供了丰富的协作功能,如pull request、issue跟踪、项目管理等。
  2. 码云(Gitee)

    • 地址: https://gitee.com/
    • 特点: 码云是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快。它适合国内开发者使用,并提供了类似于GitHub的功能。
  3. GitLab

    • 地址: https://about.gitlab.com/
    • 特点: GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。一般用于在企业、学校等内部网络搭建git私服。它具有CI/CD集成、代码审查、项目管理等功能。

这些托管服务各有特色,用户可以根据自己的需求选择合适的平台进行代码托管和协作开发。

二、注册码云

要想使用码云的相关服务,需要注册账号(地址: https://gitee.com/signup )

三、创建远程仓库

四、配置SSH公钥

配置SSH公钥流程

1.生成SSH公钥

如果公钥已经存在,则自动覆盖

ssh-keygen -t rsa

不断回车

2.Gitee设置账户共公钥

获取公钥

cat ~/.ssh/id_rsa.pub

3.验证是否配置成功

ssh -T git@gitee.com

五、操作远程仓库

5.1、添加远程仓库

此操作是先初始化本地库,然后与已创建的远程库进行对接。
命令: git remote add <远端名称> <仓库路径>

git remote add <远端名称> <仓库路径>
  • 远端名称,默认是origin,取决于远端服务器设置
  • 仓库路径,从远端服务器获取此URL(远程仓库地址)
  • 例如: git remote add origin git@gitee.com:galiniangao/git_repository.git

5.2、查看远程仓库

命令:git remote

git remote

5.3、推送到远程仓库

命令:git push -f --set-upstream <远端名称> <本地分支名>:<远端分支名>

  • -f 表示强制覆盖(一般公司是禁用的)
  • --set-upstream 推送到远端的同时并且建立起和远端分支的关联关系。
git push -f --set-upstream <远端名称> <本地分支名>:<远端分支名>

如果远程分支名和本地分支名称相同,则可以只写本地分支

git push origin master
git push --set-upstream origin master:master

如果当前分支已经和远端分支关联,则可以省略分支名和远端名。
git pushmaster分支推送到已关联的远端分支。

查询远程仓库

5.4、 本地分支与远程分支的关联关系

查看关联关系我们可以使用 git branch -vv 命令

git branch -vv

5.5、从远程仓库克隆

如果已经有一个远端仓库,我们可以直接clone到本地。
命令: git clone <仓库路径> <本地目录>

git clone <仓库路径> <本地目录>

本地目录可以省略,会自动生成一个目录

5.6、从远程仓库中抓取和拉取

远程分支和本地的分支一样,我们可以进行merge操作,只是需要先把远端仓库里的更新都下载到本
地,再进行操作。

抓取 命令:git fetch

  • remote name:远程名称
  • branch name:分支名称
git fetch [remote name] [branch name]

抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
如果不指定远端名称和分支名,则抓取所有分支。

拉取 命令:git pull [remote name] [branch name]

git pull [remote name] [branch name]

拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
如果不指定远端名称和分支名,则抓取所有并更新当前分支。

  1. 在git_test这个本地仓库进行一次提交并推送到远程仓库
  1. 在另一个仓库将远程提交的代码拉取到本地仓库

5.7、解决合并冲突

在一段时间,A、B用户修改了同一个文件,且修改了同一行位置的代码,此时会发生合并冲突。

A用户在本地修改代码后优先推送到远程仓库,此时B用户在本地修订代码,提交到本地仓库后,也需要推送到远程仓库,此时B用户晚于A用户,故需要先拉取远程仓库的提交,经过合并后才能推送到远端分支,如下图所示。
在这里插入图片描述
在B用户拉取代码时,因为A、B用户同一段时间修改了同一个文件的相同位置代码,故会发生合并冲突。
远程分支也是分支,所以合并时冲突的解决方式也和解决本地分支冲突相同相同,在此不再赘述。

exmple

##########################1-将本地仓库推送到远程仓库
# [git_repository]添加远程仓库
git remote add origin git@gitee.com:galiniangao/git_repository.git# [git_repository]将master分支推送到远程仓库,并与远程仓库的master分支绑定关联关系
git push --set-upstream origin master###########################2-将远程仓库克隆到本地
# 将远程仓库克隆到本地git_test目录下
git clone git@gitee.com:galiniangao/git_repository.git git_test# [git_test]以精简的方式显示提交记录
git-log###########################3-将本地修改推送到远程仓库
# [git_test]创建文件file03.txt
略# [git_test]将修改加入暂存区并提交到仓库,提交记录内容为:add file03
git add .
git commit -m 'add file03'# [git_test]将master分支的修改推送到远程仓库
git push origin master###########################4-将远程仓库的修改更新到本地
# [git_repository]将远程仓库修改再拉取到本地
git pull# 以精简的方式显示提交记录
git-log# 查看文件变化(目录下也出现了file03.txt)
略

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

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

相关文章

Labview_Occurrencel(事件发生)

PS&#xff1a;这里遇到 一个很Low的事情&#xff1a; 在停止第二个while循环的时候出现了停止不了的情况。因为等待事件发生设置的超时时间为:-1。所以等事件发生后出现了条件接线端已经执行的情况&#xff0c;所以当下次事件发生时未能及时停止。初版的停止设置如下图&#x…

MMM部署

一.MySQL&#xff0c;MySQL主主复制管理器&#xff09; 是一套支持双主故障切换和双主日常管理的脚本程序。MMM 使用 Perl 语言开发&#xff0c;主要用来监控和管理 MySQL Master-Master &#xff08;双主&#xff09;复制&#xff0c;虽然叫做双主复制&#xff0c;但是业务上同…

六西格玛项目实战:数据驱动,手机PCM率直线下降

在当前智能手机市场日益竞争激烈的背景下&#xff0c;消费者对手机质量的要求达到了前所未有的高度。PCM&#xff08;可能指生产过程中的某种不良率或缺陷率&#xff09;作为影响手机质量的关键因素&#xff0c;直接关联到消费者满意度和品牌形象。为了应对这一挑战&#xff0c…

XGboost详解

文章最前&#xff1a; 我是Octopus&#xff0c;这个名字来源于我的中文名–章鱼&#xff1b;我热爱编程、热爱算法、热爱开源。所有源码在我的个人github &#xff1b;这博客是记录我学习的点点滴滴&#xff0c;如果您对 Python、Java、AI、算法有兴趣&#xff0c;可以关注我的…

设计模式原则——接口隔离原则

设计模式原则 设计模式示例代码库地址&#xff1a; https://gitee.com/Jasonpupil/designPatterns 接口隔离原则 要求程序员尽量将臃肿庞大的接口拆分为更小的和更具体的接口&#xff0c;让接口中只包含客户感兴趣的方法接口隔离原则的目标是降低类或模块之间的耦合度&…

智慧校园-缴费管理系统总体概述

在构建现代化教育环境的过程中&#xff0c;智慧校园缴费管理系统脱颖而出&#xff0c;成为提升校园财务管理效率与服务质量的关键一环。缴费管理系统需要精心设计&#xff0c;通过科技力量&#xff0c;让原本繁琐的缴费流程变得简单快捷&#xff0c;同时增强家校之间的互动与信…

光学相机市场格局:中国光学相机市场评估及未来发展趋势研究报告

欢迎关注GZH《光场视觉》 光学相机行业定义 光学相机是一种利用光学镜头和感光材料&#xff08;如胶片&#xff09;或数字传感器来捕捉图像的装置。光学相机&#xff0c;也常被称作传统相机或胶片相机&#xff0c;其工作原理基于光的折射和聚焦。当光线通过相机的镜头进入时&…

分享暄桐林曦老师的精进心法

暄桐是一间传统美学教育教室&#xff0c;创办于2011年&#xff0c;林曦是创办人和授课老师&#xff0c;教授以书法为主的传统文化和技艺&#xff0c;皆在以书法为起点&#xff0c;亲近中国传统之美&#xff0c;以实践和所得&#xff0c;滋养当下生活。      清风雅致林曦老…

Arduino - OLED

Arduino - OLED Arduino - OLED Arduino通过u8g2库驱动OLEDU8g2 驱动oled自定义中文字库 The OLED (Organic Light-Emitting Diode) display is an alternative for LCD display. The OLED is super-light, almost paper-thin, flexible, and produce a brighter and crisper…

PIP一些问题解决办法

研究生期间遇到关于PIP一些问题报错以及解决办法的汇总 pip安装报错&#xff1a;is not a supported wheel on this platform 本节转自 https://blog.csdn.net/happywlg123/article/details/107281936 ​ 出现这个问题&#xff0c;是由于这个whl和系统python版本不匹配导致的。…

NewspaceGPT带你玩系列之美人鱼图表(类图)

目录 注册一个账号&#xff0c;用qq邮箱&#xff0c;然后登录选一个可用的Plus&#xff0c;不要选3.5探索GPT今天的主角是开始寻梦美人鱼图表我选第二个试一下问答Summary 自定义类图玩一下问答 关于类图的补救方案结论关注我&#xff0c;不迷路&#xff0c;共学习&#xff0c;…

stencil 组件

stencil 组件 装饰器生命周期应用加载事件 组件定义组件如何响应数据变化 组件使用如何传递 slot如何暴露组件内部的方法供外部使用&#xff1f;Element 装饰器 Host 组件样式函数组件 stencil 提供一些装饰器、生命周期钩子和渲染函数去编写一个组件。 装饰器 装饰器是一组用…

【Linux】高级IO——五种IO模型和基本概念 ,非阻塞IO,fcntl,实现非阻塞IO,同步通信和异步通信

文章目录 Linux高级IO1. 五种IO模型1.1 阻塞IO1.2 非阻塞IO1.3 信号驱动IO1.4 IO多路转接1.5 异步IO 2. 同步通信和异步通信3. 阻塞和非阻塞 Linux高级IO 1. 五种IO模型 IO是什么&#xff1f; IO是计算机领域中的缩写&#xff0c;指的是输入/输出&#xff08;Input/Output&…

狂撒1.69亿美元却对加密避而不谈?揭秘加密大选背后的金钱政治

撰文&#xff1a;Jesse Hamilton 来源&#xff1a;Coindesk 编译&#xff1a;Ning 在政治选举中&#xff0c;有钱能使鬼推磨这句俗语体现地淋漓尽致&#xff0c;而直接诞生的产物&#xff0c;就是独具特色的政治行动委员会&#xff08;PAC&#xff09;&#xff0c;各类型捐赠者…

你的钱花得值不值?简谈FMEA培训的投资与回报

在探讨 FMEA&#xff08;失效模式及影响分析&#xff09;培训是否值得投资时&#xff0c;需要综合考虑多个方面。 从投资的角度来看&#xff0c;FMEA 培训通常需要一定的费用支出&#xff0c;包括培训课程的费用、培训期间员工的时间成本以及可能涉及的培训材料和设备成本。 然…

基于RK3588的GMSL、FPDLink 、VByone及MIPI等多种摄像模组,适用于车载、机器人工业图像识别领域

机器人&工业摄像头 针对机器人视觉与工业检测视觉&#xff0c;信迈自主研发和生产GMSL、FPDLink 、VByone及MIPI等多种摄像模组&#xff0c;并为不同应用场景提供多种视场角度和镜头。拥有资深的图像算法和图像ISP专家团队&#xff0c;能够在软件驱动层开发、ISP算法、FPG…

Solr安装IK中文分词器

Solr安装IK中文分词器 如何安装Solr与导入数据&#xff1f;为什么要安装中文分词器下载与安装IK分词器1.1、下载IK分词器1.2、安装IK  第一步&#xff1a;非常简单&#xff0c;我们直接将在下的Ik分词器的jar包移动到以下文件夹中  第二步&#xff1a;修改Core文件夹名下\c…

家电品牌如何利用3D数字化技术,突破转型瓶颈?

家电行业正经历着从增量市场向存量市场的转变&#xff0c;用户的消费观念也日趋成熟&#xff0c;更加注重产品的体验和服务质量。无论是线上购物平台还是线下实体门店&#xff0c;提供个性化和增强体验感的产品与服务已成为家电市场未来发展的核心驱动力。 51建模网依托“3D数字…

基于单片机和组态王的温度监控系统的设计

摘 要 : 介绍了以 MSP430 单片机为核心 , 建立基于 DS18B20 和组态王的温度采集和监控系统。主要研究了单片机和组态王的通用通讯协议。按照 KingView 提供的通信协议 , 设计组态王与单片机的通信程序 , 实现了组态王与M SP430 单片机的直接串行通讯。在中药提取装置的…

实现在父盒子中点击生成子盒子并识别父盒子边界不溢出

效果&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</…