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

news2024/11/17 14:40:20

文章目录

    • 前言:
      • 新建远程仓库克隆
      • 推送【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.coloradmin.cn/o/1338787.html

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

相关文章

查看ios app运行日志

摘要 本文介绍了一款名为克魔助手的iOS应用日志查看工具&#xff0c;该工具可以方便地查看iPhone设备上应用和系统运行时的实时日志和奔溃日志。同时还提供了奔溃日志分析查看模块&#xff0c;可以对苹果奔溃日志进行符号化、格式化和分析&#xff0c;极大地简化了开发者的调试…

单集群400TB,OceanBase稳定支撑快手核心业务场景

一款日均超过千万人访问的短视频 App 快手&#xff0c;面对高并发流量如何及时有效地处理用户请求&#xff1f;通过在后端配置多套 MySQL 集群来支撑高流量访问&#xff0c;以解决大数据量存储和性能问题&#xff0c;这种传统的 MySQL 分库分表方案有何问题&#xff1f;快手对分…

个人游戏启动器 | 游戏数据库 playnite 折腾记录

环境&#xff1a;Windows 11 问题&#xff1a;使用平板串联PC游戏后&#xff0c;需要一个本地的PC启动器 解决办法&#xff1a;使用playnite搭配插件 背景&#xff1a;我是个单机游戏爱好者&#xff0c;因为某些原因&#xff0c;需要串流游玩&#xff0c;需要一个方便手柄操作的…

安全运维是做什么的,主要工作内容是什么

安全运维&#xff0c;简称SecOps&#xff0c;是一种集成安全措施和流程到信息技术运维的实践。它的目的是确保在日常运维活动中&#xff0c;如网络管理、系统维护、软件更新等&#xff0c;均考虑并融入安全策略。安全运维的核心是实现安全和运维团队的密切协作&#xff0c;以快…

鸿蒙系列--组件介绍之其他基础组件(上)

上回介绍了基础组件中最常用的组件常用的基础组件&#xff0c;接下来还有其他基础组件 一、Blank 描述&#xff1a;空白填充组件 功能&#xff1a;在容器主轴方向上&#xff0c;具有自动填充容器空余部分的能力。只有当父组件为Row/Column时生效 子组件&#xff1a;无 Blan…

Echarts使用,Echarts图表自适应窗口大小

Echarts官方文档 1.下载Echarts 项目打打开终端直接通过命令 npm install echarts --save 下载完成后在项目package.json查看。 2.使用Echarts 引入方式有两种全局引入和局部引入 全局引入直接在项目main.js引入放到vue原型上。 import * as echarts from echarts Vue.pr…

《Linux C/C++服务器开发实践》:深入探索网络编程的基础知识与实用技术

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; 书籍推荐 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一. 构建高性能Linux C/C服务器1.1 优化服务器性能1.2 处理并发和并行性1.3 高效管理内存1…

【新资讯】《网络安全事件报告管理办法(征求意见稿)》正在公开征求意见

近年来网络安全事故频发&#xff0c;造成了不少损失和危害。为了减少网络安全事故的发生&#xff0c;规范网络安全事件的报告&#xff0c;国家互联网信息办公室根据《中华人民共和国网络安全法》等法律法规起草了《网络安全事件报告管理办法&#xff08;征求意见稿&#xff09;…

【Linux基础】5. 磁盘管理

文章目录 【 1. 查看磁盘空间 】1.1 df 查看空间利用大小1.2 du 查看目录所占空间大小 【 2. 打包、压缩 】2.1 tar -cvf 打包2.2 gzip 压缩 【 3. 解压缩、解包 】3.1 gunzip 解压缩3.2 tar -xvf 解包 【 1. 查看磁盘空间 】 1.1 df 查看空间利用大小 作用 查看整个文件系统…

keras 人工智能之VGGNet神经网络的图片识别

VGG16结构图 上期文章我们分享了如何使用VGGNet CNN网络结构搭建一个图片识别网络,以及训练了神经网络模型,利用上期训练好的神经模型,可以进行我们的图片识别 图片识别结果 导入第三方库 from keras.preprocessing.image import img_to_array from keras.models import …

企业级实战项目:基于 pycaret 自动化预测公司是否破产

本文系数据挖掘实战系列文章&#xff0c;我跟大家分享一个数据挖掘实战&#xff0c;与以往的数据实战不同的是&#xff0c;用自动机器学习方法完成模型构建与调优部分工作&#xff0c;深入理解由此带来的便利与效果。 1. Introduction 本文是一篇数据挖掘实战案例&#xff0c;…

美国某金融公司遭遇网络攻击,130 万民众受影响

The Record 网站披露&#xff0c;美国最大的产权保险公司富达国民金融&#xff08;Fidelity National Financial&#xff08;"FNF"&#xff09;&#xff09;子公司向所在州监管机构报告了一起数据泄露事件&#xff0c;并指出有 1316938 人的数据信息被入侵其母公司的…

普中STM32-PZ6806L开发板(烧录方式)

前言 有两种方式, 串口烧录和STLink方式烧录;串口烧录 步骤 开发板USB转串口CH340驱动板接线到USB连接PC使用自带工具普中自动下载软件.exe烧录程序到开发板 ST Link方式 这种方式需要另外进行供电&#xff0c; 我买的如下&#xff0c;当年用于调试STM8的&#xff0c;也可…

uniapp中两个app互相跳转

例如,appA需要跳转到appB里面 第一步配置,android不用配置的&#xff0c;主要是配置ios的白名单 appB中 appA中 第二步代码 handleJump() {if (plus.runtime.isApplicationExist({pname: com., //安卓包名action: https://a //ios地址})) {if (plus.os.name Android) {pl…

什么是数据实时同步?对企业有什么重要性?

在当前的信息时代&#xff0c;数据的重要性已经超越了企业的资产范畴&#xff0c;成为推动创新和发展的核心动力。数据质量、完整性和可用性直接关系到企业的决策、运营和竞争力&#xff0c;因此&#xff0c;如何高效地管理和利用数据已经成为企业面临的重要挑战和机遇。 数据同…

哔哩哔哩HarmonyOS服务卡片开发

#HarmonyOS征文#完整服务卡片项目开发&#xff0c;为Bilibili添加服务卡片。 项目预览视频播放地址 介绍 这是一款纯鸿蒙版的哔哩哔哩服务卡片应用。 6月2日鸿蒙发布&#xff0c;今年的六月已经被鸿蒙刷屏了。从安卓到鸿蒙&#xff0c;最直观的变化应该就是服务卡片了。我也…

JVM高频面试题(2023最新版)

JVM面试题 1、JVM内存区域 Jvm包含两个子系统和两个组件。 1.1子系统 Class loader&#xff08;类加载器&#xff09;&#xff1a;根据给定的全限定名类名&#xff08;java.lang.object&#xff09;来装载class文件到Runtime data area&#xff08;运行时数据区&#xff09;…

解密负载均衡:如何平衡系统负载(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

Linux高级管理——yum仓库服务

一、部署yum软件仓库&#xff1a; 借助于YLM软件仓库&#xff0c;可以完成安装&#xff0e;卸载、自动升级rpm软件包等任务。YUM的前身是YUP (Yellow dog Updater, Yellow dog Linux的软件更新器),最初由TSS公司&#xff08;TerraSoft Solutions&#xff0c;INC.&#xff09;使…

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

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