【2023】Git版本控制-远程仓库详解

目录

  • 创建远程仓库
  • 向远程仓库推送数据文件
  • 从第二台主机本地拉取远程仓库数据
  • 第一台主机同步远程仓库数据
  • tag标签
  • git忽略文件

Git远程仓库是Git版本控制系统的一个概念,它是一个存储Git代码的远程服务器。

你可以将本地Git仓库上传到远程仓库,以便与其他人协作开发或备份代码。

创建远程仓库


远程仓库可以使用第三方平台,如(github、gitlab、gitee)等,这里使用的仓库为gitee

地址为:https://gitee.com/

  • 需自行创建账号登录
  • 点击“+”号——点击新建仓库
    在这里插入图片描述
  • 填写仓库信息(除了仓库名其他都不重要)
    在这里插入图片描述

向远程仓库推送数据文件

  • 在本地添加远程仓库
  • 根据上一篇文章创建的本地仓库添加远程仓库,如果没有需要创建本地仓库
  • 地址为仓库地址,创建完成会看到
[root@jenkins cangku]# git remote add origin https://gitee.com/yyang2/test_01.git
  • 将本地仓库文件推送到远程仓库测试
[root@jenkins cangku]# git push -u origin master 
Username for 'https://gitee.com': yyang2
Password for 'https://yyang2@gitee.com': 
Counting objects: 20, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (20/20), 1.80 KiB | 0 bytes/s, done.
Total 20 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/yyang2/test_01.git* [new branch]      master -> master
Branch master set up to track remote branch master from origin.

注意账号密码是你创建仓库时自定义的,一定要自己记住。

在这里插入图片描述
此时master分支上的两个文件已经推送到远程仓库了

从第二台主机本地拉取远程仓库数据

  • 创建公钥,存放至远程仓库,不然拉取会失败
[root@master-01 ~]# ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:MRxAZqBztC5ibEEGPkTPv1sI/BMLe1wG81TawTDsrxo root@master-01
The key's randomart image is:
+---[RSA 2048]----+
|+=  oo*++o       |
|= oo + o=o.      |
| +oooo.o+.       |
|. ++. =. o       |
|.+.+.o +S        |
|o. .* B  .       |
|   . E ..        |
|    . =.         |
|     o.          |
+----[SHA256]-----+
[root@master-01 ~]# cat ~/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPVwx3MG3oXcRQAx4K5VkPKXR0YiTdxJxGhtNGMWyPoN1j46zUjJtQl0tHsBMQW//NJ0+1+IzM3ReKe7xG8ZvDj9mmtiYu6SkYhPTkB9Qv5uzmu37pQ33MlB3MfthHMAvlu3m5LNZ5LKcz7fnFLBV9OyrgxuFPkgaavm4qIemy5JmthG5K2WXR5MfyNb4jzOTJl3Qxsk3lCDiAU2oXwCtWrx1LbySM8lQZ3hezGvkmauCnn+tFecalYeU/72CjRywX0A7FwHRBMspR4bLkCO+jvTZGB7UswbYC2SvVCAp1qG56KxraIszpmxnYah2Y0ONTo0AvOZENIZvI5IL65nm1 root@master-01
  • 复制公钥然后按下图步骤操作,确定后需要输入仓库密码确认

在这里插入图片描述

  • 在本地选择个合适的目录,克隆远程仓库时用
[root@master-01 ~]# mkdir /yu_cangku
[root@master-01 ~]# cd /yu_cangku/
[root@master-01 yu_cangku]# git clone git@gitee.com:yyang2/test_01.git
正克隆到 'test_01'...
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 20 (delta 0), reused 0 (delta 0), pack-reused 0
接收对象中: 100% (20/20), done.
[root@master-01 yu_cangku]# ls
test_01
[root@master-01 yu_cangku]# ls test_01/
file1.txt  hehe.py
  • 增加内容再推送至远程仓库
[root@master-01 yu_cangku]# cd test_01/
[root@master-01 test_01]# ls
file1.txt  hehe.py
[root@master-01 test_01]# cat file1.txt 
hello git
hello world
hello
hello hehehe
[root@master-01 test_01]# echo "hello yuancheng_cangku" >> file1.txt 
[root@master-01 test_01]# git add .
[root@master-01 test_01]# git commit -m "远程编辑 -v1"
[root@master-01 test_01]# git config --global user.email "yuancheng@example.com"
[root@master-01 test_01]# git config --global user.name "yuancheng"
[root@master-01 test_01]# git push origin master 
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 326 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To git@gitee.com:yyang2/test_01.git0a18968..c5ad2ac  master -> master
  • 在远程仓库刷新查看内容
    在这里插入图片描述
    发现了新增加的内容,说明过程是成功的。

