git常规操作流程(纯命令行操作)和一些注意事项

news2025/1/23 10:27:33

当你在单位拿到了git仓库,并利用公司给你的OA账号和邮箱完成了你的git基础配置,下面就是使用命令行的无错固定操作流程

如果你很着急,你可以直接跳到最后的总结部分

具体步骤

1.从仓库克隆代码到本地

这里的[codeUrl]就是你仓库的地址,当你在仓库点击图中绿色位置时,剪贴板复制的就是仓库的地址

git clone [codeUrl]

2.切换到开发分支(当下仓库内已存在的远程分支)

这里说一下,正常来说,生产和主体代码都是在master分支上,克隆代码的时候没有特殊配置,也会是master分支。

任何人都不可能在master上开发和提交自己的代码!!!,master一般是负责人用来合并代码的,然后推送上生产的。

不过,也有很多项目是同时建立几个分支,dev(开发),test(测试),release(预发或生产)等等,这个时候你就需要去向别人核对你以哪个分支为主拉取代码。

比如公司有dev分支,每次开发都是以dev分支为主,那你就需要先去跳转到dev分支上。

当然了,你使用下面这个命令必须是你本地或者远程仓库本来就已经有这个分支了

git checkout dev

3.根据功能或者需求创建新分支

以master为主,我们需要创建自己的开发分支,我们可以根据功能的名字去给分支命名。

比如我们这次开发的功能,叫做图表功能开发,我们创建的名字应该叫做charts_mode或者chartsMode等,总之命名的语义化要强,千万不要命名什么aaa,bbb之类的

如果这次是修复图标数据的问题,可以这样命名,bug_charts_dataError

依据源分支创建并跳转分支

git checkout -b charts_mode

4.查看当前所在分支

怎么确定你当前在哪个分支

git branch

绿色的星标在哪里,你就在哪个分支

5.暂存代码,查看缓冲区和工作区的对比

将代码提交到暂存区,是本地提交前的一步,你需要将你的代码先推送到暂存区,这一步就好比火箭发射前让火箭去发射台,预备发射

当你改了一些东西,还没有保存到暂存区

你可以使用下面这个命令

git diff

 

当出现这种情况的时候,那就说明你的工作区还有没有推到暂存区的代码。

你就需要使用下面的命令,将工作区的代码推送到缓存区

git add -A

 执行完毕后,再去执行diff命令对比

当什么都没有的时候,就说明提到暂存区了

6.本地提交代码

当你改了一部分代码之后,比如你要休息,或者你感觉这里需要阶段性的保存一下,可以暂时提交到本地

暂时提交到本地的重要性有两个:

1.复盘和查找问题,回退时会比较方便,可以快速定位

2.如果你的代码因为特殊原因丢失了,只要你在本地提交过,都是可以找回的

提交本地之前需要先将代码推送到暂存区,add命令

并且提交到本地的时候,需要把你所提交的功能描述清楚

比如你开发完毕一个饼状图,你就可以这样描述:   new:饼图开发完成

执行命令

git commit -m "饼图开发完毕"

当出现如下情况,就说明你提交成功了。

7.推送到远程分支

当你本地代码都commit之后,你就需要把你的代码推送到远程分支了 

git push

 如果你之前的这个分支,在远程仓库压根并没有,会出现如下的提示

 这段话是告诉你,你要推送的这个分支对于远程仓库来说是个新分支,你确定要推送?

所以你需要执行下面的命令

git push --set-upstream origin test

 出现如下情况,就说明推送上去了

8.拉取源分支最新代码

当你将你的分支推送完毕之后,你需要和源分支去对比和修改冲突

首先你需要拉取仓库当前最新的代码

git pull

 

 如果出现上面这种情况,就说明目前没有新代码,你就可以不用对比了。

9.进行对比和修改冲突

如果有冲突,你需要认真的去看冲突是什么,并找有关同事,切记,不要把别人代码给弄没了,虽然也能找回来,但是这事办的就很恶心。

切记,切记!!!

10.与源分支合并

冲突解决完之后,你就需要将源分支的代码合并到你的分支上

执行合并命令:这里的[branchName]就是你的远程分支名

