git远程操作,推送【push】,拉取【pull】,忽略特殊文件,配置别名,标签管理

文章目录

    • 前言:
      • 新建远程仓库克隆
      • 推送【push】
      • 拉取【pull】
    • 配置git
      • 忽略特殊文件
      • 给命令配置别名
    • 标签管理
      • 理解标签
      • 创建标签
      • 操作标签

前言:

大家如果没有看过前几章git的基础操作的话,推荐先看一下,看完再来看这个远程操作,这样会对git有一个深的理解~~

  • GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件

  • git的分支的使用,创建分支,合并分支,删除分支,合并冲突,分支管理策略,bug分支,强制删除分支

接下来我们对本章的正题:

Git是一款分布式版本控制系统,它允许团队协同开发并追踪代码变更。远程操作是Git中的一个重要概念,它使得开发者能够在不同计算机之间共享和同步代码。这里也不多介绍,可以到百度上面自行寻找~~

本教程使用的是码云(gitee.com)来演示

新建远程仓库克隆

  • 首先就是要先注册一个自己的账号
  • 然后新建仓库

在这里插入图片描述

在这里插入图片描述

  • 这里有两种方法来clone仓库到本地,一个是https一个是ssh

  • 我们不使用https,原因是https比较简单

    • 首先就是配置用户名和邮箱然后(这里配置命令在初始git操作就讲述了)然后直接使用这个命令git clone 复制的仓库链接
  • 接下来我们就使用这个ssh来配置一下

    • 使用ssh方式克隆仓库,由于我们没有添加公钥到远端库中,所以会克隆失败,这里就不演示了,接下来我们就开始配置一下如何将公钥添加
  • 首先打开设置->ssh公钥->公钥

  • 那么这里的公钥在哪里获取呢,当然是在自己的电脑或者远端服务器上获取~~

在这里插入图片描述

  • 我这里就在自己电脑上演示了,远端服务器获取也是一样的~~
  • 输入一下命令,注意: 这里改成自己的邮箱~~
ssh-keygen -t ed25519 -C "shilinnull@163.com"

在这里插入图片描述

  • 然后会在上图的地址会显示地址,找到这个文件夹就可以了,其中第二个带有.pub的后缀是公钥,我们用记事本打开复制里面的内容

在这里插入图片描述

  • 然后粘贴到刚刚的那个网站的公钥栏里就可以了,标题随便写就可

在这里插入图片描述

  • 最后再使用ssh的方式克隆

在这里插入图片描述

  • OK,可以看到已经成功了~~

在这里插入图片描述

推送【push】

  • 我们对仓库里的文件进行修改

在这里插入图片描述

  • 然后进行添加

在这里插入图片描述

  • 最后一个关键的步骤,就是push
git push origin master

在这里插入图片描述

  • 然查看远端仓库,可以看到已经被修改了

在这里插入图片描述

拉取【pull】

  • 我们首先对远端仓库直接进行了修改

在这里插入图片描述

  • 而我们这次又对本地又进行了修改,然后再添加

在这里插入图片描述

  • 最后进行提交操作,发现是无法提交的,会有冲突

在这里插入图片描述

  • 这个时候就需要我们首先对远端仓库进行拉取
git pull origin master

在这里插入图片描述

在这里插入图片描述

  • 这里又回到冲突那里了,然后我们需要进行手动修改一下然后再进行提交

在这里插入图片描述

  • 然后再进行添加提交操作

在这里插入图片描述

  • 可以看到也已经是有了~~

在这里插入图片描述

配置git

忽略特殊文件

  • 在日常开发中,我们有些文件不想提交到远程仓库,那么怎么做呢?

    • 这个时候我们就需要在自己仓库的根目录下建立一个特殊的文件.gitignore,把需要忽略的文件名填进去,git提交的时候就会自动忽略这些文件了~~
  • 我们来演示一下

  • 这里的*代表是通配符,也就是将后缀.txt的文件都忽略

在这里插入图片描述

  • 我们查看一下git的状态,可以看到是没有文本.txt在这里插入图片描述

  • 再次添加后提交

