一步到位!快速精通Git工作流及实战技巧详解

2024-03-10 01:04

本文主要是介绍一步到位!快速精通Git工作流及实战技巧详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Git是一个分布式版本控制系统。

1、git的应用场景

1.备份

小明负责的模块就要完成了,就在即将release之前的一瞬间,电脑突然蓝屏。硬盘光荣牺牲!几个月来的努力付之东流。

场景二:代码还原

这个项目中需要一个很复杂的功能,老王摸索了一个星期终于有眉目了,可是这被改得面目全非的代码已经回不到从前了。回滚版本。

场景三:协同开发

场景四:追溯问题代码的编写人和编写时间

  1. 打开Git Bash

  2. 设置用户信息 git config -global user.name "huan" git config -global user.email "1320156914@qq.com"

2、安装git

安装git

 

brew install git

查看git版本

 

git --version

如果查看git版本时遇到这个问题

zhouchenghuan@zhoucheuandembp ~ % git –version

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

这个错误信息表明你的Mac电脑上的Xcode Command Line Tools没有正确安装或激活。你可以通过以下步骤来修复这个问题:

xcode-select --install

然后重装git

安装成功

3、Git基础使用

获取本地仓库

git init

 

 

每提交一次(git commit) 就会增加一个新的版本。

  1. git add (工作区-> 暂存区)

  2. git commit (暂存区->本地仓库)

查看修改的状态

作用:查看的修改的状态(暂存区、工作区)

命令形式:git status

查看日志:git log

 

git branch 查看本地分支

git branch 分支名 创建本地分支

git log 比branch好用一些,查看非常直观。

git log 查看日志

git -log 以精简的方式显示提交记录

git checkout 切换分支

如 git checkout master 切换到主分支

git checkout -b 切换并创建分支

git merge 'dev01' 

git reset --hard commitID 版本回退 

作用是切换版本

commitID可以使用git -log指令查看

如何查看已经删除的记录?

git reflog 这个指令可以看到已经删除的提交记录

开发中分支使用原则与流程

Master (生产)分支

线上分支,主分支,中小规模项目作为线上运行的应用对应的分支。

develop(开发)分支

是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线要求,都可以在此版本进行开发,阶段开发完成后,需要合并到master。准备上线。

Feature 分支

从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支。

hotfix分支

从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、develop分支。

解决冲突

当两个分支上的同一个文件可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决:

1、我们将文件修改成我们期望的值

2、将修改后的文件加入暂存区(add)

3、提交到仓库(commit)

git branch -d dev02 删除分支

git branch -D dev02 强制删除分支

git merge 合并分支

比如你要将dev01合并到master,那么你先 git checkout master ,再git merge dev01

4、Git远程仓库

常见的托管服务 github、码云 gitee,个人一般用gitee,企业用gitLab。

https://gitee.com 注册账号

新建一个仓库,填一下仓库名,其他不要填

git remote add origin <远程仓库地址> 添加远程仓库

git remote 查看远程仓库

git push -u origin "master" 推送到远程仓库 (如果不在master分支则要切换master分支)

git push -f origin master 强制推送到远程仓库

git fetch 它的主要功能是从远程仓库获取最新的提交信息,但并不会自动将这些更新合并到本地的当前分支。

git clone [远程仓库地址] [本地目录名称(可选)] 用于从远程仓库复制一份完整的项目到本地,这个用的很多,同事会叫你把代码拉下来,在他们的基础上修改

 

这篇关于一步到位!快速精通Git工作流及实战技巧详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/792507

相关文章

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

MySQL中的分组和多表连接详解

《MySQL中的分组和多表连接详解》:本文主要介绍MySQL中的分组和多表连接的相关操作,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录mysql中的分组和多表连接一、MySQL的分组(group javascriptby )二、多表连接(表连接会产生大量的数据垃圾)MySQL中的

Java 实用工具类Spring 的 AnnotationUtils详解

《Java实用工具类Spring的AnnotationUtils详解》Spring框架提供了一个强大的注解工具类org.springframework.core.annotation.Annot... 目录前言一、AnnotationUtils 的常用方法二、常见应用场景三、与 JDK 原生注解 API 的

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Python装饰器之类装饰器详解

《Python装饰器之类装饰器详解》本文将详细介绍Python中类装饰器的概念、使用方法以及应用场景,并通过一个综合详细的例子展示如何使用类装饰器,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. 引言2. 装饰器的基本概念2.1. 函数装饰器复习2.2 类装饰器的定义和使用3. 类装饰