git代码托管仓库03(本地仓库和远程仓库之间的联系)

2024-09-05 18:28

本文主要是介绍git代码托管仓库03(本地仓库和远程仓库之间的联系),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

命令如下

clone(克隆):从远程仓库中克隆代码到本地仓库

fetch(抓取):从远程仓库抓取到本地仓库,不进行合并,操作较少

pull(拉取):从远程仓库拉到本地仓库,自动进行合并,然后放到工作区,相当于fetch+merge

push(推送):修改完成,需要和团队成员共享代码时,将代码推送到远程仓库

常见基于git代码托管仓库

 github:面向开源项目和开发者社区。代码托管,版本控制,问题跟踪,项目管理...

 gitee:面向中国用户。功能同上

gitlab :提供全面DevOps平台。

gitee仓库学习 

进入gitee

点击右上角“+”,新建仓库

填写新建仓库信息 

 

仓库生成 

 

设置SSH公钥

打开git命令行工具输入
ssh-keygen -t rsa    //ssh-keygen: 这是一个用于生成、管理和转换认证密钥的工具。-t rsa: 这个选项指定了要生成的密钥类型。RSA 是一种广泛使用的公钥加密算法,适用于 SSH 认证。

生成之后进行查看,输入
cat ~/.ssh/id_rsa.pub     //cat: 这是一个 Unix/Linux 命令,用于连接文件并将其内容输出到标准输出。~/.ssh/id_rsa.pub: 这是 RSA 公钥文件的路径。

  • ~: 表示当前用户的主目录。
  • .ssh: 这是一个隐藏目录,通常用于存储与 SSH 相关的文件。
  • id_rsa.pub: 这是生成的 RSA 公钥文件,通常与私钥 id_rsa 配对


     
  • 私钥: 通常保存在 ~/.ssh/id_rsa,应妥善保管,不应与他人分享。
  • 公钥: 通常保存在 ~/.ssh/id_rsa.pub,可以安全地分享给需要验证你身份的服务器。

 

 

 

将生成的SSH公钥复制粘贴,标题会自动添加

确认之后会要求输入账户密码,输入密码之后希纳是成功添加SSH公钥 

 

 

回到git bash命令行工具,输入以下命令查看是否连接成功

 ssh -T git@gitee.com

yes回车 

 

本地仓库推到远程仓库--绑定关系

在本地仓库中打开git bash 命令行工具,输入以下指令

git remote add origin 地址              //origin是自取的远程仓库名,地址是远程仓库地址

解绑:git remote remove origin

确认是否解绑成功:git remote -v 

该地址是在gitee仓库中复制,先点击SSH,再点击右边复制,鼠标中键粘贴

 

绑定成功

 

 

查看是否添加远程仓库成功.可以发现已经添加成功

git remote 

 

 

将本地代码同步到远程仓库

git push [f] origin master
f:强制覆盖

git push --set-upstream origin master:master
第一次推送的时候,把本地master分支推送到远程master分支,第二次推送的时候省略分支名和远端名直接写git push

 

本地 分支和远程分支的关联关系

git branch -vv   //查看分支详细信息,本地与远程分支关联

 

从远程仓库克隆 (将远程仓库拉到本地来)

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

 

 

桌面右键打开一个新的git bash命令行工具,输入git clone 复制出来的仓库路径  新取的克隆来的文件夹路径名,因为是在桌面打开的命令行工具,所以默认克隆到桌面

 

打开桌面可以看到已经克隆了一份文件
 

 

从远程仓库中抓取和拉取

抓取:git fetch [remote name] [branch name]

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

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

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

修改本地仓库的内容之后add 添加到暂存区,commit 进行提交,然后push --set-upstream origin master将本地仓库推送到远程仓库。

打开克隆仓库的git bash 命令行,fetch抓取远端仓库的更新内容,再然后merge将更新内容合并到本地克隆仓库。但是既要fetch抓取又要merge合并太麻烦,直接pull抓取又合并

总结:

1.添加远程仓库:git remote add origin git@gitee.com/**/**.git


2.将master分支推送到远程仓库,与远程的master绑定关联关系:git push --set-upstream origin master

3.远程仓库克隆到本地:git clone git@gitee.com/**/**.git 取名


4.本地修改推送到远程仓库:

  • 修改文件内容
  • add . 添加到暂存区
  • commit 提交到本地分支
  • push origin master 推送到远程仓库

5.将远程仓库修改更新到本地:

  • fetch + merge
  • pull
     


​​​​​​​

这篇关于git代码托管仓库03(本地仓库和远程仓库之间的联系)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139727

相关文章

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

java实现docker镜像上传到harbor仓库的方式

《java实现docker镜像上传到harbor仓库的方式》:本文主要介绍java实现docker镜像上传到harbor仓库的方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 前 言2. 编写工具类2.1 引入依赖包2.2 使用当前服务器的docker环境推送镜像2.2

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

Java实现自定义table宽高的示例代码

《Java实现自定义table宽高的示例代码》在桌面应用、管理系统乃至报表工具中,表格(JTable)作为最常用的数据展示组件,不仅承载对数据的增删改查,还需要配合布局与视觉需求,而JavaSwing... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码