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

git常用命令和开发常用场景

git命令

git init
创建一个空的git仓库或者重新初始化已有仓库
git clone [url]
将存储库克隆到新目录
git add 
添加内容到索引
git status
显示工作树状态
git commit -m ""
记录仓库的修改
git reset   
重置当前HEAD到指定的状态
git reset –-soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset –-mixed:回退到某个版本,只回退了commit的信息,并且恢复到index file一级。如果还要提交,需要重新add,再commit即可
git reset -–hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容(误操作后需要学git reflog挽救),撤销的commit中所包含的更改被冲掉
git branch  -m改名 -c 复制分支  -d删除上游分支  -r删除远程分支
列出、创建或删除分支
git checkout   -b创建并切换
选择分支或者恢复工作树文件
git merge
合并多条历史提交描述记录
git log
显示提交日志
git stash
将变化藏在一个脏工作区中
git tag
创建、列出、删除或验证使用GPG签名的tag对象
git fetch
用于从远程仓库获取最新的提交历史和分支信息,但并不自动合并或修改本地代码。
1. 检查远程仓库是否有新的提交或分支。
2. 获取远程仓库的最新提交历史,但不会应用到当前工作目录中。
3. 更新本地仓库的远程分支指针,指向远程仓库的最新提交。
git pull <远程主机名> <远程分支名>:<本地分支名>
用于从远程获取代码并合并本地的版本。
git push <远程主机名> <本地分支名>:<远程分支名>
用于从将本地的分支版本上传到远程并合并。
git cherry-pick <commitHash>
这个命令的作用就是把指定的commit,拉到一个新的分支上。

三人合作开发项目git命令实例

  1. 克隆(Clone)远程仓库:

    git clone <远程仓库URL>
    
  2. 创建自己分支(Branch):

    git branch <分支名>
    git checkout -b dev origin/dev
    
  3. 切换到自己的分支:

    git checkout <分支名>
    
  4. 查看状态(status)添加(Add)和提交(Commit)更改:

    git status
    git add <文件名>     或者 git add .  提交所有
    git commit -m "提交信息"
    
  5. 拉取(Pull)远程仓库的更改:

    git pull origin <分支名>
    

    如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

  6. 解决冲突(Conflict):
    当合并分支时出现冲突时,手动解决冲突并提交更改。

  7. 推送(Push)更改到远程仓库自己的分支:

    git push origin <分支名>
    
  8. 成功推送之后在远程仓库提交合并请求到主分支

版本回退

1.查看提交历史,选择要回退的版本

git log

2.回退版本

git reset --hard commit_id

3.如果后悔,想要重返未来

git reflog  查看命令历史  确定回到未来的哪个版本

git reset –-soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset –-mixed:回退到某个版本,只回退了commit的信息,并且恢复到index file一级。如果还要提交,需要重新add,再commit即可
git reset -–hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容(误操作后需要学git reflog挽救),撤销的commit中所包含的更改被冲掉

Bug分支场景

模拟场景:当你接到一个修复一个代号101的bug的任务在master分支上,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交

1.把当前工作现场储藏起来

git stash

2.修复bug

git checkout master
git checkout -b issue-101
git add .
git commit -m "fix bug 101"
//[issue-101 4c805e2] fix bug 101
git switch master
git merge --no-ff -m "merged bug fix 101" issue-101

3.继续开发dev

git switch dev
git status
git stash listgit stash apply + git stash drop  / git stash pop
git stash list

场景:同样的bug,要在dev上修复,我们只需要把4c805e2 fix bug 101这个提交所做的修改“复制”到dev分支。注意:我们只想复制4c805e2 fix bug 101这个提交所做的修改,并不是把整个master分支merge过来。

$ git branch
* devmaster
$ git cherry-pick 4c805e2
[master 1d4b803] fix bug 101

git merge三种使用场景

