Git使用:常用命令汇总

news2024/11/25 12:24:43

前言

Git对于程序猿来说并不陌生,它是一款非常好用的项目管理工具,无论是前端开发还是后台开发,只要项目里面可以使用Git来管理,就会涉及代码的提交和合并操作,主要是常用的Git操作命令的使用,虽然目前有好多关于Git的可视化代码管理工具,但是掌握Git的命令行操作命令也是必备的。那么本篇文章就来分享一下在Git提交代码的时候使用纯Git命令行提交和合并操作的命令行使用,记录一下,方便查阅使用。

 

Git定义

Git其实就是一个开源的分布式版本控制系统,它可以有效、高速地处理从很小到非常大的项目版本管理,也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件,其实Torvalds开始着手开发Git是为了作为一种过渡方案来替代BitKeeper。

常用用法

0、克隆分支代码到本地的操作

$ git clone -b dev 地址

1、把远端的origin/master分支和本地的dev分支进行关联的操作

具体的命令行如下所示:

$ git branch --set-upstream-to=origin/dev dev

Branch 'dev' set up to track remote branch 'dev' from 'origin'.

2、拉取远端分支的内容到本地的操作

具体的命令行如下所示:

$ git pull

3、如果有冲突,合并冲突的操作

实际开发中在合并代码的时候冲突会有很多种情况,这里只分享一种分支代码被污染无法抢救的情况,因为这个最有代表性,具体的命令行如下所示:

  1. 需要从master上重新创建新的分支;
  2. 然后将新创建的分支克隆到本地;
  3. 接着打开被污染的分支查看历史提交纪录;
  4. 接着通过git cherry-pick 复制提交记录标识id;
  5. 若cherry-pick下来的代码有冲突,需要先解决冲突;

具体的解决冲突操作如下所示:

git add .

git cherry-pick --continue

eshsc :q 回车键

       6.接着通过cherry-pick所有需要cherry-pic的代码;

       7.最后通过git push 再次提交合并代码即可。

4、提交本地代码的操作

具体的命令行如下所示:

$git add test.vue

$git commit -m "新增了代码"

5、 把本地分支推送到远程仓库的操作

具体的命令行如下所示:

$ git push origin dev

6、常用的git命令提交代码的操作

$ git add .

$ git commit -m "备注描述"

$ git push origin 分支名

其他用法

1、看看仓库的当前状态的操作

具体的命令行如下所示:

$ git status命令

2、查看具体修改了哪些内容的操作

具体的命令行如下所示:

$ git diff readme.txt

3、显示从最近到最远的提交日志,加上--pretty=oneline参数,简介显示,的操作

具体的命令行如下所示:

$ git log --pretty=oneline

4、版本回退,HEAD^上个版本,HEAD^^上上个版本,HEAD~100,上100个版本,的操作

具体的命令行如下所示:

$ git reset --hard HEAD^

$ git reset --hard 1094a

5、git reflog查看命令操作记录

具体的命令行如下所示:

$ git reflog

6、查看文件内容

具体的命令行如下所示:

$ cat readme.txt

7、用git branch命令查看当前分支,git branch -d dev 删除分支

具体的命令行如下所示:

$ git branch

8、切换分支、创建并切换分支、可以丢弃工作区的修改等操作

具体的命令行如下所示:

$ git branch dev    //查看有哪些分支和当前的的分支

$ git checkout dev    //切换分支

$ git checkout -b dev    //创建并切换分支

$ git checkout -- file    //丢弃工作区的修改

9、用于合并指定分支到当前分支的操作

具体命令行如下所示:

$ git merge

10、将另一个分支的某次提交合并到当前分支的操作

    场景如:a分支:a,    b,    c,    d1,    d2

                   b分支:a,    b,    c,     d5,    d6

    把a分支上的某次提交d2合并到b分支上,具体的命令行如下所示:

    1、切换到b分支

        $ git checkout B

    2、拉去a分支上的提交d2到b分支

        $ git cherry-pick 'f038d7ffb1685af7d4f870ad06f760e8'

11、储藏改变的代码和拉去储藏的代码的操作

① git stash 暂存工作区修改的内容

② git stash pop 恢复暂存的工作区内容

