【Git】常用命令

news2024/11/19 10:22:55

Git命令游戏教程网站:https://learngitbranching.js.org/?locale=zh_CN

日常使用

命令

  • git push

1.不省略的写法

适合<本地分支名><远程分支名>不一样的情况

将本地的dev分支上的代码推送到远程主机名为origintest的分支上。如果远程的test分支不存在,则会被创建

git push origin dev:test

2.省略:<远程分支名>

本地分支名和远程分支名一样的情况

git push origin dev
  • 查看git分支的编号
git log --oneline

  • 切换分支
git checkout [branch]

注意:在切换分支之前,当前分区工作目录的文件一定要提交到git仓库中,保持当前分支工作区完全干净。

  • 新建一个分支,并切换到该分支
git checkout -b [branch]
  • 新建一个分支,HEAD指向远程仓库的指定分支,并切换到该分支
git checkout -b [新分支] origin/[远程分支名]
  • 从当前分支下的某个指定commit新建分支
git checkout -b [新分支] [commit-id]

例子:当前分支的git log

分支1

分支2

分支3

现在希望从分支2新拉一个分支,命令为git checkout -b new-branch 分支2的commit-id

  • 重命名分支

(已经切换到要重命名的分支)

git branch -m new_name

(在其他分支)

git branch -m old_name new_name
  • 合并分支merge

要使main主分支包含所有修改的代码:要把bugFix分支(c2位置)合并到main主分支(原本在c3位置),必须先切换到main分支,然后输入git merge bugFix

现在的main(c4位置)有两个父节点,它包含对代码库的所有修改。

  • 合并分支 rebase

(Rebase 实际上就是取出一系列提交记录,“复制”它们,然后在另外一个地方逐个的放下去。rebase较于merge的优势是可以创造更线性的提交历史。)

1)要使main主分支包含所有修改的代码:要把bugFix分支(原本c3位置)合并到main主分支(c2位置),先切换到bugFix分支,然后输入git rebase main

但main尚未更新。

这里的 c3' 是我们 Rebase 到 main 分支上的 c3 的副本。

2)切换到main上,git rebase bugFix。现在main包含对代码库的所有修改。

这里由于bugFix继承自main,所以git只是把main分支的引用往前移动了一下而已。

[整理提交记录]

  • cherry-pick,把一些提交复制到当前位置(HEAD)下面

输入命令git cherry-pick c3 c4 c7

cherry-pick和rebase不同,它可以只将我们指定的部分提交记录放到当前分支下。

  • fetch

同步远程服务器上的数据到本地:git fetch origin

git pull 的操作结果= git fetch + git merge (但工作原理不同)。

git fetch将远程仓库的代码下载过来,同一块代码远程和本地不同 需要经过确认后merge为一个新的代码版本;

git pull 基于本地代码,不经过确认,直接将远程代码合并到本地。

  • 如果当前分支修改的文件没有提交到git仓库,直接checkout 其他分支/master分支,会发生什么情况

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

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

相关文章

Go开发学习 | 如何使用日志记录模块包针对日志按天数、按大小分隔文件示例...

欢迎关注「全栈工程师修炼指南」公众号 点击 &#x1f447; 下方卡片 即可关注我哟! 设为「星标⭐」每天带你 基础入门 到 进阶实践 再到 放弃学习&#xff01; “ 花开堪折直须折&#xff0c;莫待无花空折枝。 ” 作者主页&#xff1a;[ https://www.weiyigeek.top ] 博客&…

比较专业的成体系OJ题库和近期整理的比赛题目

比较专业的成体系OJ题库和近期整理的比赛题目&#xff0c;一个优秀的OJ系统是不断剔除和补充题目的完善过程 &#xff0c;不是越多越好&#xff0c;而是符合孩子们学习阶段的需求&#xff0c; 类似的题目有2-3题就好&#xff0c;方便学生举一反三&#xff0c;另外同一题 要求回…

两个offer:一个996,月薪3万;一个885,月薪2万,怎么选?

找工作时&#xff0c;钱和闲&#xff0c;你选哪个&#xff1f; 一位网友拿到了两个offer&#xff0c;一个996&#xff0c;月薪3万&#xff0c;一个885&#xff0c;月薪2万&#xff0c;怎么选&#xff1f; 一部分网友选择885&#xff0c;因为自己是打工人&#xff0c;不是打工奴…

为什么职场中35岁之后很难找到合适的工作?

(点击即可收听) 为什么职场中35岁之后很难找到合适的工作 无论是初入职场还是,职场多年的老司机,都听过一个35岁危机的一个话题 无论是企业还是一些招聘者,针对35,甚至就是30的人,充满了不是这样,就是那样的偏见的理由 每个公司都喜欢有激情,有想法,有干劲的年轻人,无论哪个公司…

大学四年,因为这8个网站,我成为同学眼中的学霸

「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 大学期间&#xff0c;几乎每一个教过我的老师都反应&#xff0c;我的学习态度不好&#x…

设计模式之~观察者模式

观察者模式又叫做发布-订阅&#xff08;Publish/Subscribe&#xff09;模式。 观察者模式observer&#xff1a;定义了一种一对多的依赖关系&#xff0c;让多个观察者对象同时监听某个主题对象。这个主题对象在状态发生变化时&#xff0c;会通知所有观察者对象&#xff0c;使他们…

《计算机组成原理》唐朔飞 第8章 CPU的结构和功能 - 学习笔记

