小公司的Git工作流程

news2024/9/24 15:16:45

项目初始化

git init

并添加.gitignore文件

Git使用

  1. 通过git add . 把代码推到暂存区
  2. 通过git commit -m “你的说明”,将暂存区的代码推到本地仓库
  3. 将本地仓库的代码通过git push 推到远程仓库
  4. 远程仓库(gitee/gitlab/github)
  5. 同事就可以通过命令git pull将你推上去的代码拉到他的电脑上,git自动会把代码合并
    也就是git add . --> git commit -m “说明” -->git pull(你把代码推送到远程仓库时需要拉取远程仓库的最新代码,要不然容易冲突) -->git push

查看历史版本 git log --oneline或git log
请添加图片描述

根据版本号回到历史版本
git checkout 版本
请添加图片描述

git checkout main 会回到最新一次提交的版本
这样你就可以出现问题后回退

git status 查看工作区文件状态 不过用vscode也可以直接看到
请添加图片描述

Git的分支

使用分支,可以更加有条理的进行代码管理
git默认位主分支 也就是main分支

常用命令

创建分支dev

git branch dev

查看所有分支命令

git branch

切换分支dev

git checkout dev

将dev分支的代码合并到main分支
//先把dev分支写的代码提交到本地仓库
git add . 
git commit -m "dev分支写的代码"
//切换要和合并的主分支也就是main
git checkout main
//这步是更新最新代码
//拉取远程的代码到main分支(将同事的代码和你之前提交的代码拉回来)
git pull
//将dev分支合并到main分支上
git merge dev
//合并完之后 将合并的代码和pull拉下来的代码,一起推到远程仓库
git push

也就是 分支上写的代码保存到本地仓库,切回到main主分支,pull拉去最新代码,merge合并最新代码,有冲突合并冲突,合并完继续add, commit ,push推到远程

什么造成的冲突呢

你pull的同事代码正好与你写了同一处 自然就就有冲突了等等
![[Pasted image 20240710212119.png]]请添加图片描述

总结

第一步 克隆远程仓库代码

第二步 在main主分支上建立branch(分支),
在分支写你的代码(工作区),本地测试

第三步从main主分支本地测试通过后,先
add(暂存区)再commit(本地库),然后在push

第四步 切换到main分支 进行代码合并 合并前先pull,避免代码冲突,在merge,merge成功后在push

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

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

相关文章

信息学奥赛初赛天天练-46-CSP-J2020阅读程序2-进制转换、十进制转k进制、等比数列通项公式、等比数列求和公式应用

