一步到位!快速精通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

相关文章

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

Spring Cloud LoadBalancer 负载均衡详解

《SpringCloudLoadBalancer负载均衡详解》本文介绍了如何在SpringCloud中使用SpringCloudLoadBalancer实现客户端负载均衡,并详细讲解了轮询策略和... 目录1. 在 idea 上运行多个服务2. 问题引入3. 负载均衡4. Spring Cloud Load

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.