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

git 常用操作指令

文章目录

    • git clone
    • git config
    • git add
    • git commit
    • git rm
    • git branch/checkout
    • git pull/push
    • git rebash/merge

git clone

git clone 可以将一个远程 Git 仓库拷贝到本地,让自己能够查看该项目,或者进行修改。

拷贝项目命令格式如下:git clone [url]

[url] 是你要拷贝的项目。

例如我们拷贝 Github 上的项目:

$ git clone https://github.com/tianqixin/runoob-git-test
Cloning into 'runoob-git-test'...
remote: Enumerating objects: 12, done.
remote: Total 12 (delta 0), reused 0 (delta 0), pack-reused 12
Unpacking objects: 100% (12/12), done.

git config

我们可以通过git config来配置用户名和邮箱地址,便于我们将代码提交到远程仓库,具体格式如下:

git config --global user.name '你的用户名'
git config --global user.email '你的邮箱'

git add

git add 命令可将文件添加到缓存,如新项目中,添加所有文件很普遍,可以使用如下命令:

git add .

注意:add有多种形式,可以add某个文件,某个文件夹,或直接add当前仓库下所有文件

git add 单个文件
git add 文件夹1/ 文件夹2/ ……多个文件夹之间空格隔开
git add .

有时候我们add之后又改了代码,所以想重新add,但是之前add但是没有commit的文件还在,想撤销怎么办呢?

git status //查看已经add的git reset .  //撤销命令reset,此处表示撤销全部

git reset HEAD 命令用于取消已缓存的内容,如我们要取消已提交的test.txt文件,可以如下使用:(撤销单个文件)

git reset HEAD test.txt

git commit

git commit 将缓存区内容添加到仓库中,可以在后面加-m选项,以在命令行中提供提交注释,格式如下:

git commit -m "第一次版本提交"

如果你觉得 每次 commit之前要add一下,想跳过add这一步,可以直接使用 -a选项,如:

git commit -am "第一次版本提交"

我们可以创建一个文件,并将它添加打缓存,之后在提交,具体操作如下:

git rm

如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交。可以如下使用:

git rm <file>

如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f

git rm -f <file>

可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件:

git rm –r *rm -rf .git/  //强制删除暂存文件

git branch/checkout

  • git branch:查看分支命令
  • git branch (branchname):创建分支命令
  • git checkout (branchname):切换分支命令
  • git merge:合并分支命令
  • git branch -d (branchname):删除分支命令

git branch                           #查看分支
git branch -a                        #查看所有分支,包括远程和本地
git branch name                      #创建分支
git checkout name                    #切换分支到name
git checkout -b name                 #创建一个新的分支并且立即切换到它
git merge name                       #在分支master上合并分支name
git branch -d name                   #删除本地分支name
git push origin --delete name        #删除远程分支  
 

git pull/push

git fetchgit pull的区别:

  1. git fetch:相当于是从远程获取最新版本到本地,不会自动合并。

  2. git pull:相当于是从远程获取最新版本并merge到本地。

  3. git push
    git push 推送你的新分支与数据到某个远端仓库命令,格式如下:

更新操作:
$ git pull
$ git pull origin将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。
git pull origin master:brantest如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
git pull origin master
git push 命令用于从将本地的分支版本上传到远程并合并。命令格式如下:
git push <远程主机名> <本地分支名>:<远程分支名>如果本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>以下命令将本地的 master 分支推送到 origin 主机的 master 分支。
$ git push origin master  //等价于$ git push origin master:master
或git push -u origin master如果origin端还不存在本地分支dev,想将本地分支推送到远端可以使用git push --set-upstream origin dev删除主机的分支可以使用 --delete 参数,以下命令表示删除 origin 主机的 master 分支:
git push origin --delete master

git rebash/merge

在开发中经常需要基于一个分支来创建子分支,然后在子分支上进行开发,最后验证功能无问题才会将子分支合并到主分支上去。将子分支合并到主分支上一般有两种方案,分别为:

  • git merge:这种合并会在对应的主分支上产生合并的提交,以及对应子分支的提交情况。
  • git rebase:这种合并是变基的操作,相当于将子分支的 commit 直接提交到主分支上,此时主分支上不会有合并记录和对应子分支的提交情况,看起来比较清爽。

现将子分支 dev 的代码以git rebase的方式合并到主分支 main上且不要留下合并的记录,此时相当于将子分支的所有 commit 提交到当前的主分支上。如下:
B , C为主分支上的提交,DE 为子分支的提交,现在要将子分支的两笔 commit 合并到主分支上。

 初始时状态:

对子分支 dev 进行git rebase 之后,子分支的 commit 就被合并到主分支上,此时主分支的提交记录如下图所示:

git rebase 流程
# 1. 切换到主分支 main 上,其它分支的代码将被合并到该分支上
git checkout main# 2. 变基操作,对子分支 dev 进行变基操作,相当于将其所有的 commit 都提交到主分支(当前所在的分支)上去
git rebase dev# 3. 变基操作成功后,此时主分支上的代码选哟推送到远程代码仓中
git push

