当前位置: 首页 > news >正文

【Git企业实战开发】Git常用开发流操作总结

【Git企业实战开发】Git常用开发流操作总结

大家好 我是寸铁👊
总结了一篇Git常用开发流操作总结的文章✨
喜欢的小伙伴可以点点关注 💝

现在刚做项目的伙伴,可能你之前学过git,但是一实战发现不熟悉
没关系,看寸铁这篇博客,帮助你少走弯路!

前言

Git作为开发的代码版本和团队多人协作分支管理的强大工具,在企业和公司中运用的十分广泛,作为程序员,熟悉常用的开发流操作就显得非常必要了!
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必对服务器端软件支持。

笔者最近在开发过程中,经常对Git的企业开发流运用的不够熟练,所以整理了一下最近开发过程中的常用开发流,随着项目的深入,后面会不断在这篇文章中持续更新添加其他实战操作,欢迎朋友们的关注与点赞!

谨此感谢帮助笔者一路成长的伙伴们!


Git工作流程

在这里插入图片描述


Git基础操作

在这里插入图片描述
说明:

workspace:工作区(你当前所操作的区域)
staging area:暂存区/缓存区
local repository:版本库或本地仓库
remote repository:远程仓库

Git命令说明

命令说明
git initgit init命令创建一个空的Git仓库或重新初始化一个现有仓库。
git clonegit clone命令将远程存储库克隆到新目录中。
git addgit add命令将文件内容添加到索引(将修改添加到暂存区)。
git commit该命令用于将更改记录(提交)到存储库。将暂存区的当前内容与描述更改的用户和日志消息一起存储在新的提交中。
git pull该命令用于从另一个存储库或本地分支获取并集成(整合)。
git push该命令用于将本地分支的更新,推送到远程仓库。
git status该命令用于显示工作目录和暂存区的状态。
git log该命令用于显示提交日志信息。
git branch该命令列出当前存储库中的所有本地分支。
git checkout该命令命令用于从一个分支切换到另一个分支。
git fetch该命令用于从远程获取代码库。
git merge该命令用于将两个或两个以上的开发历史加入(合并)一起。
git stash该命令临时存储所有已修改的跟踪文件。

Git企业实战

添加本地的文件到远程分支

默认你已经切换到本地分支了

  1. 先添加文件到暂存区
git add .
  1. 再提交到本地仓库上
git commit -m '备注'
  1. 最后推到远程分支即可
git push (xx分支)

注意:如果说你所在的分支就是你要push的远程分支,请直接使用git push

比如:你所在的分支是origin/oop

然后想要push到远程仓库的oop分支
即执行: git push origin/oop

结果报错显示如下, 尝试直接使用如下命令:

git push

在这里插入图片描述


运行结果如下:

在这里插入图片描述

这是因为你所在的分支就是你要push的远程分支,所以会报仓库不存在的错误。


合并远程分支代码

  1. 先拉取远程仓库代码到本地仓库中
git fetch 

注意:此时还未merge合并

在这里插入图片描述

  1. 再合并需要的分支代码
git merge origin/xx分支

在这里插入图片描述

  1. 合并时,遇到冲突时怎么解决?
    2024/2/26更新

今天在合并代码时报错如下:

在这里插入图片描述

具体报错如下:

warning: in the working copy of 'xx.go', LF will be replaced by CRLF the next time Git touches it
Auto-merging xx.go
CONFLICT (content): Merge conflict in xx.go
Auto-merging xx.go
CONFLICT (content): Merge conflict in xx.go
Automatic merge failed; fix conflicts and then commit the result.

这时需要我们先手动合并,再addcommit即可。


  • 先找到冲突的文件,冲突标记如下:
<<<<<<<<你当前的分支========>>>>>>>>合并的分支

在这里插入图片描述

  • 进行手动合并操作

我们把<<<<<<<<========>>>>>>>>给删掉,再合并保留我们需要的内容。

比如,我这里需要保留一下resp

删除符号,保留自己需要的内容后,文件就不报红啦

在这里插入图片描述

实际合并中,可能会有其他的也是需要合并的,比如导入的包之类的,这里只演示示例,其他的同上操作手动合并即可。

  • 保存提交到本地仓库
    最后,待冲突解决完后,我们还要提交到本地仓库中,相当于保存操作。如下两步走:
    • git add .
      作用: 执行 git add 命令将解决冲突后的文件标记为已解决
      在这里插入图片描述
    • git commit -m '你备注'
      作用:执行git commit提交合并后的结果。 在这里插入图片描述

    至此,合并冲突就解决啦,又可以继续愉快地开发啦!