③ git stash list 查询工作区所有stash的列表

④ git stash apply stash@{2} 回复某一次的储藏

⑤ git stash clear 清空所有的储藏

最后

根据上述关于Git使用常用命令汇总的介绍,尤其是通过命令行管理代码的时候,这些命令都是必备的,而且如果Git可视化工具出问题提交不了代码,也可通过纯命令行的方式进行代码的拉取和推送。掌握上面的常用命令,在代码维护中可以轻松很多,尤其是对于Git使用不是太熟的开发者更为重要,可以记下来了。以上就是本章全部内容,欢迎关注三掌柜的微信公众号“程序猿by三掌柜”,三掌柜的新浪微博“三掌柜666”,欢迎关注!

 

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

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

相关文章

CA-SSL:用于检测和分割未知类的半监督学习

论文作者 | Lu Qi, Jason Kuen , Zhe Lin, and etal论文来源 | CVPR2022文章解读 | William1、摘要为了提高检测/分割的性能,现有的自监督和半监督方法从未标记的数据中提取任务相关或任务特定的训练标签,但这两种方法对于任务性能都是次优的&#xff0c…

【JeecgBoot-Vue3】第1节 源码下载和环境安装与启动

目录 一. 资料 1. 源码下载 2. 官网启动文档 二、 前端开发环境安装 2.1 开发工具 2.2 前后端代码下载 2.3 前端启动 Step 1:安装nodejs npm Step 2:配置国内镜像(这里选阿里) Step 3:安装yarn Step 4&…

python的 ping 网络状态监测方法(含多IP)

ping 基本概念 ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Messag…

九、Bean的循环依赖问题

1 什么是Bean的循环依赖 A对象中有B属性。B对象中有A属性。这就是循环依赖。我依赖你,你也依赖我。 比如:丈夫类Husband,妻子类Wife。Husband中有Wife的引用。Wife中有Husband的引用。 2 singleton下的set注入产生的循环依赖 丈夫类 pac…

RabbitMQ的使用

1.初识MQ1.1.同步和异步通讯微服务间通讯有同步和异步两种方式:同步通讯:就像打电话,需要实时响应。异步通讯:就像发邮件,不需要马上回复。两种方式各有优劣,打电话可以立即得到响应,但是你却不…

Python3,好看的外(shen)表(cai)千篇一律,炫彩的日志万里挑一。

炫彩日志输出1、引言2、代码实战2.1 库介绍2.2 库安装2.3 代码示例2.3.1 demo2.3.2 实战3、总结1、引言 小屌丝:鱼哥, 我今天被炫到了。 小鱼:怎么了,你还能被旋到了? 小屌丝对啊, 被炫到了,很…

python SDK打包

什么是SDK 先放一段专业性的文字来解释: SDK即“软体开发工具包”,一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。通俗点是指由第三方服务商提供的实现软件产品某项功能的工具包。 开发者不…

【PyTorch】教程:torch.nn.ELU

