【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稳定的有序遍历的方式

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

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

相关文章

LLM 模型融合实践指南:低成本构建高性能语言模型

编者按&#xff1a;随着大语言模型技术的快速发展&#xff0c;模型融合成为一种低成本但高性能的模型构建新途径。本文作者 Maxime Labonne 利用 mergekit 库探索了四种模型融合方法&#xff1a;SLERP、TIES、DARE和passthrough。通过配置示例和案例分析&#xff0c;作者详细阐…

Base64 编码 lua

Base64 编码 -- Base64 字符表 local base64_chars { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,…

Docker复习笔记

Centos7安装Docker Docker官网:www.docker.com Docker官网仓库:hub.docker.com Docker文档是比较详细的 安装相关依赖 yum -y install gcc gcc-c yum install -y yum-utils 设置docker镜像仓库 yum-config-manager --add-repo https://download.docker.com/linux/centos/do…

高分SCI绘图必备!你必须要学会的18种Matlab绘图代码与20个绘图技巧(附完整代码)

目录 绘图技巧篇 绘图代码篇 免费完整代码获取​ 今天为大家带来一期18种Matlab绘图代码与20个绘图技巧代码&#xff0c;所有代码完全免费&#xff01; 如果你想发SCI&#xff0c;普通的图已经进入不了审稿人的视线了&#xff0c;非常容易被拒稿。试想&#xff0c;如果一篇…

【b站咸虾米】chapter5_uniapp-API_新课uniapp零基础入门到项目打包(微信小程序/H5/vue/安卓apk)全掌握

课程地址&#xff1a;【新课uniapp零基础入门到项目打包&#xff08;微信小程序/H5/vue/安卓apk&#xff09;全掌握】 https://www.bilibili.com/video/BV1mT411K7nW/?p12&share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 5 API 5.1 页面和路…

【Java程序设计】【C00287】基于Springboot的疫情防控期间某村外出务工人员管理系统(有论文)

基于Springboot的疫情防控期间某村外出务工人员管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的疫情防控期间某村外出务工人员信息管理系统 本系统分为系统功能模块、管理员功能模块、用户功能模块、采集…

两结点之间创建简单的梁单元并进行线性网格划分的方法

进入1D面板->进入bars界面 https://zhuanlan.zhihu.com/p/613163100

【Unity】Unity与安卓交互

问题描述 Unity和安卓手机进行交互&#xff0c;是我们开发游戏中最常见的场景。本教程将从一个简单的例子来演示一下。 本教程需要用到Android Studio2021.1.1 1.Android Studio新建一个工程 2.选择Empty Activity 然后点击Next 3.点击Finish完成创建 4.选择File-New-New Mo…

Linux:Jenkins用户权限和管理

1.下载插件 由于Jenkins的默认权限管理并不是很精细所以我们安装一个插件进行权限的一个管理 插件名称为&#xff1a;Role-based Authorization Strategy 安装完插件我们再去配置一下 进入全局安全配置 选择这个Role-Based Strategy策略然后保存 2.创建角色 我们这里主要使…

Odoo系统安装部署并结合内网穿透实现固定域名访问本地ERP系统

文章目录 前言1. 下载安装Odoo&#xff1a;2. 实现公网访问Odoo本地系统&#xff1a;3. 固定域名访问Odoo本地系统 前言 Odoo是全球流行的开源企业管理套件&#xff0c;是一个一站式全功能ERP及电商平台。 开源性质&#xff1a;Odoo是一个开源的ERP软件&#xff0c;这意味着企…

企微hook框架

https://wwm.lanzoum.com/ipUTp1ot1twh 密码:hvev 免费的企微框架 支持文本消息&#xff0c;图片消息&#xff0c;视频消息&#xff0c;文件消息。 其他可自行下载测试。 有兴趣可以进群交流。720192224 BOOL WxWorkSendData(string data) { WX_GETOBJDATA ob…

[C++]18:set和map的使用

set和map的使用 一.关联式容器&#xff1a;1.简单概念&#xff1a;2.<key , value>--->键值对3.set和map的底层结构&#xff08;平衡搜索树或者红黑树&#xff09; 二.set1.set (排序不重复)1.模板参数&#xff1a;2.set是一个有序存储的容器&#xff1a;3.set中每个数…

Vi/Vim 使用小窍门,如何消除搜索后的关键字高亮

Vim/Vi 基本上是 *nix 世界最受欢迎的编辑器了&#xff0c;不知道为什么&#xff0c;一直以来觉得和 Emacs 比起来&#xff0c;Vim 更加有亲和力。用起来很舒服。 今天就记录一个困扰了我很久的问题。 大家应该都知道&#xff0c;在 Vi 里面如果要搜索某个关键字&#xff0c;…

ChatGPT调教指南 | 咒语指南 | Prompts提示词教程(三)

在人工智能成为我们日常互动中无处不在的一部分的时代&#xff0c;与大型语言模型(llm)有效沟通的能力是无价的。“良好提示的26条原则”为优化与这些复杂系统的交互提供了全面的指导。本指南证明了人类和人工智能之间的微妙关系&#xff0c;强调清晰、专一和结构化的沟通方法。…

vscode输入英文时字体之间的间隔突然变大,似中文

vscode输入英文时字体之间的间隔突然变大&#xff0c;似中文 主要原因&#xff1a; 是由于输入法变成全角模式了。原因可能是不小心按了 shift空格键快捷键造成的。 正常情况&#xff0c;全角就是字母和数字等与汉字占等宽位置的字。 半角就是ASCII方式的字符&#xff0c;在没…

Sora:视频生成模型作为世界模拟器

我们探索了视频数据上生成模型的大规模训练。具体来说&#xff0c;我们在可变持续时间、分辨率和长宽比的视频和图像上联合训练文本条件扩散模型。我们利用了一个在视频和图像潜在码的时空块上操作的变压器架构。我们规模最大的模型 Sora 能够生成一分钟的高保真视频。我们的结…

第十四章 Linux面试题

第十四章 Linux面试题 日志t.log(访问量)&#xff0c; 将各个ip地址截取&#xff0c;并统计出现次数&#xff0c;并按从大到小排序(腾 讯) http://192. 168200.10/index1.html http://192. 168.200. 10/index2.html http:/192. 168 200.20/index1 html http://192. 168 200.30/…

c++学习记录 STL初识—vector存放内置数据类型

#include<iostream> using namespace std; #include<vector> #include<algorithm>//标准算法头文件//容器&#xff1a;vector //算法&#xff1a;for_each //迭代器&#xff1a;vector<int>::iteratorvoid myPrint(int val) {cout << val <&l…

微服务篇之分布式系统理论

一、CAP定理 1.什么是CAP 1998年&#xff0c;加州大学的计算机科学家 Eric Brewer 提出&#xff0c;分布式系统有三个指标&#xff1a; 1. Consistency&#xff08;一致性&#xff09;。 2. Availability&#xff08;可用性&#xff09;。 3. Partition tolerance &#xff0…

力扣 187. 重复的DNA序列

1.题目 DNA序列 由一系列核苷酸组成&#xff0c;缩写为 A, C, G 和 T.。 例如&#xff0c;"ACGAATTCCG" 是一个 DNA序列 。 在研究 DNA 时&#xff0c;识别 DNA 中的重复序列非常有用。 给定一个表示 DNA序列 的字符串 s &#xff0c;返回所有在 DNA 分子中出现不止一…