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

Git工作流程

git 工作流程

  1. 克隆或同步远程仓库 使用git clone命令将本仓库完全镜像一份至本地
    使用git pull命令将远程仓库代码同步到本地
  2. 新建或修改代码文件后,将代码提交到暂存区;(git add filename)
  3. 将暂存区域的文件提交到本地git仓库。(git commit filename -m message) ps:如果发现改错了git add和git commit 命令都是可以撤销的,请大家自行检索相关命令。
  4. 提交到远程仓库 (git push <远程主机名> <本地分支名>:<远程分支名>)

注意事项:
为了后续能够方便查看修改记录,希望大家在git commit时能够认真对待message部分

  • 不要把所有文件修改完后一次性提交,完成了一个阶段性任务就要提交一次

  • message部分要对本次修改了哪些文件,以及修改内容做出简要说明 如

    git commit main.cpp -m (main.cpp)新增了输出重定向

分支

分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN!(from 廖雪峰)

分支分为本地分支和远程分支 再不推送到远程仓库的时候 ,本地分支的创建,删除合并不影响远程分支,因此你可以在本地视情况新增多个分支

同步开发流程

因为master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,工作一般情况下在新建的dev分支上工作,工作完后,dev分支代码稳定后可以合并到主分支master上来

本项目暂时采取分支开发,阶段性合并的流程

以下是阶段一 新功能的开发流程

  1. 克隆远程仓库 使用git clone命令将本仓库完全镜像一份至本地

  2. 每个人针对自己的负责部分新建一个分支,并切换到这个分支

    git checkout -b branch_name

  3. 远程新建与其本地同名同名的远程分支

    git push --set-upstream origin branch_name

    该过程会提示输入密码,输入gitee账户的用户名和密码即可

  4. 在新建分支下修改和添加文件

  5. 将新建分支推送到自己新建的远程分支下,因为远程有与本地同名的分支可以输入以下命令(origin 是默认的远程主机名)

    git push origin branchName

    在确保当前分支与目标分支同名的情况下也可以直接输入git push 但不提倡

合并分支阶段的开发流程

  1. 每天开始工作前都要先同步远程仓库的master分支到本地的master分支上(使用git pull 命令)

  2. 切换到你维护的分支下

    git checkout branch_name

  3. 将主分支合并到当前分支

    git merge matser

  4. 解决合并冲突,开始coding、

  5. 将当前分支提交到自己维护的远程分支下 如需要合并则提醒本项目的管理员,当代码审查通过后由管理员合并到远程主分支下。

小结: 除了管理员任何人都不得修改远程主分支,本地主分支只能推送到远程自己维护的分支下。

解决冲突

多个开发者同时使用或者操作git中的同一个文件,最后在依次提交commit和推送push的时候,第一个操作的是可以正常提交的,而之后的开发者想要执行pull(拉)和pull(推)操作的时候,就会报冲突异常conflict ,合并分支时也会发生冲突。所有冲突原则上都要在本地解决。git 会提示你冲突文件的文件名,这时你就需要查看冲突内容,并修改。