git merge [branchName]

 例如远程分支叫test

git merge test

当你合并完之后,你本地的charts_mode分支就已经兼并了你开发的功能和远程test分支更新的功能,这个时候,你就需要再次推送到你的分支,执行git push

现在你就完成了你个人分支的全部操作

11.提交给审核人去合并代码

当你所有的分支都操作完毕之后,这个时候你就需要去找负责人,将你的代码合并到源分支上,这里每个单位肯定都有一定的流程或者代码审查之类的,就需要看你个人了。

如果你是独立负责这个项目,分支由你自己来定,那你只需要切到源分支,去合并你刚才推送的个人分支,然后再推到远程。

12.拉取新分支开始新功能

当你完成一个功能,开始第二个功能开发的时候,最保险的方法就是从最新的源分支上重新构建新分支,这样可以使代码的管理更加方便。

总结:

固定步骤:

1.克隆仓库

git clone  [codeUrl]           

2.创建并跳至新分支

git checkout -b [newbranch]

3.提交到暂存区

git add -A   

4.提交到本地分支

git commit -m "完成某某功能" 

5.推送到远程仓库

git push

6.拉取远程仓库最新代码

git pull

7.合并冲突(如果有的话)
8.与源分支合并

git merge [branchName] 

9.再次推送到自己的远程分支

git push

10.向负责人提交合并与源分支的工单

注意:

1.保持定期commit的习惯,防止白干

2.合并冲突要谨慎,别坑队友

3.提交文本说明清楚,不要写天书

4.各分支的用途搞明白,选对源分支

5.开发新功能和修改问题最好拉新分支,方便管理和回退(个人建议)

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

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

相关文章

深入了解UUID:生成、应用与优势

一、引言 在当今数字化时代,唯一标识一个对象的能力变得越来越重要。UUID(Universally Unique Identifier,通用唯一标识符)应运而生,作为一种保证全球唯一性的标识方法,广泛应用于各种场景。本文将详细介绍…

【头歌系统数据库实验】实验6 SQL的多表查询-2

目录 第1关:查询每个选手的信息及其提交的解答信息,没做题的选手不显示 第2关:查询做了1001题且耗时大于500(time)的选手信息 第3关:查询所有选手信息及其提交的解答信息,没做题的选手也要显…

计算机操作系统3

1.虚拟机 VM 两类虚拟机的对比: 2.进程 进程的特征: 进程状态的转换(五大状态) 3.进程控制原语的作用 4.线程 ​​​​​线程的属性 实现方式 5.调度算法的评价指标

2024年程序员面对经济下行的解决方式竟然是……

近些年大环境不好,经济下行的压力给到了我们每一个普通人的身上:降薪是潮流,裁员是趋势,找不到工作是常态。 在这样的环境下,我们曾一天三份工,只为家人温饱; 我们也曾一周七天连轴转&#xf…

GPU简介

1. GPU简介 GPU,即图形处理器(Graphics Processing Unit),是一种专门设计用于图形渲染和图像处理的处理器。与传统的中央处理器(CPU)相比,GPU具有更强大的并行处理能力。 显卡作为电脑主机里的…

Linux学习——模拟实现mybash小程序

目录 一,跟正宗的bash见个面 二,实现一个山寨的bash 1.提示符 2.输入命令与回显命令 3.解析命令 4.执行命令 5.执行逻辑 三,全部代码 一,跟正宗的bash见个面 在这篇文章中,我会写一个myshell小程序。这个小程序…

问卷调查须避免的错误要点(02):避免逻辑错误与提升数据质量

在上篇文章中,我们讲到了4点在打造客户满意度调查中常犯的4个错误:提问偏颇或模糊不清、提问过多开放性问题、合并不同问题、合并不同问题。而在今天这篇文章中,我们将继续探讨做问卷调查要避免的其他错误要点。如果您也有这方面的需求&#…

大话数据结构-查找-线性索引查找

注:本文同步发布于稀土掘金。 4 线性索引查找 4.1 概述 索引就是把一个关键字与它对应的记录相关联的过程,一个索引由若干个索引项构成,每个索引项至少应包含关键字和其对应的记录在存储器中的位置等信息。 索引按照结构可分为线性索引、树…