第一台主机同步远程仓库数据

  • 当远程仓库数据优先于本地仓库,需要同步,如果已经克隆过仓库,可使用以下命令同步
[root@jenkins cangku]# git pull origin master
Username for 'https://gitee.com': yyang2
Password for 'https://yyang2@gitee.com': 
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://gitee.com/yyang2/test_01* branch            master     -> FETCH_HEAD
Updating 0a18968..c5ad2ac
Fast-forwardfile1.txt | 1 +1 file changed, 1 insertion(+)
[root@jenkins cangku]# cat file1.txt 
hello git
hello world
hello
hello hehehe
hello yuancheng_cangku
  • 第二台这时可以用以下命令同步数据
git pull origin master

tag标签


Git中的标签(tag)主要有以下作用:

1️⃣:标记软件版本:标签最常用的用途就是标记软件版本,类似于在代码的进化过程中某一天突然进行了一次正式的版本发布,或者修复了一个重要的漏洞,或者进行了某些功能的改进等,这些具有里程碑意义的事件发生时,我们可以为其打上一个标签,以方便后续的管理和追踪。
2️⃣:分支过度标签:当Git的分支过多的时候,此时便可以利用标签来对分支进行过度,这样可以减少分支的数量。
3️⃣:轻量级引用:标签其实就是一个指向某个commit的轻量级引用,打了标签后,就可以通过标签来引用这个提交。

  • tag的使用方法
[root@jenkins cangku]# git tag v1.0
[root@jenkins cangku]# git tag 
v1.0

此时只是将本地仓库做了标签,且为最新内容

  • 将tag标签同步到远程仓库
[root@jenkins cangku]# git push origin v1.0 
Username for 'https://gitee.com': yyang2
Password for 'https://yyang2@gitee.com': 
Total 0 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/yyang2/test_01.git* [new tag]         v1.0 -> v1.0
  • 再远程仓库查看
    在这里插入图片描述

  • 指定id号进行标签操作

git tag -a v1.0 [id] -m "v1.0"
  • 查看tag标签对应的id版本
[root@jenkins cangku]# git show v1.0
commit c5ad2ac2778758c0c6274427bc9fdaf172fd5779
Author: yuancheng <yuancheng@example.com>
Date:   Fri Aug 4 17:52:58 2023 +0800远程 -v1diff --git a/file1.txt b/file1.txt
index 8a3fe2c..90a5b9e 100644
--- a/file1.txt
+++ b/file1.txt
@@ -2,3 +2,4 @@ hello githello worldhellohello hehehe
+hello yuancheng_cangku

git忽略文件


gitignore是一个特殊的文件,用于告诉Git哪些文件或目录不应该被纳入版本控制。在Git仓库中,有些文件或目录可能包含敏感信息、临时文件或者不需要被跟踪的文件,这些文件不应该被包含在Git仓库中。通过使用.gitignore文件,开发者可以告诉Git哪些文件需要被忽略,从而避免将这些文件包含在版本控制中,提高Git仓库的可维护性和安全性。

gitignore文件的主要作用有以下几个方面:

  • 忽略敏感信息和不必要的文件:在一个Git仓库中,有些文件可能包含敏感信息,例如API密钥、密码等。这些信息不应该被包含在版本控制中,因为一旦泄露,可能会对项目或者用户造成严重的损失。通过使用.gitignore文件,开发者可以将这些敏感信息所在的文件或目录添加到忽略列表,从而避免将其包含在Git仓库中。
  • 忽略临时文件和目录:有些文件和目录是临时性的,不需要被版本控制管理。例如,编译生成的中间文件、日志文件、配置文件等。通过添加到.gitignore文件,可以避免将这些文件包含在Git仓库中,提高仓库的整洁性和可维护性。
  • 统一管理项目文件:有时候,一个项目可能有多个人协作开发,每个人的开发环境和工作习惯都不同。为了避免不必要的冲突和错误,可以使用.gitignore文件统一管理项目文件,确保每个人都使用相同的配置和约定。

示例:

vim .gitignore# 忽略所有以“.log”结尾的文件  
*.log  # 忽略指定目录下的所有文件和子目录  
node_modules/  # 忽略指定文件或目录  
my_secret_file.txt  
logs/  # 忽略所有以“.swp”结尾的文件  
*.swp  # 忽略指定扩展名的文件  
*.docx  # 忽略指定文件或目录,以及所有以“.tmp”结尾的文件  
temp/  
*.tmp
[root@master-01 test_01]# git add .
[root@master-01 test_01]# git commit -m "gitignore"
[root@master-01 test_01]# git push origin master 

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

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

相关文章

【机器学习】Classification using Logistic Regression

Classification using Logistic Regression 1. 分类问题2. 线性回归方法3. 逻辑函数&#xff08;sigmod&#xff09;4.逻辑回归5. 决策边界5.1 数据集5.2 数据绘图5.3 逻辑回归与决策边界的刷新5.4 绘制决策边界 附录 导入所需的库 import numpy as np %matplotlib widget imp…

“RISC-V成长日记” blog发布,第一个运行在RISC-V服务器上的blog?

尽管推特、公众号、微博、抖音等社交平台风靡一时&#xff0c;但blog&#xff08;博客&#xff09;在全世界依然经久不衰&#xff0c;尤其是在技术领域。对于博主而言&#xff0c;博客是他们独立创作的天地&#xff0c;可以随时更新内容和故事&#xff0c;确保素材的时效性。此…

SpringBoot根据注解动态执行类中的方法

1、需求 有一个接口提供了xx的服务&#xff0c;有两个场景分别实现了xx的具体逻辑&#xff0c;标记为xx1和xx2。 然后场景一过来的时候执行xx1逻辑&#xff0c;场景二过来的时候执行xx2逻辑。 2、简单实现 定义一个service层&#xff0c;提供xx的接口。 然后定义两个servi…

渗透-02:HTTPS主干-分支和HTTPS传输过程

一、HTTPS主干-分支 第一层 第一层&#xff0c;是主干的主干&#xff0c;加密通信就是双方都持有一个对称加密的秘钥&#xff0c;然后就可以安全通信了。 问题就是&#xff0c;无论这个最初的秘钥是由客户端传给服务端&#xff0c;还是服务端传给客户端&#xff0c;都是明文传输…

Junit单元测试

测试分类 黑盒测试 &#xff1a;不关注代码&#xff0c;只关注输入值之后输出的值是否符合预期。白盒测试&#xff1a;关注代码&#xff0c;需要关注程序具体的执行流程。 Junit单元测试就是白盒测试的一种 Junit使用流程 定义一个测试类&#xff0c;命名为被测试的类名Test …

学习率Learn_rate是什么(深度学习)

学习率是指在训练神经网络时用于调整参数的步进大小&#xff0c;它决定了每次梯度更新时参数的调整程度。学习率的选择直接关系到模型的性能和训练过程的效果。 学习率变化可能带来的影响&#xff1a; 收敛速度&#xff1a;较高的学习率可以加快模型的收敛速度&#xff0c;因为…

IDEA项目实践——创建Java项目以及创建Maven项目案例、使用数据库连接池创建项目简介

系列文章目录 IDEA上面书写wordcount的Scala文件具体操作 IDEA创建项目的操作步骤以及在虚拟机里面创建Scala的项目简单介绍 目录 系列文章目录 前言 一 准备工作 1.1 安装Maven 1.1.1 Maven安装配置步骤 1.1.2 解压相关的软件包 1.1.3 Maven 配置环境变量 1.1.4 配…

【MyBatis】主配置文件

目录 11.2【MyBatis】主配置文件 1.properties&#xff08;属性&#xff09; 2.settings(设置) 3.typeAliases(别名) 4.typeHandlers类型处理器 5.objectFactory 对象工厂 6.plugins(插件) 7.environments (配置环境) 8.mappers (映射器) 11.2【MyBatis】主配置文件 MyBatis的 …

[Docker实现测试部署CI/CD----相关服务器的安装配置(1)]

目录 0、CI/CD系统最终架构图规划IP地址 1、git配置Git下载pycharm配置gitidea配置git 2、GitLab安装与配置主机要求拉取镜像定义 compose.yml启动gitlab浏览器访问并修改密码查看登录密码修改密码 3、SonarQube 安装与配置拉取镜像修改虚拟内存的大小启动SonarQube登录 SonarQ…