在本项目推荐以下解决方式

  1. 发生冲突后暂不提交本次冲突文件
  2. 通过查看Git历史记录,找到冲突内容的维护者,商量修改方案
  3. 如采用本次最新修改的方案
    则先以master分支或远程内容为准,删除新增内容,并将源代码备份一份 使用 git pull命令拉取远程仓库代码到master分支下,使master分支更新到最新内容
    使用备份内容重新修改冲突文件,再次提交
  4. 如以原方案为准不做修改 则直接删除冲突内容即可
    (本方案只为暂时方案,如以后发现更好方案会再次修改

相关文章:

Git工作流程

git 工作流程 克隆或同步远程仓库 使用git clone命令将本仓库完全镜像一份至本地 使用git pull命令将远程仓库代码同步到本地新建或修改代码文件后&#xff0c;将代码提交到暂存区;(git add filename&#xff09;将暂存区域的文件提交到本地git仓库。(git commit filename -m …...

Qt-QWidget的font属性(18)

目录 描述 相关API 使用 使用Qt Designer设置字体 使用纯代码设置字体 描述 这个是用来设置字体样式的 相关API 使用 我们创建一个新的项目 使用Qt Designer设置字体 使用纯代码设置字体 相比于上面使用Qt Designer&#xff0c;用代码来实现就要灵活的多&#xff0c;主…...

Go语言概述

1.Go语言的特点 1&#xff09;从语言层面支持并发&#xff0c;实现简单 2&#xff09;goroutine&#xff0c;轻量级线程&#xff0c;可实现大并发处理&#xff0c;高效利用多核 3&#xff09;垃圾回收机制&#xff0c;内存自动回收&#xff0c;不需要开发人员管理 4&#xff0…...

P6627 [省选联考 2020 B 卷] 幸运数字

*原题链接* 并不是非常难的题&#xff0c;不过细节非常多。 首先大题思路很明确&#xff0c;把所有条件储存下来&#xff0c;把这些l&#xff0c;r&#xff0c;x啥的离散化&#xff0c;然后区间异或&#xff0c;最后查询最大值。至于区间异或用差分就好了&#xff0c;因为异或…...

活动|华院计算宣晓华受邀出席“AI引领新工业革命”大会,探讨全球科技的最新趋势

8月31日&#xff0c;“AI引领新工业革命”大会于上海图书馆圆满落幕。本次大会由TAA校联会和台协科创工委会联合主办&#xff0c;得到上海市台办、上海市台联、康师傅的大力支持。大会邀请了NVIDIA全球副总裁、亚太区企业营销负责人刘念宁&#xff0c;元禾厚望资本创始合伙人潘…...

k8s配置

一、前期准备 1、修改主机的/etc/hosts文件挟持域名 [rootk8s-master ~]# vim /etc/hosts 192.168.8.199 k8s-master 192.168.8.200 k8s-node1 192.168.8.201 k8s-node2 2、配置yum源 [rootk8s-master ~]# cd /etc/yum.repos.d/ [rootk8s-master yum.repos.d]# vim kubernetes…...

力扣第79题 单词搜索

前言 记录一下刷题历程 力扣第79题 单词搜索 单词搜索 原题目&#xff1a;给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻…...

【系统架构设计师】抽象工厂设计模式

抽象工厂(Abstract Factory)模式是一种创建型设计模式,它提供了一种创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。在抽象工厂模式中,客户端不依赖于产品类实例的如何被创建、组合和表达的细节,这对于产品族(即一组相互关联或相互依赖的产品)的创建尤其…...

海外云手机有哪些推荐?

随着云手机的发展&#xff0c;越来越多的企业和个人开始使用云手机来满足他们的海外业务需求。用户可以通过云手机实现方便、快捷的海外访问&#xff0c;一般用来进行tiktok运营、亚马逊电商运营、海外社媒运营等操作。海外云手机平台有很多&#xff0c;以下是一些比较好的云手…...

旋转目标检测对照实验-mmrotate基础教程

环境安装和测试可以参考mmrotate旋转目标检测实战指南_validate mmrotate-CSDN博客 使用自定义数据集训练 如果需要使用自己的数据集进行训练&#xff0c;首先需要把自己数据的标签格式转换为dota数据集的格式&#xff0c;形如&#xff08;前八个数为坐标值&#xff0c;第九个…...

Spring常见的面试问答题(一)

在面试过程中&#xff0c;Spring几乎是必问的几个点之一&#xff0c;特别是其中的IOC和AOP。 Spring常见的面试问答题 什么是Spring&#xff1f; 首先&#xff0c;Spring是一个生态&#xff0c;但是呢&#xff0c;这个生态里面又有个Spring Framework框架。 所以从Spring生…...

STM32 之 SDRAM 详解

目录 前言 一、SDRAM 简介 二、SDRAM的组成原理 2.1存储单元阵列 2.1.1地址译码 2.1.2存储电容 2.2控制逻辑 2.2.1时钟同步 2.2.2命令解码 2.2.3模式寄存器 2.3数据输入 / 输出缓冲 2.3.1数据总线 2.3.2数据锁存 2.4刷新电路 2.4.1自动刷新 2.4.2自刷新 三、S…...

基于图神经网络的最大独立集问题的目标分支

文章目录 Abstract1 Introduction2 Related Work分支顶点选择图神经网络Abstract 分支归约方法结合了分支约束原则和归约规则,在处理以前无法管理的现实世界实例方面特别成功。分支策略决定下一个要在哪个顶点上进行分支。最近,最广泛使用的策略是选择最高度的顶点。 在这项…...

【Qt】事件过滤器

事件过滤器 在 Qt 中&#xff0c;⼀个对象可能经常要查看或拦截另外⼀个对象的事件&#xff0c;如对话框想要拦截按键事件&#xff0c;不让别的组件接收到&#xff0c;或者修改按键的默认值等。通过上⾯的学习&#xff0c;我们已经知道&#xff0c;Qt 创建了 QEvent事件对象之后…...

字符串转换为整数、整数转换为字符串

整数转换为字符串 sprintf()它的功能是将各种类型的数据格式化为字符串&#xff0c;并存储到一个字符数组中。 sprintf 是 C 语言标准库中的一个函数&#xff0c;用于将格式化的数据写入一个字符串中。它的用法与 printf 类似&#xff0c;但不同的是&#xff0c;printf 输出到…...

解决samba无权限创建文件问题

将我服务器利用samba工具映射到到电脑后&#xff0c;没有权限在特定的文件里写文件&#xff0c;比如在mcu这个文件夹里面没有写文件的权限。 查看mcu文件夹的用户属性&#xff0c;属于root属性。 rootzwzn2064-CVN-Z690D5-GAMING-PRO:/home/zwzn2064# ls -ll total 9714860 dr…...

Ribbon快速了解

Ribbon 一、Ribbon 介绍 Ribbon 是一个客户端负载均衡器&#xff0c;它是 Netflix 开源的一个组件&#xff0c;常与 Spring Cloud 一起使用。 二、Ribbon 的作用 客户端负载均衡 Ribbon 可以在客户端实现负载均衡&#xff0c;即在服务消费者端根据一定的算法从多个服务提供者实…...

SpringBoot闲一品交易平台

SpringBoot闲一品交易平台 #vue项目实战 #计算机项目 #java项目 SpringBoot闲一品交易平台通过运用软件工程原理和开发方法&#xff0c;借助Spring Boot框架&#xff0c;旨在实现零食交易信息的高效管理&#xff0c;提升用户的购物体验和满意度。 技术栈 开发语言&#xff1a;…...

基于SpringBoot的物流管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于JavaSpringBootVueMySQL的物流管理系统【附源码文档】、…...

uniapp微信小程序开发踩坑日记:Pinia持久化报错Cannot read property ‘localStorage‘ of undefined

插件默认使用 localStorage 实现持久化&#xff0c;小程序端不兼容&#xff0c;需要替换持久化 API import { defineStore } from pinia export const useCommonStore defineStore(pack-store, {state: (): State > ({wwInfo: {},globalData: {},timerLock: false, //是…...

负载均衡调度器--LVS

文章目录 集群和分布式集群分布式 LVS介绍LVS特点LVS工作原理LVS集群架构 LVS集群中的术语CIPVIPRSDIPRIP LVS集群的工作模式NAT模式DR模式DR的工作原理DR的特点:DR的网络配置1.配置负载均衡器2.配置后端服务器lo接口的作用 3.测试连接&#xff1a; DR的典型应用场景 TUN模式 L…...

TinyWebSever源码逐行注释(五)_ http_conn.cpp

前言 项目源码地址 项目详细介绍 项目简介&#xff1a; Linux下C轻量级Web服务器&#xff0c;助力初学者快速实践网络编程&#xff0c;搭建属于自己的服务器. 使用 线程池 非阻塞socket epoll(ET和LT均实现) 事件处理(Reactor和模拟Proactor均实现) 的并发模型使用状态机…...

windows手工杀毒-寻找可疑进程之句柄

上篇回顾&#xff1a;windows手工杀毒-寻找可疑进程之内存-CSDN博客 上篇中我们介绍了如果通过进程的内存分析进程是否是可疑进程&#xff0c;主要是通过查看是否有可写可执行的内存页。也可以通过查看内存内容&#xff0c;看是否是可疑内容&#xff0c;不过这个可能需…...

java开发后端

1.BeanUtils.toBean 方法 它是一个常见的 Java 工具方法&#xff0c;用于将一个 JavaBean 对象转换为另一个 JavaBean 对象 FlowOrderDO flowOrder BeanUtils.toBean(createReqVO, FlowOrderDO.class); 这行代码使用了 BeanUtils.toBean 方法&#xff0c;它是一个常见的 Ja…...

Redis 的标准使用规范之数据类型使用规范

数据类型使用规范 提示&#xff1a;以下是本篇文章正文内容&#xff0c;可供参考 (1)、字符文本&#xff08;STRING&#xff09; 【建议】选型为简易文本类缓存 &#xff1a;比如普通的字符、文本、Json 结构 &#xff0c;通常能起到加速读写和降低后端压力的作用。 【建议】…...

人工智能技术导论——基于产生式规则的机器推理

在引出本章的内容之前先介绍一个概念 知识 知识的概念 知识&#xff08;Knowledge&#xff09;是人们在改造客观世界的实践中形成的对客观事物&#xff08;包括自然的和人造的&#xff09;及其规律的认识&#xff0c;包括对事物的现象、本质、状态、关系、联系和运动等的认识…...

Apache Guacamole 安装及配置VNC远程桌面控制

文章目录 官网简介支持多种协议无插件浏览器访问配置和管理应用场景 Podman 部署 Apache Guacamole拉取 docker 镜像docker-compose.yml部署 PostgreSQL生成 initdb.sql 脚本部署 guacamole Guacamole 基本用法配置 VNC 连接 Mac 电脑开启自带的 VNC 服务 官网 https://guacam…...

在Linux中从视频流截取图片帧(ffmpeg )

Linux依赖说明: 说明: 使用到的 依赖包 1. ffmpegsudo apt update sudo apt-get install ffmpeg2. imagemagick (选装) (检测图像边缘信息推断清晰度,如果是简单截取但个图像帧>用不到<)sudo apt-get install imagemagick备注: 指令及相关参数说明核心指令: (作用: 执…...

使用脚手架来创建 express 项目

使用脚手架&#xff08;scaffold&#xff09;可以快速搭建Express应用程序的基本结构。Express自身提供了一个官方脚手架工具叫做express-generator&#xff0c;它可以帮助你快速地生成一个包含基本文件结构的Express项目。 安装Express Generator 首先&#xff0c;你需要全局…...

单片机常用的软件架构

参考 9种单片机常用的软件架构...