【一文入门】Git常用命令集锦--分支操作和版本管理篇

前言

Git 是一种分布式版本控制系统,可以帮助团队协作开发、管理和维护代码,提高代码质量和效率,掌握常用版本管理命令可以帮助我们更好地管理代码变更和历史记录。下面我将介绍开发中常用的一些Git分支操作和版本管理命令


1 分支操作

1.1 查看本地分支 git branch
1.2 查看远程和本地所有分支 git branch -a
1.3 切换分支 git checkout [local_name]

git checkout local_branch

1.4 基于远程分支创建并切换分支git checkout -b [local_branch] [remote_branch],例如:git checkout -b local_feature origin/main

git checkout -b your_branch origin/main

1.5 删除本地分支 git branch -d [name] 不能在当前分支删除分支,要先切换到其他分支,可以使用-D选项强制删除一个分支
1.6 提交代码到远程分支git push origin [本地分支名]:[远程分支名](远程不存在这个分支则会自动创建该分支),如果使用-u选项可以关联远程分支git push -u origin [本地分支名]:[远程分支名],后续只需要执行git push不用指定分支

git push -u origin feature_test:feature_test

1.7 获取远程主机所有更新,也就是所有分支的更新 git fetch,也可以指定分支名git fetch <远程主机名> <分支名>
1.8 合并dev_branch分支代码到目标分支,先切换到目标分支,然后执行git merge [name]

git merge dev_branch

2 版本管理

2.1 修改最近的一次 commit 的日志信息

git commit --amend

2.2 撤销最近一次commitgit reset HEAD~,撤销最近n次commitgit reset HEAD~n

git reset HEAD~

2.3 回滚到指定版本,同时保留工作目录和暂存区的内容,并把重置的位置所导致的新的文件差异放进暂存区

git reset --soft HEAD

2.4 回滚到指定版本,同时清空工作目录的所有改动

git reset --hard HEAD

2.5 git rebase命令简单使用,git rebase命令很强大,本文只介绍一种场景的简单使用,让读者体会下,感兴趣的可以查看这里

git rebase -i HEAD~n

案例:我们在提交完代码后发现有bug或格式有问题,又进行了二次提交,故希望合并第二次提交到第一次提交,使用最第一次提交的日志信息

  1. 使用git log --oneline命令查看提交记录
    在这里插入图片描述
  2. 我们执行命令开始修改提交git rebase -i HEAD~2,进入交互页面,修改第二次提交的pickfixup表示合并当前修改到上次修改,且丢弃这次提交的commit日志信息(不用担心,代码修改不会丢失的),其中fixup也可简写为f
    在这里插入图片描述
  3. 输入:wq保存修改并退出编辑,就可以看到修改成功了
    在这里插入图片描述

以上就是开发中常用的git基础操作命令了,如果你有其他想分享的命令也欢迎到评论区补充哦~

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos7安装nacos

一、前言 centos 7.9上部署nacos 2.0.3 二、部署步骤 1、下载nacos wget -P /opt/software/ https://github.com/alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.tar.gz 2、解压并改变nacos部署目录 cd /opt/software/ tar -zxf nacos-server-2.0.3.tar.gz mv…

Sam Altman的一天被曝光!每天15小时禁食、服用小剂量安眠药,尽可能避免开会

Sam Altman在经历了几天混乱的管理重组后&#xff0c;重新回到了OpenAI的CEO位置。在日常生活中&#xff0c;奥特曼与许多科技行业高管一样&#xff0c;痴迷于延长自己的寿命。 据报道&#xff0c;他还为应对末日场景&#xff08;致命合成病毒的释放、核战争和人工智能攻击等&…

静态代理、JDK动态代理、CGLIB动态代理以及JDK和CGLIB动态代理的区别

代理 什么是代理&#xff1f;两个设计原则三要素 静态代理静态代理的实现定义接口-定义行为静态代理 -> 目标角色静态代理-> 代理角色静态代理测试 特点 JDK动态代理newProxyInstance获取代理对象通过代理对象实现目标对象的功能特点 Java动态代理类中的invoke是怎么调用…

复试 || 就业day03(2024.01.03)项目一

文章目录 前言scikit-learn实现简单线性回归scikit-learn实现多元线性回归&#xff08;二元&#xff09;总结 前言 &#x1f4ab;你好&#xff0c;我是辰chen&#xff0c;本文旨在准备考研复试或就业 &#x1f4ab;本文内容来自某机构网课&#xff0c;是我为复试准备的第一个项…

生活中危险的气体:一氧化碳与二氧化碳中毒的症状及安全预防措施

一氧化碳和血红蛋白亲和力超过氧气&#xff0c;会占用血红蛋白&#xff0c;导致缺氧。 二氧化碳会和血浆结合&#xff0c;导致血液pH值不正常&#xff0c;抑制呼吸&#xff0c;导致窒息。 通俗点说&#xff1a;一氧化碳是中毒&#xff0c;二氧化碳则是窒息。 一氧化碳中毒 …

栈实现后缀表达式的计算

后缀表达式计算 过程分析 中缀表达式 &#xff08;15&#xff09;*3 > 后缀表达式 153* (可参考这篇文章&#xff1a;中缀转后缀) 第一步&#xff1a;我们从左至右扫描 后缀表达式(已经存放在一个字符数组中)&#xff0c;遇到第一个数字字符 ‘1’ 放入栈中第二步&#xf…

Java 类型转换

自动 1 短的变长的 2 表达式的自动类型转换 多种数据类型参与运算&#xff0c;其结果以大的数据类型为准byte, short, char 三种类型数据在和其他类型数据运算时&#xff0c;都会转换为int类型再运算&#xff08;byte byte也会是int int&#xff09; 强制 前面我们学习了自…

华为月薪25K的自动化测试工程师到底要会那些技能!

​前言 3年自动化测试软件测试工程师职业生涯中&#xff0c;我所经历过的项目都是以自动化测试为主的。由于自动化测试是一个广泛的领域&#xff0c;我将自己的经验整理了一下分享给大家&#xff0c;话不多说&#xff0c;直接上干货。 自动化测试的目标和实践选择合适的自动化…

jmeter的安装与目录介绍

1、启动 apache-jmeter-5.0\bin 2、永久修改中文配置 zh-CN就行了

手把手教你用GPT写提示词;进行文献综述;论文翻译/润色及写作

2023年随着OpenAI开发者大会的召开&#xff0c;最重磅更新当属GPTs&#xff0c;多模态API&#xff0c;未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义&#xff0c;不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车…

第一至四批专精特新“小巨人”企业信息库

第一至四批专精特新“小巨人”企业信息库 1、指标&#xff1a;专精特新公示批次、企业名称、登记状态、法定代表人、注册资本、实缴资本、成立日期、核准日期、营业期限、所属省份、所属城市、所属区县、电话、更多电话、邮箱、更多邮箱、统一社会信用代码、纳税人识别号 注册…

排队免单模式玩法,提高转化率解决引流难题

小编介绍&#xff1a;10年专注商业模式设计及软件开发&#xff0c;擅长企业生态商业模式&#xff0c;商业零售会员增长裂变模式策划、商业闭环模式设计及方案落地&#xff1b;扶持10余个电商平台做到营收过千万&#xff0c;数百个平台达到百万会员&#xff0c;欢迎咨询。 排队…