Git相关知识(2)

目录

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.hqwc.cn/news/133586.html

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

相关文章

微信自动批量添加好友的方法

在现在的营销中微信已成为一种重要的沟通方式。微信目前是没有自动批量添加好友的功能,需要运营者一个一个手动去添加,这样太过于浪费时间,并且加频繁了还容易被封号,今天给大家介绍几种手动批量加好友的方式以及怎么借助第三方软…

无限连接:前端跨页面通信的实现与应用

🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 引言 1. 前端跨页面通信的概述 2. 前端跨页…

Docker部署gitlab_ce(避坑版---社区版)

1 下载docker 2 下载gitlab镜像 3 运行 4 进入容器内部修改 5 在浏览器里访问 6 修改root密码(如果忘记请修改) 1 下载docker # 安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2# 设置yum源 yum-config-manager --add-repo https…

Apipost连接数据库详解

Apipost提供了数据库连接功能,在接口调试时可以使用数据库获取入参或进行断言校验。目前的Apipost支持:Mysql、SQL Sever、Oracle、Clickhouse、达梦数据库、PostgreSQL、Redis、MongoDB 8种数据库的连接操作 新建数据库连接: 在「项目设置…

当多条折线数据渲染在一个echarts里,这些折线的x轴数据是不统一的,处理方法

文档中series可以写成[[x轴值,y轴值],[x轴值,y轴值],[x轴值,y轴值]] 这种形式, 如果写成这样那么x轴会以series数组第一个子数组的x轴值的范围来定义,所以大家可以在给series赋值之前排个序,将子数组最多的…

【已解决】MySQL:执行sql查询出错误数据(MySQL隐藏机制-类型转换导致)

目录 问题现象: 问题分析: 结论: 解决方法: 拓展: 问题现象: 今天在项目开发中发现了一个非常奇怪的bug: 如图,我在数据库中以“dept_id 1712651046956421123”为条件&#xff…

html页面提交数据后,数据库有新增但为空值

经过仔细查找错误的原因,发现问题就出在我的html文件 红色箭头指示的语句我没加进去

如何使用前端构建工具(如Webpack、Parcel)?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

[42000][923] ORA-00923: 未找到要求的 FROM 关键字

在oracle数据库写分页查询,使用 rownum时候出错, 代码: SELECT *FROM (SELECT *, ROWNUM AS rnumFROM test t ) WHERE rnum BETWEEN 1 AND 5; 报错: [42000][923] ORA-00923: 未找到要求的 FROM 关键字 Position: 31 问题原因…

SpringCloud溯源——从单体架构到微服务Microservices架构 分布式和微服务 为啥要用微服务

前言 单体架构好好的,为啥要用微服务呢?微服务究竟是啥,怎么来的,有啥优缺点,本篇博客尝试追根溯源,阐述单体应用到分布式,微服务的演变,微服务架构的定义及优缺点,厘清相关的概念。…

基于intel D4系列深度相机 (D455)的单点测距和两点距离测量(代码讲解超详细)

目录 1.简介 1.1 intel D4系列深度相机 (D455) 1.2结构光(Structured-light) 2.基于深度相机的单点测距和两点距离测量 2.1函数详解 2.2 全部代码 1.简介 1.1 intel D4系列深度相机 (D455) Intel RealSense D435、D455等D4系列: Intel D4系列深度相机是由英特…

统一观测丨使用 Prometheus 监控 SQL Server 最佳实践

作者:啃唯 SQL Server 简介 SQL Server 是什么? Microsoft SQL Server 是 Microsoft 推出的关系型数据库解决方案,支持企业 IT 环境中的各种事务处理、商业智能和分析应用程序。Microsoft SQL Server 是市场领先的数据库技术之一。 SQL S…