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

news2024/11/18 19:38:16

目录

  • 创建远程仓库
  • 向远程仓库推送数据文件
  • 从第二台主机本地拉取远程仓库数据
  • 第一台主机同步远程仓库数据
  • 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.git
   0a18968..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-forward
 file1.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

    远程 -v1

diff --git a/file1.txt b/file1.txt
index 8a3fe2c..90a5b9e 100644
--- a/file1.txt
+++ b/file1.txt
@@ -2,3 +2,4 @@ hello git
 hello world
 hello
 hello 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.coloradmin.cn/o/836887.html

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

相关文章

WSL1升级为WSL2

首先需要启用组件 使用管理员打开Powershell并运行 Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform启用后会要求重启计算机 从https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi获取WSL2 Linux内核更新包&#xff0c;…

实力肯定!Coremail入选中国信通院“铸基计划”2023全景图

近日&#xff0c;由中国信息通信研究院&#xff08;以下简称“中国信通院”&#xff09;主办的“2023数字生态发展大会”暨中国信通院“铸基计划”年中会议在京召开。 会上发布了《高质量数字化转型产品及服务全景图&#xff08;2023&#xff09;》&#xff0c;Coremail凭借着优…

【设计模式——学习笔记】23种设计模式——观察者模式Observer(原理讲解+应用场景介绍+案例介绍+Java代码实现)

文章目录 案例引入原始方案实现实现问题分析 介绍基础介绍登场角色 案例实现案例一类图实现分析 案例二类图实现 观察者模式在JDK源码的应用总结文章说明 案例引入 有一个天气预报项目&#xff0c;需求如下&#xff1a; 气象站可以将每天测量到的温度、湿度、气压等等以公告的…

修改状态栏The application could not be installed: INSTALL_FAILED_ABORTEDList

打开theme修改状态栏为可见。 <resources xmlns:tools"http://schemas.android.com/tools"><!-- Base application theme. --><style name"Base.Theme.MyApplication" parent"Theme.AppCompat.DayNight"><!-- Customize yo…

从入门到精通:Postman调试微信支付接口的绝佳方法

前期准备 在使用 Postman 调试微信支付接口之前&#xff0c;你需要做好以下准备&#xff1a; 安装 Postman 客户端应用&#xff0c;或使用网页版&#xff1b;成为 微信支付商户&#xff1b;已申请 商户API私钥。 当你已经具备这三个条件&#xff0c;就可以进入微信支付接口调…

【C语言学习】整数范围、整数越界、无符号数

1.整数范围 对于一个字节&#xff08;8位&#xff09;&#xff0c;可以表达的范围是00000000 ~ 11111111 其中00000000 ——> 0 11111111 ~ 10000000 ——> -1 ~ -128&#xff08;从大到小&#xff09; 00000001 ~ 01111111 ——> 1~127&#xff08;从小到大&#xff…

Yolov8新版本解读(二):优化点如何加入新版本,通过加入轻量级网络Ghostnetv2对比说明

本文目的: 最近yolov8进行了一次较大的更新,对一些优化点加在哪个位置上有些变动,因此本文主要通过具体案列进行对比和说明,以便在新版本上能够轻松上手。 老版本 ultralytics/nn 新版本更新为: modules文件夹下内容如下: 解读: 将modules.py拆分为 1.__init__.…

服务器中了malox勒索病毒后怎么办怎么解决,malox勒索病毒解密数据恢复

服务器遭受Malox勒索病毒攻击后&#xff0c;快速解密并恢复数据至关重要&#xff0c;以便减少更大的经济损失。近期&#xff0c;新的一波malox勒索病毒正在肆虐&#xff0c;我们收到很多企业的求助&#xff0c;企业的服务器数据库遭到了malox勒索病毒攻击&#xff0c;导致系统内…

四数之和——力扣18