appuploader不是开发者账号

Appuploader是一款可以帮助开发者上传iOS应用到Apple App Store的工具。很多开发者都知道&#xff0c;在上传应用到App Store之前&#xff0c;需要创建开发者账号并获得苹果官方的认证才能进行上传。但是&#xff0c;有些开发者可能并不想去注册开发者账号&#xff0c;或者遇到…

vue3学习-ref引用

模板引用 使用特殊的 refattribute 允许再特定的Dom或组件被挂在后&#xff0c;获取他的直接引用。 import { ref } form vue const input ref(null) <input ref"input"/>注意&#xff1a;只可以在组件挂载后才能访问模板引用 #如果你需要侦听一个模板引用 r…

mac pd安装ubuntu并配置远程连接

背景 一个安静的下午&#xff0c;我又想去折腾点什么了。准备学习一下k8s的&#xff0c;但是没有服务器。把我给折腾的&#xff0c;在抱怨了&#xff1a;为什么M系列芯片的资源怎么这么少。 好在伙伴说&#xff0c;你可以尝试一下ubantu。于是&#xff0c;我只好在我的mac上安…

软件外包开发的GO语言特点

Go语言&#xff08;也称为Golang&#xff09;是由Google开发的一种编程语言。它具有许多特点&#xff0c;使其成为许多项目范围的优秀选择。Go语言适用于需要高性能、并发和简洁易读的项目&#xff0c;特别是面向网络和分布式应用的项目。今天和大家分享项目的特点及适用的项目…

【深度学习】SMILEtrack: SiMIlarity LEarning for Multiple Object Tracking,论文

论文&#xff1a;https://arxiv.org/abs/2211.08824 代码&#xff1a;https://github.com/WWangYuHsiang/SMILEtrack 文章目录 AbstractIntroductionRelated WorkTracking-by-DetectionDetection methodData association method Tracking-by-Attention Methodology架构概述外观…

TensorFlow项目练手(三)——基于GRU股票走势预测任务

项目介绍 项目基于GRU算法通过20天的股票序列来预测第21天的数据&#xff0c;有些项目也可以用LSTM算法&#xff0c;两者主要差别如下&#xff1a; LSTM算法&#xff1a;目前使用最多的时间序列算法&#xff0c;是一种特殊的RNN&#xff08;循环神经网络&#xff09;&#xf…

Python小白学习:超级详细的字典介绍(字典的定义、存储、修改、遍历元素和嵌套)

目录 一、字典简介1.1 创建字典1.2 访问字典中的值1.3 添加键值对1.4 修改字典中的值实例 1.5 删除键值对1.6 由多个类似对象组成的字典1.7 使用get()访问值1.8 练习题 二、遍历字典2.1 遍历所有键值对实例 2.2 遍历字典中的所有键2.3 按照特定顺序遍历字典中的所有键2.4 遍历字…

04 Ubuntu中的中文输入法的安装

在Ubuntu22.04这种版本相对较高的系统中安装中文输入法&#xff0c;一般推荐使用fctix5&#xff0c;相比于其他的输入法&#xff0c;这款输入法的推荐词要好得多&#xff0c;而且不会像ibus一样莫名其妙地失灵。 首先感谢文章《滑动验证页面》&#xff0c;我是根据这篇文章的教…

通用指令(汇编)

一、数据处理指令1&#xff09;数学运算数据运算指令的格式数据搬移指令立即数伪指令加法指令带进位的加法指令减法指令带借位的减法指令逆向减法指令乘法指令数据运算指令的扩展 2&#xff09;逻辑运算按位与指令按位或指令按位异或指令左移指令右移指令位清零指令 3&#xff…

前端实现打印1 - 使用 iframe 实现 并 分页打印

目录 打印代码对话框预览打印预览 打印代码 <!-- 打印 --> <template><el-dialogtitle"打印":visible.sync"dialogVisible"width"50%"top"7vh"append-to-bodyclose"handleClose"><div ref"print…

Android 读取系统属性详解

一&#xff0c;背景介绍 Android 系统属性主要有两种&#xff1a;SettingsProvider 和 SystemProperties 。 二&#xff0c;SettingsProvider详解 2.1 关于Android"设置"里的一些属性可以直接通过settings命令直接查看或者设置adb shell 下 settings指令可以分别查…