【注意事项】

  1. git rebase 的分支是基于目标分支进行创建的。
  2. git rebase 可能会遇到冲突需要解决

但是如果是多个人在维护主分支main时,自己维护分支dev1,如果自己分支超前main分支,r如果想将dev1分支修改的内容合并到main分支

则最好先同步一下main分支,即将dev1变基onto main
操作:
git checkout dev1
git rebash main
git push此时dev1和main分支同基
然后将dev1修改合并到main分支
操作:
git checkout main
git merge dev1

常见的操作命令:

参考:

Git 常用基本命令使用详细大全_git命令行-CSDN博客

git常用命令总结_git_一头小驴-GitCode 开源社区 (csdn.net)

https://www.cnblogs.com/Jeffxu/p/17968795

相关文章:

git 常用操作指令

文章目录 git clonegit configgit addgit commitgit rmgit branch/checkoutgit pull/pushgit rebash/merge git clone git clone 可以将一个远程 Git 仓库拷贝到本地&#xff0c;让自己能够查看该项目&#xff0c;或者进行修改。 拷贝项目命令格式如下&#xff1a;git clone [u…...

达梦导入导出

针对导出数据库表结构通常有 3 种方法&#xff1a; 使用 DTS 导出 打开 DTS 迁移工具&#xff0c;选择【DM-->SQL】并链接到数据库中&#xff0c;如下图所示&#xff1a; 添加定义脚本&#xff0c;并选择【迁移范围】&#xff08;仅迁移对象定义&#xff09;&#xff0c;如…...

超级数据查看器 教程pdf 1-31集 百度网盘

百度网盘链接 提取码1234https://pan.baidu.com/s/1s_2lbwZ2_Su83vDElv76ag?pwd1234 通过百度网盘分享的文件&#xff1a;超级数据查看器 … 链接:https://pan.baidu.com/s/1s_2lbwZ2_Su83vDElv76ag?pwd1234 提取码:1234 复制这段内容打开「百度网盘APP 即可获取」...

一、开发环境安装 Avalonia

1、概述 官网中是这么介绍Avalonia的&#xff0c;Avalonia是一个强大的框架&#xff0c;使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件&#xff0c;确保在Windows、macOS、Linux、Android、iOS和WebAssembly等不同平台上具有一致的外观和行为。这…...

融资A轮B轮是什么意思?

环境&#xff1a; 融资 问题描述&#xff1a; 融资A轮B轮是什么意思 解决方案&#xff1a; 在A轮融资之前&#xff0c;通常有以下几轮融资阶段&#xff1a; 种子轮&#xff08;Seed Round&#xff09;&#xff1a;这是企业生命周期中最早的融资阶段&#xff0c;通常发生在…...

开发一个python工具,pdf转图片,并且截成单个图片,然后修整没用的白边

今天推荐一键款本人开发的pdf转单张图片并截取没有用的白边工具 一、开发背景&#xff1a; 业务需要将一个pdf文件展示在前端显示&#xff0c;但是基于各种原因&#xff0c;放弃了h5使用插件展示 原因有多个&#xff0c;文件资源太大加载太慢、pdf展示兼容性问题、pdf展示效果…...

手机网络卡顿,试试飞行模式

当你遇到某个网页刷新慢或者打不开&#xff0c;而通过切换飞行模式就能解决这个问题&#xff0c;可能的原因有以下几种&#xff1a; 1. 网络连接重置 切换飞行模式会导致你的手机断开当前的网络连接&#xff08;包括Wi-Fi和移动数据&#xff09;&#xff0c;然后重新建立连接…...

【退役之重学 AI】Ubuntu 安装 Anaconda

一. 下载 安装文件 https://www.anaconda.com/download/success 二. 安装 bash anaconda****.bash 一路 enter&#xff0c;yes 最后一个问你 要不要 conda init&#xff0c;这里得输入yes&#xff08;默认是no&#xff0c;所以不要直接 enter&#xff09;&#xff0c;否则你…...

flutter 命令

1.查看依赖树 flutter pub deps 2.清理Flutter缓存 flutter clean 3.清理Gradle缓存 ./gradlew cleanBuildCache 4.清理Pub缓存&#xff1a; flutter pub cache repair 5.获取依赖项&#xff1a; flutter pub get 6.更新依赖项&#xff1a; flutter pub upgrade 7.…...

商超仓库管理系统

摘要 随着全球经济和互联网技术的快速发展&#xff0c;依靠互联网技术的各种管理系统逐渐应用到社会的方方面面。各行业的有识之士都逐渐开始意识到过去传统的人工管理模式已经逐渐成为企业发展的绊脚石&#xff0c;不再适应现代企业的发展需要。企业想要得到更好的发展&#…...

校园疫情防控健康打卡系统