PDF文档公众号回复关键字:20240713 2020 CSP-J 阅读程序2 1阅读程序(程序输入不超过数组或字符串定义的范围&#xff1b;判断题正确填 √&#xff0c;错误填 。除特殊说明外&#xff0c;判断题 1.5 分&#xff0c;选择题 3 分&#xff0c;共计 40 分) 01 #include <iostre…

java各种锁介绍

在 Java 中&#xff0c;锁是用来控制多个线程对共享资源进行访问的机制。主要有以下几种类型的锁&#xff1a; 1.互斥锁&#xff08;Mutex Lock)&#xff1a;最简单的锁&#xff0c;一次只允许一个线程访问共享资源。如果一个线程获得了锁&#xff0c;其他线程必须等待锁被释放…

DEBUG:jeston卡 远程ssh编程

问题 jeston 打开网页 gpt都不方便 而且只需要敲命令就行 解决 下载MobaXterm(window执行) liunx需要虚拟机 软件 远程快速复制命令

【kubernetes】Helm包管理器基本概念与Chart实战

概念&#xff1a;基础架构与常用命令 三个重要概念&#xff1a; 1.chart 创建Kukernetes应用程序所必需的一组信息。 2.config 包含了可以合并到打包的chart中的配置信息&#xff0c;用于创建一个可发布的对象。 3.release 是一个与特走配置相结合的chart的运行实例。 常用命…

聊点基础---Java和.NET开发技术异同全方位分析

1. C#语言基础 1.1 C#语法概览 欢迎来到C#的世界&#xff01;对于刚从Java转过来的开发者来说&#xff0c;你会发现C#和Java有很多相似之处&#xff0c;但C#也有其独特的魅力和强大之处。让我们一起来探索C#的基本语法&#xff0c;并比较一下与Java的异同。 程序结构 C#程序…

数学建模·非线性规划

整型规划 适用于一个变量或多个变量的值只能是整型的情况 整形规划的分类 0-1背包问题 对于一个物品来说&#xff0c;只有选和不选两种情况 表现为单下标&#xff0c;单变量问题 例&#xff1a;建设学校问题 对于每个学校来说只有选和不选两种情况&#xff0c;在数学上我们用…

O型密封圈橡胶制品外观视觉检测解决方案

一;O型密封圈橡胶制品行业背景调查 O型密封圈橡胶制品的外观视觉检测是一个确保产品质量和性能的关键步骤。以下是对该检测过程的详细分析和归纳&#xff1a; 一&#xff1a;检测目的 确保O型密封圈橡胶制品在生产过程中无缺陷&#xff0c;如杂质、毛刺、尺寸不符等。 满足不同…

Vue.js学习笔记(五)抽奖组件封装——转盘抽奖

基于VUE2转盘组件的开发 文章目录 基于VUE2转盘组件的开发前言一、开发步骤1.组件布局2.布局样式3.数据准备 二、最后效果总结 前言 因为之前的转盘功能是图片做的&#xff0c;每次活动更新都要重做UI和前端&#xff0c;为了解决这一问题进行动态配置转盘组件开发&#xff0c;…

【Linux】多线程_3

文章目录 九、多线程3. C11中的多线程4. 线程的简单封装 未完待续 九、多线程 3. C11中的多线程 Linux中是根据多线程库来实现多线程的&#xff0c;C11也有自己的多线程&#xff0c;那它的多线程又是怎样的&#xff1f;我们来使用一些C11的多线程。 Makefile&#xff1a; te…

防火墙组网与安全策略实验

实验要求&#xff1a; 实现&#xff1a; 防火墙接口配置&#xff1a; 所有接口均配置为三层接口 由于G1/0/3口下为vlan环境&#xff0c;所以防火墙需要配置子接口 &#xff1a; 交换机划分vlan分开生产区和办公区、配置trunk干道 &#xff1a; 安全策略&#xff1a; 生产区访…

【中项第三版】系统集成项目管理工程师 | 第 4 章 信息系统架构④ | 4.7

前言 第4章对应的内容选择题和案例分析都会进行考查&#xff0c;这一章节属于技术相关的内容&#xff0c;学习要以教材为准。本章分值预计在4-5分。 目录 4.7 安全架构 4.7.1 安全威胁 4.7.2 定义与范围 4.7.3 整体架构设计 4.7.4 网络安全架构设计 4.7.5 数据库系统安…

Pod资源-持久化-网络暴露-env

一.资源清单 资源清单组成 apiVersion&#xff1a;v1 #对应不同的k8s版本中的api&#xff1b; kind&#xff1a;Pod #资源的名称&#xff08;service、ConfigMap、hpa.....&#xff09; metadata&#xff1a; #声明资源的元数据信息&#xff08;资源的…

JavaWeb后端学习

Web&#xff1a;全球局域网&#xff0c;万维网&#xff0c;能通过浏览器访问的网站 Maven Apache旗下的一个开源项目&#xff0c;是一款用于管理和构建Java项目的工具 作用&#xff1a; 依赖管理&#xff1a;方便快捷的管理项目以来的资源&#xff08;jar包&#xff09;&am…

Linux - 探索命令行

探索命令行 Linux命令行中的命令使用格式都是相同的: 命令名称 参数1 参数2 参数3 ...参数之间用任意数量的空白字符分开. 关于命令行, 可以先阅读一些基本常识. 然后我们介绍最常用的一些命令: ls用于列出当前目录(即"文件夹")下的所有文件(或目录). 目录会用蓝色…

初学编程不知道怎么选?推荐学习的三种热门编程语言

在当今的社会需求下&#xff0c;市场上最常见、最受欢迎、最广泛应用的编程语言主要有三种&#xff1a;C语言、Java语言和Python语言。 既然要做出选择&#xff0c;我们就需要明白这三种编程语言各自有何特点和区别。 一、特点 C语言 高效与灵活&#xff1a;C语言生成的机器…

Date/SimpleDateFormat

Date 在Java中&#xff0c;java.util.Date 类用于表示日期和时间。它以自1970年1月1日00:00:00 GMT 一来的毫秒数来存储日期和时间信息。 1、构造方法 标准基准时间&#xff08;称为“历元&#xff08;epoch&#xff09;”&#xff1a;即1970年1月1日00:00:00 GMT。 tips: …

4G LTE教程

整体架构 物理层&#xff08;第 1 层&#xff09; 物理层通过空中接口传输来自 MAC 传输信道的所有信息。负责 RRC 层的链路自适应 (AMC)、功率控制、小区搜索&#xff08;用于初始同步和切换目的&#xff09;和其他测量&#xff08;LTE 系统内部和系统之间&#xff09;。 介…

运行在Linux上的程序越来越慢的排查思路

1、通过free -h 排查内存使用情况&#xff0c;是否内存满了 2、通过df -h 排查磁盘的使用情况&#xff0c;磁盘是否没有空间了 3、检查系统资源配置情况&#xff0c;比如使用ulimit -a检查当前会话的资源限制&#xff0c;如最大文件数、打开文件描述符数等&#xff0c;看是否…

vue 前端项目调用后端接口记录

axios中不同的类型的请求附带数据使用的关键字 请求类型关键字示例GETparamsaxios({ method: get, url: example.com, params: { key: value } })POSTdataaxios({ method: post, url: example.com, data: { key: value } })PUTdataaxios({ method: put, url: example.com, dat…

快速读出linux 内核中全局变量

查问题时发现全局变量能读出来会提高效率&#xff0c;于是考虑从怎么读出内核态的全局变量&#xff0c;脚本如下 f open("/proc/kcore", rb) f.seek(4) # skip magic assert f.read(1) b\x02 # 64 位def read_number(bytes):return int.from_bytes(bytes, little,…