在这里插入图片描述

  • 来到我们的远程仓库查验证一下

在这里插入图片描述

  • 但有些时候,你就是想添加⼀个文件到 Git,但由于这个文件被 .gitignore 忽略了,根本添加不了,那么可以⽤ -f 强制添加:
git add -f [filename]
  • 或者你发现,可能是 .gitignore 写得有问题,需要找出来到底哪个规则写错了,比如说 a.so 文件
    是要被添加的,可以用 git check-ignore 命令检查:
git check-ignore -v file.txt
  • Git 会告诉我们, .gitignore 的第几行规则忽略了该⽂件,于是我们就可以知道应该修订哪个规则。

还有些时候,当我们编写了规则排除了部分文件时,例如:

# 排除所有.开头的隐藏⽂件:
.*
  • 但是我们发现 .* 这个规则把 .gitignore 也排除了。虽然可以⽤ git add -f 强制添加进去,但有强迫症的同学还是希望不要破坏 .gitignore 规则,这个时候,可以添加⼀条例外规则:
# 排除所有.开头的隐藏⽂件:
.*

# 不排除.gitignore
!.gitignore
  • 把指定文件排除在 .gitignore 规则外的写法就是 ! +文件名,所以,只需把例外文件添加进去即可

给命令配置别名

  • 在使用git的时候,我们有的时候使用命令太长太麻烦了,我们可以将git命令进行重命名成一个简短的,我们这样操作:

  • 比如我们将git status简写成git st

  • 这里的alias.改成自己想要改成的名字

git config --global alias.st status
  • --global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有⽤。如果不加,那只针对当前的仓库起作用

  • 这样就可以进行重命名成功了,原来的名字也是可以用的~~

在这里插入图片描述

标签管理

理解标签

  • 这个标签,我们可以简单理解是对某一次的commit的一个标识,也就是相当于起了一个别名
  • 对于难以记住的commit id,tag就可以很好的解决这个问题,标签就可以定位到某一个重要的版本,使用标签就可以快速定位到那个版本,这样就很方便快捷

创建标签

  • 首先查看一下在哪个分支上,如果需要打标签到哪个分支上就要切换到哪个分支上
git branch

在这里插入图片描述

  • 然后就可以打标签了 tag后面跟上标签名字就可以
git tag v1.0
  • 打完标签肯定是要查看一下
git tag

在这里插入图片描述

  • 这个标签是没有指定打到哪个commit id上的,所以就是默认,默认就是打在最新提交的commmit上的

  • 那么我们要在指定commit id上打标签,我们可以在后面跟上commit id

git tag v0.9 741df88

在这里插入图片描述

注意: 这里的标签可不算按照时间列出的,是按照字母进行排序的

  • 我们还可以查看标签信息:show后面跟上标签名字,就可以查看具体信息了
git show v1.0

在这里插入图片描述

  • 我们这里还可以指定带有说明的标签,-a指定别名,-m指定说明文字
git tag -a [name] -m "XXX" [commit_id]

在这里插入图片描述

操作标签

  • 如果标签打错了,我们还可以删除 -d后面跟上标签名字
git -d v0.8

在这里插入图片描述

  • 因为创建的标签都只存储在本地,不会⾃动推送到远程。所以,打错的标签可以在本地安全删除

  • 如果要推送某个标签到远程,可以使用命令

git push origin <tagname>

在这里插入图片描述

  • 我们查看远程仓库,可以看到已经推送成功了
    在这里插入图片描述

  • 如果本地仓库有很多标签,可以一次性全部推送到远端

git push oringe --tags

在这里插入图片描述

  • 也是相当的完美已经推送上去了
    在这里插入图片描述

  • 如果要进行删除标签,就要先从本地仓库里删除,然后再推送一次,进行更新

  • 冒号后面跟上标签的名字即可~~

git push origin :v0.9

在这里插入图片描述

  • 我们再次来远端仓库
  • 已经完美删除了~~

在这里插入图片描述

好了,git的远程操作到这里就结束了,希望大家都可以掌握这些技能,这是对能力的一大提升,也希望大家努力学习!加油!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ARM12.26

