Git相关知识(2)

news2025/6/21 19:15:20

目录

1.远程操作

1.基本认识

2.克隆远程仓库 

3.向远端仓库推送

4.从远程仓库中拉取

5.忽略特殊文件

6.配置命令别名

2.标签管理

1.本地的标签

2.远端的标签

3.多人协作

1.远端同一个分支

2.远端不同的分支

4.企业级开发模型

1.交付软件流程

2.系统开发环境


1.远程操作

1.基本认识

1.需要说明的是:Git是分布式版本控制系统。其表现就是,我们可以拥有一个远端的中心服务器常年运行,只需要用其他的主机连接当前的中心服务器并且不断更新就能完成在不同主机上完成同步开发的要求

2.GitHub和Gitee就是提供远程仓库的平台,以下的平台以gitee为例

以gitee为例

1.仓库名称就是远端库的版本库名称

2.路径会根据仓库名称自动生成

3.最开始只能是私有的,需要创建完毕之后手动调节为开源

4.Readme文件,即打开项目时第一个文件,该文件用于告知使用者关于该项目的一些信息

5.issue模板文件,指的是使用者在使用过程出现问题时将所谓的问题通过该栏发送给编写者

6.Pull Request模板,用于合并分支的模板

7.其他后续解释

2.克隆远程仓库 

HTTPS

无任何要求,可直接克隆

git clone 克隆的路径:克隆远端仓库,需要注意的是不可以在本地仓库下进行克隆

git remote:查看远程仓库

SSH

想要通过SSH进行克隆,想要在本地服务器生成一个公钥传到git中进行保管

1.需要先在本地服务器创建SSH Key

2.先查看/.ssh中是否有id_rsa和id_rsa.pub两个文件。如果有则跳过

3.如果没有,则需要创建这两个文件。ssh-keygen -t rsa -C "邮箱(与Gitee的邮箱保持一致)"

4.进入id_rsa.pub,在gitee上添加公钥

5.最后克隆远端仓库

3.向远端仓库推送

git push [远端仓库] [推送本地仓库的分支]:[接收远程仓库分支]:本地仓库的某一分支推送给远端仓库的某一分支下

需要注意的是,当前克隆下来的库中,username和useremail都不是远端的,而是自动生成的。通过git config--global user.name和git config--global user.email都修改了

4.从远程仓库中拉取

git pull [远端仓库] [远程仓库分支]:[本地仓库的分支]:远程仓库分支拉取加合并到本地仓库分支中

5.忽略特殊文件

在日常开发中,我们不会把所有文件传到远端去。我们也不能每次都筛选文件,所以这种人工审核的方式不太行得通。

.gitignore文件可以统一忽略一些格式的文件

.gitignore文件格式:

1.可以直接写文件名称

2.* .XXX:所有XXX后缀格式的文件都被忽略

忽略.gitignore,强制发送

1.git add -f 文件名:强制发送文件

2. !指定文件名:不排除指定文件

git check-ignore -v 被忽略的文件:查看被忽略的原因

6.配置命令别名

git config --global alias.XX XXX:给XXX起别名为XX

2.标签管理

1.本地的标签

git tag 标签名:打标签

git tag 标签名 commitID:某次提交处打标签

git tag -a 标签名 commitID -m "提示名":某次提交处打标签并添加描述

git tag:查看标签,此外.git中也有tags存放标签

git show 标签名:查看标签处的提交信息

git tag -d 标签名:删除标签

2.远端的标签

git push 远端 标签名:新的标签推送给远端

git push 远端 --tags:全部的标签推送给远端

git push 远端 [:标签名]:删除远端的标签

3.多人协作

1.远端同一个分支

1.多人协作就会出现分支需要进行处理的问题,其解决思路其实根之前处理分支解释过的差不多

2.首先我们要清楚远程仓库也有分支可以创建,为了保证master的稳定性,我们需要创建分支,在分支上进行bug调试,最后合并回master