摘 要 自疫情出现以来&#xff0c;全世界人民的生命安全和健康都面临着严重威胁。高校是我国培养人才的重要基地&#xff0c;其安全和稳定影响着社会的发展和进步。因此&#xff0c;各高校高度重视疫情防控工作&#xff0c;并在校园疫情防控中引入了健康打卡系统。本论文主要研…...

关于阿里云效流水线自动部署项目教程

1、登录阿里云效:阿里云登录 - 欢迎登录阿里云&#xff0c;安全稳定的云计算服务平台 2、点击左侧流水线&#xff1a; 3、在流水线界面&#xff0c;新建流水线 4、我的是php代码&#xff0c;因此选择php模版 5、创建之后添加流程线源&#xff0c;如下图 6、选择相应的源头。比…...

食品快消品进销存+门店批发+零售商城整体代码输出

食品快消品行业在当今信息化和数字化浪潮中&#xff0c;建立批发零售的信息化系统已成为一种迫切的必要性。通过信息化&#xff0c;食品快消品企业能够实现从生产到销售的全面优化&#xff0c;提高供应链效率&#xff0c;降低运营成本&#xff0c;增强市场竞争力。通过有效的信…...

cocosCreator获取手机剪切板内容

最近游戏中需要加上复制粘贴的功能&#xff0c;这个时候就涉及到安卓原生层的东西。步骤如下&#xff1a; 公开文章地址&#xff0c;见个人博客 复制功能 ts代码 调用代码&#xff0c;在需要复制的地方调用即可。 public static copyToClipBoard(str) {if (sys.platform sy…...

SAP Web IDE 安装使用

For training SAP Web IDE 是基于 Eclipse 内核的在线开发 IDE&#xff0c;可以使用在线的试用版本&#xff0c;但服务器在德国&#xff0c;访问的网速特别慢。也可以使用 Personal Edition&#xff0c;在本机启动和编写代码。 打开官网下载WEBIDE工具包&#xff0c;包含 Tri…...

Excel 常用技巧(六)

Microsoft Excel 是微软为 Windows、macOS、Android 和 iOS 开发的电子表格软件&#xff0c;可以用来制作电子表格、完成许多复杂的数据运算&#xff0c;进行数据的分析和预测&#xff0c;并且具有强大的制作图表的功能。由于 Excel 具有十分友好的人机界面和强大的计算功能&am…...

微软修复Wi-Fi驱动高危漏洞 影响Windows所有版本 可通过局域网发起攻击

微软修复 WiFi 驱动程序中的高危安全漏洞&#xff0c;该漏洞影响 Windows 所有版本&#xff0c;可以通过公共 WiFi 等发起攻击。如果攻击者能够接入到目标设备所处的网络中&#xff0c;则可以悄无声息完成攻击&#xff0c;不需要用户进行任何交互。 在本月例行安全更新中微软修…...

喜马拉雅项目调整

文章目录 1 频道部分下标旋转频道列表平移 2 渐变按钮搜索放大镜登录按钮径向渐变 3 左右图片缩小左边右边 4 猜你喜欢区域播放按钮和遮罩图片缩放 1 频道部分 下标旋转 .x-header-nav .nav-item:hover .icon-down {transform: rotate(-180deg); }频道列表平移 .channel-lay…...

【C++】基础知识--inline(内联)关键字以及与宏的区别

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…...

opencv的RGB 颜色表

RGB&#xff08;255,23,140&#xff09;是光的三原色&#xff0c;也即是红绿蓝Red&#xff0c;Green&#xff0c;Blue&#xff0c;它们的最大值是255&#xff0c;相当于100%。 白色&#xff1a;rgb(255,255,255) 黑色&#xff1a;rgb(0,0,0) 红色&#xff1a;rgb(255,0,0) …...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

git: early EOF

macOS报错&#xff1a; Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...

倒装芯片凸点成型工艺

UBM&#xff08;Under Bump Metallization&#xff09;与Bump&#xff08;焊球&#xff09;形成工艺流程。我们可以将整张流程图分为三大阶段来理解&#xff1a; &#x1f527; 一、UBM&#xff08;Under Bump Metallization&#xff09;工艺流程&#xff08;黄色区域&#xff…...

海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》

近日&#xff0c;嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》&#xff0c;海云安高敏捷信创白盒&#xff08;SCAP&#xff09;成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天&#xff0c;网络安全已成为企业生存与发展的核心基石&#xff0c;为了解…...

STM32标准库-ADC数模转换器

文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”&#xff1a;输入模块&#xff08;GPIO、温度、V_REFINT&#xff09;1.4.2 信号 “调度站”&#xff1a;多路开关1.4.3 信号 “加工厂”&#xff1a;ADC 转换器&#xff08;规则组 注入…...

js 设置3秒后执行

如何在JavaScript中延迟3秒执行操作 在JavaScript中&#xff0c;要设置一个操作在指定延迟后&#xff08;例如3秒&#xff09;执行&#xff0c;可以使用 setTimeout 函数。setTimeout 是JavaScript的核心计时器方法&#xff0c;它接受两个参数&#xff1a; 要执行的函数&…...