合并冲突总结

我们再来回顾一下刚才的合并操作步骤:

  1. 先打开包含冲突的文件

  2. 在文件中搜索包含冲突的部分,通常会看到类似以下的标记:

    <<<<<<<<你当前的分支========>>>>>>>>合并的分支
    
  3. 根据你的需求选择要保留的更改或者进行合并删除冲突标记 (<<<<<<<, =======, >>>>>>>),并保留你需要的代码。你可以选择保留某个分支的更改,也可以将两个分支的更改合并在一起。

  4. 解决完所有冲突后,保存文件。

  5. 执行 git add 命令将解决冲突后的文件标记为已解决

  6. 最后,执行git commit提交合并后的结果。


切换到远程仓库的其他分支

  1. 切换其他分支
git checkout -b origin/xx分支

在这里插入图片描述

如果提示已有这个分支则进行直接切换即可,如下命令:

git checkout origin/xx分支

在这里插入图片描述

  1. 再检查一下是否在你想要的分支
    -a列举出所有的分支,带*报绿的则为当前分支
git branch -a

在这里插入图片描述

备注:q退出当前命令行


删除本地分支并拉取其他远程分支代码

  1. 先切换到主分支
 git checkout master

在这里插入图片描述

  1. 再执行删除本地分支
git branch -D 你的本地分支名字

在这里插入图片描述

  1. 最后再拉取远程分支的代码
git pull origin xx分支

在这里插入图片描述


其他常用命令用法

  1. git stash
git stash

用于暂存当前工作目录的修改,以便于你在切换分支或者执行其他操作之前保存这些修改,而不必提交它们。


git stash pop

从存储的工作记录(stash)中应用(恢复)最近的一次存储的修改,并且从存储区中删除这次存储,类似栈的pop弹出操作。


  1. git status
git status

状态命令可以用来查看当前项目的状态,包括修改过但未提交的文件、未跟踪的文件、分支信息等。状态命令的格式如下:

结语

Git的命令很多,最常用的企业开发流基本都在这了,不熟悉的小伙伴赶紧学起来,快速上手项目的开发。后面会持续更新实战命令,大家可以关注留意一下,感谢您的支持!


看到这里的小伙伴,恭喜你又掌握了一个技能👊
希望大家能取得胜利,坚持就是胜利💪
我是寸铁!我们下期再见💕

往期好文💕

保姆级教程

【保姆级教程】Windows11下go-zero的etcd安装与初步使用

【保姆级教程】Windows11安装go-zero代码生成工具goctl、protoc、go-zero

【Go-Zero】手把手带你在goland中创建api文件并设置高亮


报错解决

【Go-Zero】Error: user.api 27:9 syntax error: expected ‘:‘ | ‘IDENT‘ | ‘INT‘, got ‘(‘ 报错解决方案及api路由注意事项

【Go-Zero】Error: only one service expected goctl一键转换生成rpc服务错误解决方案

【Go-Zero】【error】 failed to initialize database, got error Error 1045 (28000):报错解决方案

【Go-Zero】Error 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)报错解决方案

【Go-Zero】type mismatch for field “Auth.AccessSecret“, expect “string“, actual “number“报错解决方案

【Go-Zero】Error: user.api 30:2 syntax error: expected ‘)‘ | ‘KEY‘, got ‘IDENT‘报错解决方案

【Go-Zero】Windows启动rpc服务报错panic:context deadline exceeded解决方案


Go面试向

【Go面试向】defer与time.sleep初探

【Go面试向】defer与return的执行顺序初探

【Go面试向】Go程序的执行顺序

【Go面试向】rune和byte类型的认识与使用

【Go面试向】实现map稳定的有序遍历的方式

相关文章:

【Git企业实战开发】Git常用开发流操作总结

【Git企业实战开发】Git常用开发流操作总结 大家好 我是寸铁&#x1f44a; 总结了一篇Git常用开发流操作总结的文章✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 现在刚做项目的伙伴&#xff0c;可能你之前学过git&#xff0c;但是一实战发现不熟悉 没关系&#xff0c;看寸铁这篇…...