3.当然,此时本地也需要建立一个分支。之所以需要创建分支,是因为我们远端存在的意义就是为了保护文件。如果我们讲写好的文件直接放入远端的分支,那么其实我们也无法保证传过去的分支是比本地稳定的。

4.当然本地创建分支也不是简单的创建,我们是要把所谓创建本地分支发送给远端的分支去,那么此时我们需要把远端的分支与本地的分支建立连接,单独讲一下什么是连接。想要直接进行git push而不进行任何修饰,就需要讲连接建立,就是为讲本地的指定分支中的内容发送给远端指定分支中去。

5.git branch -b 分支名:创建分支,并且切换

6.git branch --set-upstream-to=[远端分支路径] 当前分支:分支建立连接

7.如果当前一个远端的分支有多人在进行开发,A开发完成提交到远端,B随后也完成想要发送给远端就会报错,因为当前的远端和本地文件对应不上,B需要git pull下来,将所有的修改进行筛选,最后才能提交

8.多人协作的合并操作:

远端更新方法:此时需要把开发分支合并到master中去,Pull Request模块中,将所有的信息和申请表填写随后修改文件并且提交。最后审查员审核,通过

本地更新方法:将远端的master文件pull到本地。将最新分支和master合并,无误后将master进行修改。最后push到远端去即可

2.远端不同的分支

1.在远端创建不同分支

2.多个主机在本地创建分支,并且连接对应远端的分支

我们会发现,这样做不会出现冲突,也是企业常见的情况

如果我们想要其他主机的分支呢?

1.git pull:可直接拉下分支。这是因为git pull命令而言,一是拉取分支中的内容、二是直接拉取远程仓库的分支

2.我们创建了远端的分支,但是没有本地的分支,所以要创建(git branch -b 分支名)后并且建立连接(git branch --set-upstream-to=[远端分支路径] 当前分支)。

3.git push上传

4.如果其他的主机需要使用该分支,则需要在远端建立连接之后将其他主机开发的数据git pull下来

合并到master

1.使用Pull Request进行合并即可。

2.这一步在本地完成,开始把远端仓库pull到本地,先在非master中进行合并保证master的安全性,在审查员和测试员检查之后才能通过

3.这一步在远端完成,本地文件push到远端,再把非master合并到master,在审查员和测试员检查之后才算master合并完成