整理三个按键中断代码 key_it.h #ifndef __KEY_IT_H__ #define __KEY_IT_H__ #include"stm32mp1xx_gpio.h" #include"stm32mp1xx_gic.h" #include"stm32mp1xx_exti.h" #include"stm32mp1xx_rcc.h" #include"led.h" void k…

ARCGIS PRO SDK 要素空间关系

一、要素与要素查询&#xff0c;返回的是bool值 1、 Touches 判断几何要素是否接触 Touches 如果 geometry1 与 geometry2 接触&#xff0c;则返回 true&#xff0c;否则 false。 touches GeometryEngine.Instance.Touches(Geometry1, Geometry2) 2、…

ROS 传感器 激光雷达

激光雷达&#xff0c;全称Light Detection And Ranging&#xff0c;主要用于利用激光来检测物体以及测量与物体之间的距离&#xff0c;是一种重要的传感器技术&#xff0c;这种技术被广泛应用于自动驾驶、无人船、无人机等领域&#xff0c;用于避障和环境探测。 在ROS环境中&a…

什么是阿里云负载均衡SLB?

目录 硬件或软件负载均衡的区别是什么&#xff1f; 什么是阿里云负载均衡SLB&#xff1f; 阿里云传统型负载均衡CLB 硬件或软件负载均衡的区别是什么&#xff1f; 通过专用硬件实现负载均衡&#xff0c;那么整体成本会较高&#xff0c;而且设备容易出现单点故障&#xff0c;…

简析SoBit 跨链桥图文教程

从BTC网络到Solana网络桥接BRC20 1.打开SoBit平台&#xff1a;在您的网络浏览器中启动SoBit Bridge应用程序。 2.连接您的钱包&#xff1a; 选择SoBit界面右上角的比特币网络来连接您的数字钱包。 3.选择源链、目标链和您想桥接的代币&#xff1a; 从下拉菜单中选择’BTC’作为…

弱电工程计算机网络系统基础知识

我们周围无时无刻不存在一张网&#xff0c;如电话网、电报网、电视网、计算机网络等&#xff1b;即使我们身体内部也存在许许多多的网络系统&#xff0c;如神经系统、消化系统等。最为典型的代表即计算机网络&#xff0c;它是计算机技术与通信技术两个领域的结合。 计算机网络的…

【PTA】L1-016 验证身份(C++)

题目链接 &#xff1a; 题目要求&#xff1a; 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下&#xff1a; 首先对前17位数字加权求和&#xff0c;权重分配为&#xff1a;{7&#xff0c;9&#xff0c;10&#xff0c;5&#xff0…

axios进行图片上传组件封装

文章目录 前言图片上传接口&#xff08;axios通信)图片上传使用upload上传头像效果展示总结 前言 node项目使用 axios 库进行简单文件上传的模块封装。 图片上传接口&#xff08;axios通信) 新建upload.js文件&#xff0c;定义一个函数&#xff0c;该函数接受一个上传路径和一…

.Net7.0 或更高版本 System.Drawing.Common 上传图片跨平台方案

项目升级.Net7.0以后&#xff0c;System.Drawing.Common开关已经被删除&#xff0c;且System.Drawing.Common仅在 Windows 上支持 &#xff0c;于是想办法将原来上传图片验证文件名和获取图片扩展名方法替换一下&#xff0c;便开始搜索相关解决方案。 .Net6.0文档&#xff1a;…

【vue滚动条插件vuescroll】【vue自定义滚动条】

文章目录 前言一、使用步骤1.下载2.引入库三、在组件中如何使用&#xff1f;四、跳转到顶部的方法scrollTo() 五、效果总结 前言 由于浏览器自带的滚动条比较不符合设计图&#xff0c;所以在大部分项目中&#xff0c;我们都会自定义滚动条的样式&#xff0c;来还原设计图&…

Hive实战:词频统计

文章目录 一、实战概述二、提出任务三、完成任务&#xff08;一&#xff09;准备数据文件1、在虚拟机上创建文本文件2、将文本文件上传到HDFS指定目录 &#xff08;二&#xff09;实现步骤1、启动Hive Metastore服务2、启动Hive客户端3、基于HDFS文件创建外部表4、利用Hive SQL…