命令都是一样的开发完dev分支然后切回master分支之后
git merge dev
只不过第三种会报错需要在master分支上解决冲突之后自行提交一次就ok
1.快进(无冲突

在这里插入图片描述

在这里插入图片描述

2.非快进(无冲突

在这里插入图片描述

3.非快进(有冲突

在这里插入图片描述

相关文章:

git常用命令和开发常用场景

git命令 git init 创建一个空的git仓库或者重新初始化已有仓库 git clone [url] 将存储库克隆到新目录 git add 添加内容到索引 git status 显示工作树状态 git commit -m "" 记录仓库的修改 git reset 重置当前HEAD到指定的状态 git reset –-soft&#xff1a;…...

02 认识Verilog HDL

02 认识Verilog HDL ‍ 对于Verilog的语言的学习&#xff0c;我认为没必要一开始就从头到尾认真的学习这个语言&#xff0c;把这个语言所有细节都搞清楚也不现实&#xff0c;我们能够看懂当前FPGA的代码的程度就可以了&#xff0c;随着学习FPGA深度的增加&#xff0c;再不断的…...

解决VUE安装依赖时报错:npm ERR! code ERESOLVE

前言 在使用 npm 安装项目依赖时&#xff0c;有时会遇到错误信息 “npm ERR! code ERESOLVE”&#xff0c;该错误通常发生在依赖版本冲突或者依赖解析问题时。本文将详细介绍出现这个错误的原因&#xff0c;并提供解决方法&#xff0c;确保正确安装项目依赖并避免该错误的发生。…...

软件公司的项目管理软件选择指南

我们经常在项目推进中经常遇到各种各样的问题&#xff0c;最常见的是因团队工作效率低而无法在截止日期之前按时完成工作。但是如果能合理使用项目管理软件&#xff0c;可以有效监控项目进程&#xff0c;提高工作效率&#xff0c;从而保证按时完成任务。那么软件公司适合什么项…...

2、服务器安装docker

# 1.卸载旧的版本 yum remove -y docker \ docker-client\ docker-client-latest\ docker-common docker-latest\ docker-latest-logrotate\ docker-logrotate docker-s…...

UDP报文结构

文章目录 一、UDP报头1.1源端口号1.2目的端口号1.3UDP报文长度1.4UDP校验和(checksum) UDP报头和UDP载荷(payload)之间的拼接可以认为是一个“字符串拼接”&#xff0c;里面是二进制数据。 一、UDP报头 UDP报头分成4个部分&#xff0c;每个部分2个字节。分别是&#xff1a; 1…...

(高阶) Redis 7 第21讲 IO多路复用模型 完结篇

🌹 以下分享 Redis IO多路复用模型,如有问题请指教。🌹🌹 如你对技术也感兴趣,欢迎交流。🌹🌹🌹 如有对阁下帮助,请👍点赞💖收藏🐱‍🏍分享😀 IO多路复用模型是什么 I/O:网络IO 多路:多个客户端连接(连接即套接字描述符,即socket或channel),指…...

2023年入职/转行网络安全,该如何规划?

前言 前段时间&#xff0c;知名机构麦可思研究院发布了 《2022年中国本科生就业报告》&#xff0c;其中详细列出近五年的本科绿牌专业&#xff0c;其中&#xff0c;信息安全位列第一。 网络安全前景 对于网络安全的发展与就业前景&#xff0c;想必无需我多言&#xff0c;作为…...

解密RabbitMQ:你所不知道的端口及其重要性

解密RabbitMQ&#xff1a;你所不知道的端口及其重要性 前言第一部分&#xff1a;AMQP默认端口(5672)第二部分&#xff1a;RabbitMQ管理界面端口&#xff08;15672&#xff09;第三部分&#xff1a;Erlang Port Mapper Daemon&#xff08;epmd&#xff09;端口&#xff08;4369&…...

Docker 环境搭建 (centeros)

CentOS环境下安装Docker 本文档将指导您在CentOS操作系统上安装Docker。Docker是一个开源的容器化平台&#xff0c;可以帮助您轻松地创建、部署和管理容器化应用程序。 步骤1&#xff1a;更新系统 在安装Docker之前&#xff0c;首先确保您的系统已经更新到最新版本。打开终端…...

服务器编程基本框架

服务器编程基本框架 虽然服务器程序种类繁多&#xff0c;但其基本框架都一样&#xff0c;不同之处在于逻辑处理。 I/O 处理单元是服务器管理客户连接的模块。它通常要完成以下工作&#xff1a;等待并接受新的客户连接&#xff0c;接收客户数据&#xff0c;将服务器响应数据返回…...

Leetcode——数组的遍历系列练习

485. 最大连续 1 的个数 class Solution { public:int findMaxConsecutiveOnes(vector<int>& nums) {// 记录最大连续1个数int max 0;// 记录数组中存在1个数int sum 0;// 遍历连续1个数int count 0;for (int i 0; i < nums.size() - 1; i) {if (nums[i] 1)s…...

免费的ChatGPT与StableDiffusion AI绘画 二合一 附在线地址

ChatGPT与StableDiffusion 在线地址在文末 介绍 嘿&#xff0c;大家好&#xff01;今天我要给大家介绍一个非常酷炫的技术结合——ChatGPT与StableDiffusion的合作。听起来是不是很有趣&#xff1f;那么&#xff0c;让我们一起来看看这个组合到底能带给我们什么样的奇妙体验…...

vivado FFT IP仿真(3)FFT IP选项说明

xilinx FFT IP手册PG109 1 Configuration 2 Implementation 3 Detailed Implementation IP Symbol...

正点原子嵌入式linux驱动开发——Busybox根文件系统构建

前面已经移植了TF-A、Uboot和Linux kernel&#xff0c;就剩最后一个 rootfs(根文件系统)了&#xff0c;本章就来学习一下根文件系统的组成以及如何构建根文件系统。这是Linux系统移植的最后一步&#xff0c;根文件系统构建好以后就意味着拥有了一个完整的、可以运行的最小系统 …...

React闭包

声明 本文将深入探讨React与闭包之间的关系。 我们将首先介绍React和闭包的基本概念&#xff0c;然后详细解释React组件中如何使用闭包来处理状态和作用域的问题。 通过本文的阅读&#xff0c;你将对React中闭包的概念有更深入的理解&#xff0c;并能够在开发React应用时更好地…...

【VS Code】推荐一套我非常喜欢的主题和字体样式

话不多说&#xff0c;先上样式&#xff1a; 这里我的主题是 One Dark Pro&#xff0c;也是 VS Code 里面使用非常多的主题之一。直接安装插件即可使用。 我的字体是 JetBrains Mono&#xff0c;虽然使用的是 VS Code&#xff0c;但还是喜欢 webstorm 的字体。我们可以直接去官网…...

【SQL】MySQL中的约束

1. 主键约束&#xff08;primary key&#xff09;&#xff1a; 相当于唯一约束非空约束分为单列主键&#xff0c;多列联合主键&#xff0c;一个表只有一个主键多列联合主键的每列都不能为空 2. 自增长约束&#xff08;auto_increment&#xff09;&#xff1a; 用在单列主键后…...

css div左右布局

div左右布局 htm代码 <div class"content-box"><div class"left"></div><div class"right"></div></div>css样式 .content-box{height: 100%;width: 100%;display: flex; } .left{display: block;width:…...

06_Node.js服务器开发

1 服务器开发的基本概念 1.1 为什么学习服务器开发 Node.js开发属于服务器开发&#xff0c;那么作为一名前端工程师为什么需要学习服务器开发呢&#xff1f; 为什么学习服务器开发&#xff1f; 能够和后端程序员更加紧密配合网站业务逻辑前置扩宽知识视野 1.2 服务器开发可…...

极客专属:OpenClaw+百川2-13B打造个人CLI智能助手

极客专属&#xff1a;OpenClaw百川2-13B打造个人CLI智能助手 1. 为什么开发者需要命令行智能助手 作为一个长期与终端打交道的开发者&#xff0c;我每天要重复执行大量机械操作&#xff1a;查看日志、运行测试、整理结果。这些工作虽然简单&#xff0c;却极其消耗精力。直到我…...

彻底解决电脑噪音烦恼:FanControl风扇控制软件完全指南

彻底解决电脑噪音烦恼&#xff1a;FanControl风扇控制软件完全指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/f…...

Win11Debloat:3步解决Windows系统卡顿与隐私泄露难题

Win11Debloat&#xff1a;3步解决Windows系统卡顿与隐私泄露难题 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本&#xff0c;用于从Windows中移除预装的无用软件&#xff0c;禁用遥测&#xff0c;从Windows搜索中移除Bing&#xff0c;以及执行各种其他更改以简化和改…...

电子元器件检测数据集VOC+YOLO格式1032张5类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数)&#xff1a;1032标注数量(xml文件个数)&#xff1a;1032标注数量(txt文件个数)&#xff1a;1032标注类别…...

MoveIt Config 配置文件完整一致性检查

检查范围&#xff08;全部核对完毕&#xff09;ros2_control xacro&#xff08;硬件接口 / 关节&#xff09;initial_positions.yaml&#xff08;初始位置&#xff09;srdf&#xff08;运动组 / 关节&#xff09;joint_limits.yaml&#xff08;关节限制&#xff09;kinematics.…...

Linux文件系统架构与缓存机制解析

Linux文件系统架构与缓存机制深度解析1. 文件系统核心架构1.1 文件系统基本组织形式Linux文件系统采用分层结构设计&#xff0c;主要包含以下核心组件&#xff1a;块存储机制&#xff1a;硬盘被划分为固定大小的块&#xff08;默认4KB&#xff09;&#xff0c;文件数据分散存储…...

AI小白进阶必看!吴恩达教你用“职业技能包“让AI像专业员工一样工作(收藏版)

本文系统拆解了吴恩达联合Anthropic推出的Agent Skills视频课程&#xff0c;深入浅出地讲解了如何通过构建"职业技能包"&#xff08;Skills&#xff09;&#xff0c;让通用AI Agent在具体业务场景中像专业员工一样可靠工作。文章从Agent Skills的定义、必要性、能力维…...

Windows ❀ 高效端口检测工具tcping的安装与实战技巧

1. 为什么你需要tcping这个神器&#xff1f; 做运维的朋友应该都遇到过这种情况&#xff1a;服务器明明能ping通&#xff0c;但服务就是访问不了。这时候传统的ping命令就束手无策了&#xff0c;因为它只能检测网络层是否连通&#xff0c;而无法判断具体端口是否开放。这就是tc…...

5分钟搞懂3GPP NTN标准:从Release16到19的关键技术演进与实战应用

5分钟搞懂3GPP NTN标准&#xff1a;从Release16到19的关键技术演进与实战应用 当全球通信行业将目光投向低轨卫星星座与高空平台时&#xff0c;3GPP的NTN&#xff08;非地面网络&#xff09;标准正在重塑连接边界。本文将以工程师视角&#xff0c;带您穿透技术文档迷雾&#xf…...

Llama-3.2V-11B-cot从零部署:Docker镜像运行与端口映射详解

Llama-3.2V-11B-cot从零部署&#xff1a;Docker镜像运行与端口映射详解 1. 项目概述 Llama-3.2V-11B-cot是基于Meta Llama-3.2V-11B-cot多模态大模型开发的高性能视觉推理工具。它针对双卡4090环境进行了深度优化&#xff0c;特别适合想要体验Llama多模态大模型但缺乏专业部署…...