最后删除掉远端的其他分支,不过此时本地的远端分支依然存在,首先我们通过git remote show [远端仓库名]来查看当前的分支情况,看到提示让我们需要通过git remote prune [远端仓库名去除已经远端删除的分支

4.企业级开发模型

1.交付软件流程

流程:开发->测试->发布上线 == [规划、编码、构建、测试、发布、部署和维护]

软件开发工程师:规划、编码、构建

软件测试工程师:测试

软件运维工程师:发布、部署、维护

2.系统开发环境

1.开发环境:开发环境是程序猿们专⻔⽤于⽇常开发的服务器。为了开发调试⽅便,⼀般打开全部错 误报告和测试⼯具,是最基础的环境。
2.测试环境:⼀个程序在测试环境⼯作不正常,那么肯定不能把它发布到⽣产机上。该环境是开发环 境到⽣产环境的过渡环境。
3.预发布环境:该环境是为避免因测试环境和线上环境的差异等带来的缺陷漏测⽽设⽴的⼀套环境。 其配置等基本和⽣产环境⼀致,⽬的是能让我们发正式环境时更有把握!所以预发布环境是你的产 品质量最后⼀道防线,因为下⼀步你的项⽬就要上线了。要注意预发布环境服务器不在线上集成服 务器范围之内,为单独的⼀些机器。
4.⽣产环境:是指正式提供对外服务的线上环境,例如我们⽬前在移动端或PC端能访问到的APP都是⽣产环境。
develop和master为唯一分支,所以开发项目中,如果用到重命名错误问题,选择模板为develop和master可以解决该问题
分支名称适用环境
master
主分⽀
⽣产环境
release
预发布分⽀
预发布/测试环境
develop
开发分⽀
开发环境
feature
需求开发分⽀
本地
hotfix
紧急修复分⽀
本地

不同项目不同模型,为项目服务

5.DevOps研发平台 

1.DevOps介绍

DevOps是⼀种重视“软件开发⼈员”和“IT运维技 术⼈员”之间沟通合作的⽂化、运动或惯例。透过⾃动化“软件交付”和“架构变更”的流 程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。在DevOps的软件开发过程包含计 划、编码、构建、测试、预发布、发布、运维、监控,由此可⻅DevOps的强⼤。

2.步骤

项目设置

1.注册

2.创建项目

3.创建仓库

分支模型:查看自己想要的选择即可

成员设置

1.添加成员

2.添加项⽬成员

3.添加仓库开发⼈员

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

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

相关文章

振弦采集仪应用水坝安全监测的方案

振弦采集仪应用水坝安全监测的方案 随着工业化和城市化的快速发展,水资源的开发和利用越来越广泛。由于水坝在水利工程中起着至关重要的作用,因此对水坝进行安全监测变得越来越必要。为了实现对水坝的安全监测,振弦采集仪可以作为一种有效的…

Python+高光谱数据预处理-机器学习-深度学习-图像分类-参数回归

涵盖高光谱遥感数据处理的基础、python开发基础、机器学习和应用实践。重点解释高光谱数据处理所涉及的基本概念和理论,旨在帮助学员深入理解科学原理。结合Python编程工具,专注于解决高光谱数据读取、数据预处理、高光谱数据机器学习等技术难题&#xf…

SRC-记一处目录遍历

目录 安徽阳光心理测量平台目录遍历 FOFA指纹 漏洞复现 修复方案 hack渗透视频教程,扫码免费领 安徽阳光心理测量平台目录遍历 FOFA指纹 title"心理测量平台" 漏洞复现 路由后拼接/admin/UserFiles/ GET /admin/UserFiles/ HTTP/1.1 Host: {{Hostn…

关于pytorch不区分行向量与列向量的理解

听李沐老师讲深度学习时候解释pytorch不区分行向量和列向量,只相当于是一维数组,一维张量一定是行向量,相当于数组,而行列向量可以放到矩阵中看。 测试如下: rtorch.tensor([1,2,3],dtypetorch.float32) print(r,r.T…

Spring Boot中发送邮件时,如何让发件人显示别名

之前,我们通过一系列文章,介绍了如何在Spring Boot中发送邮件: 发送邮件添加附件引用静态资源邮件模版 已经包含了大部分的应用场景。但最近DD在做YouTube中文配音的时候,碰到一个问题: 如上图所示,收件人…

Android开发APT技术,与使用案例

annotationProcessor 是 javac 的一个工具,全称为 APT(apt 工具,Annotation Processor Tool),它用来在编译时扫描和处理注解,获取注解和被注解对象的相关信息,然后根据注解自动生成 java 代码。…

【arm实验2】按键中断事件控制实验

设置按键中断,按键1按下,LED亮,再次按下,灭 按键2按下,蜂鸣器叫,再次按下,停 按键3按下,风扇转,再次按下,停 主函数: linuxlinux:~/study/08-c$…

江苏建筑模板厂家-建筑模板批发供应商

江苏建筑模板厂家在建筑行业中扮演着重要的角色。建筑模板是建筑施工中不可或缺的一部分,用于支撑混凝土浇筑过程中的形状和结构。在江苏地区的气候地形、经济发展和建筑风格等方面的考虑下,我们将对几种常见的建筑模板材料进行比较,包括钢模…

Linux Centos安装Sql Server数据库,结合cpolar内网穿透实现公网访问

目录 前言 1. 安装sql server 2. 局域网测试连接 3. 安装cpolar内网穿透 4. 将sqlserver映射到公网 5. 公网远程连接 6.固定连接公网地址 7.使用固定公网地址连接 前言 简单几步实现在Linux centos环境下安装部署sql server数据库,并结合cpolar内网穿透工具…

ElementUI编辑表格单元格与查看模式切换的应用

需求:有时候在填写表单的时候,想要在输入的时候是input输入框的状态,但是当鼠标移出输入框失去焦点时,希望是查看的状态,这种场景可以通过 v-if实现 vue2ElementUi里面使用如下: 1.el-table标签注册 cell-…

非交互式ssh command无法找到命令command not found

起因 mha做check时无法获得node的版本 问题判断 分析下源码 执行的代码实际是 ssh $MHA::ManagerConst::SSH_OPT_ALIVE $ssh_user_host -p $ssh_port apply_diff_relay_logs --version 这里附一下ssh用的const SSH_OPT_ALIVE "-o ServerAliveInterval60 -o ServerAl…

MySQL 3 环境搭建 MySQL 5.7版本的安装、配置

MySQL5.7.43官网下载地址 MySQL :: Download MySQL Community Server 这里选5.7.43,Windows版本,然后点击Go to Download Page,下载msi安装包的版本 MSI安装包版本比ZIP压缩包版本的安装过程要简单的多,过程更加清楚直观&#x…

位运算解决简单逻辑推理问题

今天在学习Go语言中的位运算时,老师突然问我们位运算可以有哪些运用场景?这一点让我一下子想到了刷到的leetcode中的两道题目,例如丢失的数字和只出现一次的数字。有兴趣的小伙伴可以尝试做做看。 这两道题目都是用位运算解决的,并…

软考实行机考后,考前需要带什么?

软考实行机考之后,很多宝子们都在问考场需要带什么?今天给大家分享一下需要准备的东西~大家自行查看 添加图片注释,不超过 140 字(可选) 2023年11月软考考前必看—考试需携带的物品 1、从2023年下半年开始&#xff0c…

网页博弈测试报告

文章目录 项目介绍项目测试用例自动化测试注册自动化测试登录自动化测试匹配测试 性能测试编写脚本创建测试场景性能测试报告 项目介绍 该项目是一个网页对战的五子棋游戏,支持真人匹配对战和人机对战,支持多用户同时匹配进行五子棋对战,通过…

mysql数据库 windows迁移至linux

1.打开navicat,选择一个数据库进行操作: 之后文件会保存为一个xxx.sql文件,之后打开xftp,把生成的sql放进一个文件夹中(/home/dell/linuxmysql): 之后登录mysql数据库,并创建一个新的数据库,然后…

Pytorch之ConvNeXt图像分类

文章目录 前言一、ConvNeXt设计决策1.设计方案2.Training Techniques3.Macro Design🥇Changing stage compute ratio🥈Change stem to "Patchify" 4.ResNeXt-ify5. Inverted Bottleneck6.Large Kernel Size7.Micro Design✨Replacing ReLU wit…

论文阅读:Fast-BEV: Towards Real-time On-vehicleBird’s-Eye View Perception

Abstract 现有的BEV解决方案要么需要大量的资源执行车载推理,要么效果一般。Fast-BEV包含五部分: 1)一个轻量化部署友好的视角转换方式,可以快速将2D图像特征转到3D体素空间。 2)一个多尺度图像编码器利用多尺度特征。…

Mac/Wins Matlab如何查看APPs源码

查看Apps方法一样,点击HOME-preferences-MATLAB-Apps查看你的Apps安装路径。 你的Apps文件就安装在该目录下,直接进入这个目录就可以看到你自己写的APPs文件,

Fastjson历史版本记录

1.2.24 TemplatesImpl,利用条件苛刻,需要开启Feature.SupportNonPublicField {"type": "com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl","_bytecodes": ["yv66vgAAADQA...CJAAk"],"_name…