Python Opencv实践 - 简单的AR项目

这个简单的AR项目效果是,通过给定一张静态图片作为要视频中要替换的目标物品,当在视频中检测到图片中的物体时,通过单应矩阵做投影,将视频中的物体替换成一段视频播放。这个项目的所有素材来自自己的手机拍的视频。 静态图片&…

力扣每日一题:2646. 最小化旅行的价格总和(2023-12-06)

力扣每日一题 题目:2646. 最小化旅行的价格总和 日期:2023-12-06 用时:30 m 14 s 时间:8ms 内存:42.98MB 思路:先统计旅行中每个节点路过的次数(dfs方法),再计算减半后的…

智能优化算法应用:基于龙格-库塔算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于龙格-库塔算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于龙格-库塔算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.龙格-库塔算法4.实验参数设定5.算法结果6.参…

一个最新国内可用的免费GPT4,Midjourney绘画网站+使用教程

一、前言 ChatGPT GPT4.0,Midjourney绘画,相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和用户进行创作交流。 然而,GPT-4对普…

内核无锁队列kfifo

文章目录 1、抛砖引玉2、内核无锁队列kfifo2.1 kfifo结构2.2 kfifo分配内存2.3 kfifo初始化2.4 kfifo释放2.5 kfifo入队列2.6 kfifo出队列2.7 kfifo的判空和判满2.8 关于内存屏障 1、抛砖引玉 昨天遇到这样一个问题,有多个生产者,多个消费者&#xff0c…

❀My学习Linux命令小记录(14)❀

目录 ❀My学习Linux命令小记录(14)❀ 56.man指令 57.whatis指令 58.info指令 59.--help指令 60.uname指令 ❀My学习Linux命令小记录(14)❀ 56.man指令 功能说明:查看Linux中的指令帮助。 (ps.man命…

一网打尽损失函数和正则化的关系,在损失函数中加入正则化有什么用,如何加入,这里为大家用通俗易懂的例子进行详细解释!(系列1)

文章目录 一、BP神经网络预测中,常见的损失函数是均方误差损失函数MSE二、L2正则化的公式如下:三、 结合MSE和L2正则化的总损失函数公式如下:总结 一、BP神经网络预测中,常见的损失函数是均方误差损失函数MSE 在BP神经网络预测中…

ArcGIS Enterprise on Kubernetes 11.1安装示例

博客主页:https://tomcat.blog.csdn.net 博主昵称:农民工老王 主要领域:Java、Linux、K8S 期待大家的关注💖点赞👍收藏⭐留言💬 目录 安装前置条件基本安装解压文件生成秘钥执行安装脚本 配置DNS方法一方法…

基于jsp+servlet+mybatis的简易在线选课系统

一.数据库 根据实训题目中给出的表间关系图、数据表结构设计、数据说明等等信息,可创建数据库如下: 1.数据库和表的创建 CREATE DATABASE xuanke; -- 创建用户表 CREATE TABLE USER (username VARCHAR(20) PRIMARY KEY NOT NULL,PASSWORD VARCHAR(20)…

【Python】Python读Excel文件生成xml文件

目录 ​前言 正文 1.Python基础学习 2.Python读取Excel表格 2.1安装xlrd模块 2.2使用介绍 2.2.1常用单元格中的数据类型 2.2.2 导入模块 2.2.3打开Excel文件读取数据 2.2.4常用函数 2.2.5代码测试 2.2.6 Python操作Excel官方网址 3.Python创建xml文件 3.1 xml语法…

[实践总结] Java中读取properties配置文件

读取此key.properties文件 代码实现 import java.io.IOException; import java.io.InputStream; import java.util.Properties;public class PropertyUtils {private static final Properties properties new Properties();static {try (InputStream resourceAsStream Prope…

大数据Hadoop-HDFS_架构、读写流程

大数据Hadoop-HDFS 基本系统架构 HDFS架构包含三个部分:NameNode,DataNode,Client。 NameNode:NameNode用于存储、生成文件系统的元数据。运行一个实例。 DataNode:DataNode用于存储实际的数据,将自己管理…