vue2+element医院安全(不良)事件报告管理系统源代码

目录 安全不良事件类型 源码技术栈 医院安全&#xff08;不良&#xff09;事件报告管理系统采用无责的、自愿的填报不良事件方式&#xff0c;有效地减轻医护人员的思想压力&#xff0c;实现以事件为主要对象&#xff0c;可以自动、及时、实际地反应医院的安全、不良、近失事件…...

leetcode初级算法(python)- 字符串

文章目录 1.反转字符串常规算法pythonic 算法2.整数反转数学法字符串法3.字符串中的第一个唯一字符pythonic算法哈希算法4.有效的字母异位词常规算法进阶算法5.最长公共前缀1.反转字符串 输入:[‘h’,‘e’,‘l’,‘l’,‘o’] 输出:[‘o’,‘l’,‘l’,‘e’,‘h’]...

Python 鼠标模拟

鼠标模拟即&#xff1a;通过python 进行模拟鼠标操作 引入类库 示例如下&#xff1a; import win32api import win32con import time 设置鼠标位置 设置鼠标位置为窗口中的回收站。 示例如下&#xff1a; # 设置鼠标的位置 win32api.SetCursorPos([30, 40]) 双击图标 设置…...

Linux进程 ----- 信号处理

前言 从信号产生到信号保存&#xff0c;中间经历了很多&#xff0c;当操作系统准备对信号进行处理时&#xff0c;还需要判断时机是否 “合适”&#xff0c;在绝大多数情况下&#xff0c;只有在 “合适” 的时机才能处理信号&#xff0c;即调用信号的执行动作。 一、信号的处理…...

【数位】【数论】【分类讨论】2999. 统计强大整数的数目

作者推荐 动态规划的时间复杂度优化 本文涉及知识点 数位 数论 LeetCode2999. 统计强大整数的数目 给你三个整数 start &#xff0c;finish 和 limit 。同时给你一个下标从 0 开始的字符串 s &#xff0c;表示一个 正 整数。 如果一个 正 整数 x 末尾部分是 s &#xff08…...

MongoDB聚合运算符:$atan2

$atan2用来计算反正切&#xff0c;返回指定表达式的反正切值&#xff0c;与$antan的区别主要是参数不同。 语法 { $atan2: [<expression1>, <expression1>] }<expression>为可被解析为数值的表达式$atan2返回弧度&#xff0c;使用$radiansToDegrees运算符可…...

敏捷开发最佳实践:价值维度实践案例之ABTest中台化

22年敏捷白皮书调研发现&#xff0c;仅有14%的企业部分实现价值管理闭环&#xff0c;8%的企业能够做到企业战略和业务目标与价值管理紧密结合。这一现象说明了大部分中国企业还不能在敏捷实践中实现需求价值的体系化及多维度价值度量&#xff0c;因此推广优秀的敏捷实践至关重要…...

爬虫基本库的使用(requests库的详细解析)

注&#xff1a;本文一共4万多字&#xff0c;希望读者能耐心读完&#xff01;&#xff01;&#xff01; 前面,我们了解了urllib库的基本用法&#xff08;爬虫基本库的使用(urllib库的详细解析)-CSDN博客&#xff09;。其中&#xff0c;确实又不方便的地方。例如处理网页验证…...

QT实现串口通信

一.Qt串口通信 Qt提供了两个关于串口通信的C类&#xff0c;分别是QSerialPort和QSerialPortInfo。 QSerialPort类提供了操作串口的各种接口。 QSerialPortInfo是一个辅助类&#xff0c;可以提供计算机中可用的串口的各种信息。 QSerialPortInfo Class用于提供外部串行端口的…...

微信小程序 --- 通用模块封装(showToast,showModal ,本地存储)

目录 01. 为什么进行模块封装 02. 消息提示模块封装 03. 模态对话框封装 04. 封装本地存储 API 05. 拓展:封装异步存储API优化代码 01. 为什么进行模块封装 在进行项目开发的时候&#xff0c;我们经常的会频繁的使用到一些 API&#xff0c; 例如&#xff1a;wx.showToast…...