文章目录 题目描述双指针法 题目描述 双指针法 class Solution { public:vector<vector<int>> fourSum(vector<int>& nums, int target){int nnums.size();vector<vector<int>> res;sort(nums.begin(), nums.end());for(int a0;a<n;a){if…

AI介绍——chat gpt/文心一言/claude/bard/星火大模型/bing AI

AI体验 1. AI 介绍&#xff08;注册和使用&#xff09;1.1 Chat GPT1.2 文心一言1.3 Slack 上的 Claude1.3.1 Claude 介绍1.3.2 Claude 使用 1.4 Google的Bard1.4.1 Bard 介绍1.4.2 Bard 使用 1.5 科大讯飞的星火大模型1.5.1 星火大模型 介绍1.5.2 星火大模型 使用 1.6 new bin…

偶然看到DeepFaceLab(DeepFake)在2023年的新动向

DeepFaceLab相关文章 一&#xff1a;《简单介绍DeepFaceLab&#xff08;DeepFake&#xff09;的使用以及容易被忽略的事项》 二&#xff1a;《继续聊聊DeepFaceLab&#xff08;DeepFake&#xff09;不断演进的2.0版本》 三&#xff1a;《如何翻译DeepFaceLab&#xff08;DeepF…

微信消息撤回时间延长到2小时了?

““微信发出2小时后也可撤回,上班族的福音. ” 近日&#xff0c;有传言称 微信撤回消息的时间将延长至2小时 引起舆论关注 微信作为国内最大的网络社交平台&#xff0c;目前用户已超过11亿。 虽然微信已经做的很不错了&#xff0c;但微信消息撤回这一功能&#xff0c;还是…

Docker实战-关于Docker镜像的相关操作(二)

导语   之前的分享中&#xff0c;我们介绍了关于Docker镜像的查询操作相关的内容&#xff0c;下面我们继续来介绍删除清理、导入导出、创建镜像等操作。 如何删除和清理镜像&#xff1f; 使用标签删除镜像 可以使用docker rmi 或者是 docker image rm 命令来删除镜像&#x…

详解 HashMap 的底层实现原理

作为一名程序员&#xff0c;你可能经常使用 HashMap 这个重要的数据结构&#xff0c;但你对它的底层实现原理可能不够了解。本文将通过图文结合的方式&#xff0c;为你详细解析 HashMap 的底层实现原理&#xff0c;并回答一些常见问题&#xff0c;让你能够更好地理解和应用 Has…

电商分析:微商城还有入局的必要吗?

电商行业发展日新月异&#xff0c;新模式、新平台不断涌现。微商城系统作为一种新型的电商模式&#xff0c;正逐渐受到越来越多的关注和青睐。那么&#xff0c;微商城系统还有入局的必要吗&#xff1f; 首先&#xff0c;我们需要了解一下什么是微商城系统。微商城系统是一种基于…

SphereEx-DBPlusEngine 1.5.0 功能解读:CDC

前一段时间&#xff0c;面向新一代数据架构的数据库增强引擎 SphereEx-DBPlusEngine 正式发布 1.5.0 版本&#xff0c;新增 CDC 和数据库防火墙两大重磅功能&#xff0c;本篇文章笔者就给大家详细介绍 CDC 功能的实现逻辑和技术细节。 CDC CDC&#xff08;Change Data Captur…

LeetCode 27题:移除元素

题目 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长…

概念解析 | 利用IAA迭代自适应方法实现高精度角度估计

利用IAA迭代自适应方法实现高精度角度估计 注1:本文系“概念辨析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:IAA迭代自适应方法在雷达角度估计中的应用。 背景介绍 在雷达目标检测与定位中,准确估计目标角度是实现高精度定位的关键。传统的基于…

【FAQ】如何隐藏网页H.265播放器EasyPlayer.js的实时录像按钮?

目前我们TSINGSEE青犀视频所有的视频监控平台&#xff0c;集成的都是EasyPlayer.js版播放器&#xff0c;它属于一款高效、精炼、稳定且免费的流媒体播放器&#xff0c;可支持多种流媒体协议播放&#xff0c;包括WebSocket-FLV、HTTP-FLV&#xff0c;HLS&#xff08;m3u8&#x…

2023最新版本Activiti7系列-监听器讲解

监听器 1.执行监听器 在流程实例执行过程中触发某个事件时&#xff0c;Activiti提供的执行监听器可以捕获该事件并执行相应的外部的Java代码&#xff0c;或者对指定的表达式求值。在流程实例执行过程中触发某个事件时&#xff0c;Activiti提供的执行监听器可以捕获该事件并执行…