安装kafka

静态文件安装&#xff08;单机&#xff09; 解压到指定目录&#xff08;解压到 /usr&#xff09; tar -zxf kafka_2.11-2.2.0.tgz -C /usr/ 到指定的解压目录下 cd /usr/kafka_2.11-2.2.0/ 配置主机名 查看是否配置了HOSTNAME vim /etc/sysconfig/network 没有就新增 HOSTNA…

记录汇川:MODBUS TCP-梯形图

H5U的MODBUS通信不需要编写程序&#xff0c;通过组态MODBUS通信配置表&#xff0c;实现数据通信。 Modbus-TCP 主站即Modbus-TCP客户端&#xff0c;通过Modbus-TCP配置&#xff0c;可最多支持同时与31个 Modbus-TCP服务器&#xff08;从站&#xff09;进行通讯。 …

大数据与人工智能|全面数字化战略与企业数字化转型(第1节 )

要点一&#xff1a;培养跨学科思维 在分析时&#xff0c;需要采用多学科的思维方式 结果不重要&#xff0c;重要的是如何提炼现象、分析问题和得出结论的过程。 1. 介绍了锤子精神和多学科思维方式的重要性。指出了只从自身学科出发解决问题的局限性。 2. 提倡跨学科思维方式&a…

C语言易错知识点九(指针(part three))

❀❀❀ 文章由不准备秃的大伟原创 ❀❀❀ ♪♪♪ 若有转载&#xff0c;请联系博主哦~ ♪♪♪ ❤❤❤ 致力学好编程的宝藏博主&#xff0c;代码兴国&#xff01;❤❤❤ 许久不见&#xff0c;甚是想念&#xff0c;本大忙人已经很久没有更新博客了&#xff0c;我想大概我的粉丝们早…

数据库原理及应用·关系数据库标准语言SQL

4.1 SQL概述 4.1.1 SQL的产生和发展 1.产生 1974年&#xff0c;SQL语言的雏形最早由美国IBM公司的Raymond F. Boyce和Donald D. Chamberlin提出 1975-1979年&#xff0c;在System R上首次实现&#xff0c;由IBM的San Jose研究室研制&#xff0c;称为SEQUEL 2.发展 1986年推…

文件夹共享功能的配置 以及Windows server2012防火墙的配置

目录 一. 配置文件夹共享功能 1.1 为什么需要配置文件夹共享功能 1.2 配置文件夹共享 1.3 访问共享文件夹 1.4 配置取消 用户名和密码认证 二. windows server 2012防火墙配置 思维导图 一. 配置文件夹共享功能 1.1 为什么需要配置文件夹共享功能 我们在工作和生活中经…

RM3100 stm32驱动(硬件i2c)

目录 RM3100接线HAL库I2C函数HAL_I2C_Mem_ReadHAL_I2C_Mem_WriteHAL_I2C_Master_Transmit / HAL_I2C_Master_Receive例子 HSHAKE寄存器 cubemx配置RM3100寄存器驱动最终效果 RM3100接线 原理图 SA0 SA1接地&#xff0c;此时i2c设备地址为0100000&#xff0c;即0x20 如果SA0接…

Scikit-Learn线性回归(一)

Scikit-Learn线性回归一 1、线性回归概述1.1、回归1.2、线性1.3、线性回归1.4、线性回归的优缺点1.5、线性回归与逻辑回归2、线性回归的原理2.1、线性回归的定义与原理2.2、线性回归的损失函数3、Scikit-Learn线性回归3.1、Scikit-Learn库3.2、Scikit-Learn线性回归API3.3、Sci…

Spring-2-配置和Springboot

bean的生命周期 挂钩到bean的创建 通过了解初始化的时间&#xff0c;bean可以检查是否满足其所需的所有依赖项。 尽管Spring可以帮助我们检查依赖项&#xff0c;但它几乎是一种全有或全无的方法&#xff0c;并且不会提供任何机会来将其他逻辑应用于依赖项的解析过程中。 假设…
最新文章