基于springboot+vue的音乐网站(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…...

pclpy 最小二乘法拟合平面

pclpy 最小二乘法拟合平面 一、算法原理二、代码三、结果1.左边原点云、右边最小二乘法拟合平面后点云投影 四、相关数据 一、算法原理 平面方程的一般表达式为&#xff1a; A x B y C z D 0 ( C ≠ 0 ) Ax By Cz D 0 \quad (C\neq0) AxByCzD0(C0) 即&#xff1a; …...

蓝桥杯备战刷题(自用)

1.被污染的支票 #include <iostream> #include <vector> #include <map> #include <algorithm> using namespace std; int main() {int n;cin>>n;vector<int>L;map<int,int>mp;bool ok0;int num;for(int i1;i<n;i){cin>>nu…...

Python习题详解

练习&#xff1a; 1&#xff0c;计算100以内奇数的和 #计算100以内所有奇数的和 sum 0 # n 1 # while n < 100: # # sum sum n # sum n # # n n 2 # n 2 # print(sum) n 99 #求偶数时n 100 while n > 0:sum n# n n - 2n - 2 print(sum)2&#xff0c;打印直…...

绩效考核利器:Excel报表模板,解锁企业高效员工评价新境界

一、背景与目标 在现今的企业管理中&#xff0c;绩效考核是一项至关重要的任务。它旨在评估员工的工作表现&#xff0c;激励员工积极进取&#xff0c;同时也是制定薪酬、晋升、培训等决策的重要依据。为了满足这一需求&#xff0c;我们设计了一款绩效考核Excel报表模板&#x…...

如何使用Lychee+cpolar搭建本地私人图床并实现远程访问存储图片

文章目录 1.前言2. Lychee网站搭建2.1. Lychee下载和安装2.2 Lychee网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 图床作为图片集中存放的服务网站&#xff0c;可以看做是云存储的一部分&#xff0c;既可…...

跨境支付介绍

1、跨境电商定义和分类&#xff1b; 2、国际贸易清结算&#xff1b; 3、跨境支付&#xff1b; 1、跨境电商定义和分类 跨境电商业务简单说就是指不同国家地域的主体通过电子商务进行交易的一种业务模式。同传统的电商不同&#xff0c;交易双方属于不同的国家。因此&#xff0…...

如何在Linux搭建MinIO服务并实现无公网ip远程访问内网管理界面

文章目录 前言1. Docker 部署MinIO2. 本地访问MinIO3. Linux安装Cpolar4. 配置MinIO公网地址5. 远程访问MinIO管理界面6. 固定MinIO公网地址 前言 MinIO是一个开源的对象存储服务器&#xff0c;可以在各种环境中运行&#xff0c;例如本地、Docker容器、Kubernetes集群等。它兼…...

Cortex-M可以跑Linux操作系统吗?

在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「Linux的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; Cortex-M系列微控制器主要设计…...

日志系统项目(2)项目实现(实用工具类、日志等级类、日志消息类、日志格式化输出类)

前面的文章中我们讲述了日志系统项目的前置知识点&#xff0c;再本文中我们将开始日志项目的细节实现。 日志系统框架设计 本项目实现的是一个多日志器日志系统&#xff0c;主要实现的功能是让程序员能够轻松的将程序运行日志信息落地到指定的位置&#xff0c;且支持同步与异…...

剑指offer面试题19 二叉树的镜像

考察点 树的遍历知识点 题目 分析 我们分析算法题目的思路基本上都是归纳法&#xff0c;即通过举一些普通的例子来推理出算法流程&#xff0c;而画图又是举例子的常用手段&#xff0c;比如针对树或者链表画画图&#xff0c;针对数字类的举一些数字的例子寻找规律&#xff0c…...

SpringCloud Alibaba 2022之Nacos学习

SpringCloud Alibaba 2022使用 SpringCloud Alibaba 2022需要Spring Boot 3.0以上的版本&#xff0c;同时JDK需要是17及以上的版本。具体的可以看官网的说明。 Spring Cloud Alibaba版本说明 环境搭建 这里搭建的是一个聚合项目。项目结构如下&#xff1a; 父项目的pom.xm…...

js之数组遍历

for 可以用来遍历数组、字符串、类数组、DOM节点&#xff0c;可以更改原数组&#xff0c;可以使用break、continue 跳出循环 return 只能在函数内部使用 for(声明循环变量&#xff1b;判断循环条件&#xff1b;更新循环变量){循环体 }forEach 参数&#xff08;当前元素&#x…...

极狐GitLab 16.9 重磅发布,快来 pick 你心仪的功能吧~【五】

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 沿袭我们的月度发版机制&#xff0c;今天我们正式发布极狐GitL…...

如何在本地部署密码管理软件bitwarden并结合cpolar实现远程同步

文章目录 1. 拉取Bitwarden镜像2. 运行Bitwarden镜像3. 本地访问4. 群晖安装Cpolar5. 配置公网地址6. 公网访问Bitwarden7. 固定公网地址8. 浏览器密码托管设置 Bitwarden是一个密码管理器应用程序&#xff0c;适用于在多个设备和浏览器之间同步密码。自建密码管理软件bitwarde…...

DT DAY3 信号和槽

作业&#xff1a; 1> 思维导图 2> 使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 btn3 new QPushButton("按钮3",this);btn3->resize(ui->btn2->width(),ui->b…...

Spring、SpringBoot、SpringCloud三者的区别

Spring、Spring Boot 和 Spring Cloud 是构建企业级 Java 应用程序的不同层次的框架和工具。下面详细介绍它们之间的区别&#xff1a; 1. Spring框架&#xff1a; 概述&#xff1a; Spring 是一个全功能的企业级 Java 框架&#xff0c;提供了依赖注入、面向切面编程、事务管理…...

leetcode:46.全排列

1.什么是排列&#xff1f; 有顺序&#xff01;&#xff01; 2.树形结构&#xff1a; 使用used数组进行标记取过的元素&#xff0c;一个元素一个元素地进行取值&#xff0c;取完之后将used数组进行标记。 3.代码实现&#xff1a;&#xff08;循环从i0开始&#xff0c;而不是…...

基于STM32的宠物箱温度湿度监控系统

基于STM32的宠物箱温度湿度监控系统 一、引言 随着人们生活水平的提高,养宠物已经成为越来越多人的选择。宠物作为家庭的一员,其生活环境和健康状况受到了广泛关注。温度和湿度是影响宠物舒适度和健康的重要因素之一。因此,开发一款能够实时监控宠物箱温度和湿度的系统具有…...

惠州网站制作公司/关键词排名查询api

bgwriter.c 的代码中有如下部分&#xff1a; pqsignal(SIGQUIT, bg_quickdie); /* hard crash time */ [作者&#xff1a;技术者高健博客园 mail: luckyjackgaogmail.com ] 还有&#xff1a; /** bg_quickdie() occurs when signalled SIGQUIT by the postmaster.** So…...

wordpress 登录小工具/seo建站系统

Linux系统为每一个进程维护一个单独的地址空间&#xff0c;包含了进程的内存分区即&#xff1a;代码段、数据、运行时堆栈&#xff0c;共享库等部分。 【实验与演示】 堆与全局变量的比较&#xff1a; struct A {char ch;int n; }; A a; A b; int main() {A* ptrnew A;cout&…...

京东网站建设吗/seo销售

解决Android WebView拦截url,视频播放加载失败的问题发布时间&#xff1a;2020-10-08 05:19:44来源&#xff1a;脚本之家阅读&#xff1a;86作者&#xff1a;灵均子孟需求&#xff1a;Android调用webView加载网页的时候&#xff0c;拦截某一个链接不执行此链接&#xff0c;执行…...

网站建设与优化/西安seo关键字优化

javaSE学习第十三天java知识 StringBuffer类的概述 A:StringBuffer类概述 通过JDK提供的API&#xff0c;查看StringBuffer类的说明 线程安全的可变字符序列 B:StringBuffer和String的区别 String是一个不可变的字符序列 StringBuffer是一个可变的字符序列 StringBuffer…...

小密圈wordpress/seo网络营销是什么意思

从输入URL到页面加载的过程&#xff1f;如何由一道题完善自己的前端知识体系&#xff01; http://www.dailichun.com/2018/03/12/whenyouenteraurl.html转载于:https://www.cnblogs.com/zard2008/p/9110586.html...

大理州建设局网站门户网/东莞网络营销推广专业

0 前言1 动态代理 1.1 JDK动态代理1.2 CGLIB动态代理 1.2.1 CGLIB的代理用法1.2.2 CGLIB的过滤功能2 Spring AOP中的动态代理机制 2.1 JdkDynamicAopProxy2.2 CglibAopProxy3 总结0 前言 前一个季度旅游TDC的Thames服务有几次宕机&#xff0c;根据组内原因认真查找发现是数…...