torch.nn.ELU CLASS torch.nn.ELU(alpha1.0, inplaceFalse) paper: Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs). 参数 alpha ([float]) – α\alphaα 默认为1.0inplace ([bool] ) – 内部做, 默认为 False ELU 定义 ELU(x){x,if x>0α…

与流程挖掘布道者熵评科技孙一鸣博士共话流程挖掘市场的起源与前景 | 爱分析访谈

调研:李进宝 陈元新 撰写:李进宝 陈元新 随着数字化转型持续深入,国内企业流程挖掘需求初露端倪。流程挖掘是指通过采集和分析企业数据,以可视化流程图还原企业实际发生的业务流程,进而评估流程运行状况、诊断流程运…

Spring 6 and JUnit 5 组合

Spring 6 and JUnit 5 组合 Spring 6 and JUnit 5 只需引入相关的包&#xff0c;不过偶尔可能会出现 no tests were found&#xff0c;最后有解决方案。 引入相关依赖包 <dependencies><dependency><groupId>jakarta.annotation</groupId><artif…

边界无限入选首届“网络安全高成长性企业”并荣获“勇创之星”

近日&#xff0c;由工业和信息化部、四川省人民政府主办的“2023年中国网络和数据安全产业高峰论坛网络安全产融合作分论坛”在成都举行&#xff0c;论坛上公布了“2022年度网络安全高成长性企业”名单。云原生安全、应用安全“灵动智御”理念创领者北京边界无限科技有限公司&a…

密码算法(SM1、SM2、SM3、SM4、同态加密、密态计算、隐私计算和安全多方计算)

文章目录SM1 对称密码SM2 椭圆曲线公钥密码算法SM3 杂凑算法SM4 对称算法同态加密密态计算和隐私计算安全多方计算技术安全多方计算的应用场景对称加密算法非对称加密算法&#xff08;公钥加密&#xff09;参考文章SM1、SM2、SM3和SM4 为了保障商用密码的安全性&#xff0c;国家…

HTTP#1 请求数据格式和响应数据格式

一. 简介概念Hyper Text Transfer Protocol (HTTP), 超文本传输协议, 规定了浏览器和服务器之间数据传输的规则HTTP协议特点1.基于TCP协议:面向连接&#xff0c;安全2.基于请求-响应模型的:一次请求对应一次响应3. HTTP协议是无状态的协议: 对于事务处理没有记忆能力, 每次请求…

JAVA中公平锁和非公平锁有什么区别?

从公平的角度来说,Java 中的锁总共可分为两类:公平锁和非公平锁。但公平锁和非公平锁有哪些区别? 正文 公平锁:每个线程获取锁的顺序是按照线程访问锁的先后顺序获取的,最前面的线程总是最先获取到锁。非公平锁:每个线程获取锁的顺序是随机的,并不会遵循先来先得的规则…

深眸科技|机器视觉提升制造性能,焕发传统企业智造新活力!

随着机器视觉技术的成熟与发展&#xff0c;其在工业制造中得到越来越广泛的应用。机器视觉在工业制造领域的应用朝着智能识别、智能检测、智能测量以及智能互联的完整智能体系方向发展。此外&#xff0c;快速变化的市场需求&#xff0c;不断涌入行业的竞争对手&#xff0c;让传…

操作系统真相还原_第8章:内存管理系统

文章目录8.1 Makefile 简介makefile基本语法make参数伪目标自定义变量与系统变量隐含规则自动化变量与模式规则8.2 实现assert断言操作系统代码编译、链接并写入磁盘启动bochs执行物理内存使用情况8.3 实现字符串操作函数操作系统代码编译、链接并写入磁盘启动bochs执行物理内存…

C++基础(一)—— C++概述、C++对C的扩展(作用域、struct类型、引用、内联函数、函数默认参数、函数占位参数、函数重载)

1. C概述1.1 c简介“c”中的来自于c语言中的递增运算符&#xff0c;该运算符将变量加1。c起初也叫”c withclsss”.通过名称表明&#xff0c;c是对C的扩展&#xff0c;因此c是c语言的超集&#xff0c;这意味着任何有效的c程序都是有效的c程序。c程序可以使用已有的c程序库。为什…

Halcon数据结构

1.HTuple类型 1、既可以表示的类型有int&#xff0c;double、float、string&#xff0c;既可以表示单个值&#xff1b; 2、可以是容器&#xff1b; 3、可以是数组&#xff0c;数组遍历时需要有下标&#xff0c;如&#xff1a;变量名称[下标] 图像数据类型 Byte&#xff1a;8…

药房管理系统;药库管理系统

第一&#xff0c;主要功能&#xff1a;  本系统集日常销售、药品进销存、会员积分、GSP管理等药店所需的所有功能于一体&#xff0c;实现店铺管理的全部自动化。第二、新功能&#xff1a;  增加了“按功能查询药品”的功能&#xff0c;使软件用户可以根据客户的症状推荐合适…

【进阶】2、搭建K8s集群【v1.23】

[toc] 一、安装要求 在开始之前&#xff0c;部署Kubernetes集群机器需要满足以下几个条件&#xff1a; 一台或多台机器&#xff0c;操作系统 CentOS7.x-86_x64硬件配置&#xff1a;2GB或更多RAM&#xff0c;2个CPU或更多CPU&#xff0c;硬盘30GB或更多集群中所有机器之间网络…