写在前面的话&#xff1a;此系列文章为笔者学习计算机组成原理时的个人笔记&#xff0c;分享出来与大家学习交流。使用教材为唐朔飞第3版&#xff0c;笔记目录大体与教材相同。 网课 计算机组成原理&#xff08;哈工大刘宏伟&#xff09;135讲&#xff08;全&#xff09;高清_…

实现分布式实体追踪:提升系统可见性和故障排查能力

引言&#xff1a; 在当今复杂的分布式系统中&#xff0c;追踪用户请求的执行过程变得越来越重要。为了获得全面的系统可见性和更高效的故障排查能力&#xff0c;我们在Flipkart采用了分布式实体追踪的解决方案。本文将介绍我们的实施策略&#xff0c;以及如何使用结构化日志和集…

IMG CXM GPU:面向复杂消费级设备的无缝视觉体验

上周我们推出了一款新的GPU&#xff0c;即IMG CXM。它的三种配置可扩展&#xff0c;为可穿戴设备和高级数字电视等多种消费设备提供无缝用户界面。 消费级设备需要GPU提供什么&#xff1f; 涵盖智能手表和智能眼镜的可穿戴市场为移动中的消费者提供了易于访问的信息。鉴于屏幕尺…

一文解读 AIGC 驱动高绩效商业的落地与思考

本文根据神策数据智能业务负责人郭荣锋《AIGC 驱动高绩效商业的实践》的主题演讲整理所得&#xff0c;主要围绕神策对 AIGC &#xff08;即 AI-Generated Content&#xff0c;人工智能生成内容&#xff09;业务应用的理解、AIGC 的落地实践及心得体会等方面展开。 以下为本文的…

运行 100 万个并发任务究竟需要多少内存?

Laf 公众号已接入了 AI 绘画工具 Midjourney&#xff0c;可以让你轻松画出很多“大师”级的作品。同时还接入了 AI 聊天机器人&#xff0c;支持 GPT、Claude 以及 Laf 专有模型&#xff0c;可通过指令来随意切换模型。欢迎前来调戏&#x1f447; <<< 左右滑动见更多 &…

Tomcat文件夹属性

Tomcat安装完成后&#xff0c;其安装目录下包含bin、conf、lib、logs、temp、webapps、work等子目录&#xff0c;各个子目录简介如下&#xff1a; &#xff08;1&#xff09;bin目录。主要存放Tomcat的命令文件。&#xff08;解压缩版点击bin下的startup.bat&#xff0c;即可运…

4.2 字节流与字符流

在Java中&#xff0c;有两种基本的数据流类型&#xff1a;字节流和字符流。字节流处理原始二进制数据&#xff0c;而字符流处理Unicode字符。本章节我们将学习字节流与字符流的基本概念以及如何使用它们进行文件的输入输出操作。 4.2.1 字节流 字节流处理原始二进制数据&…

打造音视频极致消费体验

在观看视频时&#xff0c;用户最看重的是什么呢&#xff1f;清晰度&#xff1f;流畅度&#xff1f;还是播放时的稳定性&#xff1f;作为视频厂商&#xff0c;不仅要考虑到常见的指标&#xff0c;一些关乎用户体验的隐藏性指标也需要重点关注。如何持续升级优化代码并在成本和用…

JointJS+ v3.7 Crack

JointJS v3.7 改进了对 SVG 上下文中的外部对象的支持。 2023 年 5 月 30 日 - 16:00 新版本 特征 改进了对外部对象 (HTML) 的支持- 外部对象已成为 Web 开发的标准&#xff0c;JointJS 现在已经在 SVG 上下文中引入了对外部对象的全面且功能齐全的支持。这意味着您现在可以在…

工作积极主动分享,善于业务沟通

工作积极主动分享&#xff0c;善于业务沟通 目录概述需求&#xff1a; 设计思路实现思路分析1.工作积极主动承担责任2.善于沟通3.一起常常lauch 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;…

【JavaSE】Java基础语法(三十九):网络编程入门

文章目录 1. 网络编程概述2. 网络编程三要素3. IP地址4. InetAddress5. 端口和协议 1. 网络编程概述 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备&#xff0c;通过通信线路连接起来&#xff0c;在网络 操作系统&#xff0c;网络管理软件及网络通信协…

MyBatis 环境搭建+基本使用

目录 MyBatis创建MyBatis环境搭建MyBatis模式开发MyBatis 获取动态参数&#xff08;查询操作&#xff09;${} 直接替换#{} 占位符模式替换like查询&#xff08;模糊查询&#xff09;多表查询一对一的表映射一对多的表映射 增、删、改操作改操作删除操作增加操作添加用户添加用户…

chatgpt赋能python:Python中的英文单词

Python中的英文单词 Python是一种流行的编程语言&#xff0c;它具有人类易读性、功能强大、支持多种编程范例等特点。Python中包含着大量的英文单词&#xff0c;这些单词在Python编程中极为重要&#xff0c;因为它们直接影响代码的可读性和理解难度。本文将介绍一些最常用的Py…

Go开发学习 | 如何使用Gomail.v2模块包发送邮箱验证码消息及附件学习记录

欢迎关注「全栈工程师修炼指南」公众号 点击 &#x1f447; 下方卡片 即可关注我哟! 设为「星标⭐」每天带你 基础入门 到 进阶实践 再到 放弃学习&#xff01; “ 花开堪折直须折&#xff0c;莫待无花空折枝。 ” 作者主页&#xff1a;[ https://www.weiyigeek.top ] 博客&…