当前位置: 首页 > 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) …...

__autoload 函数和sql_autoload_register函数

目录 __autoload定义 __autoload使用 sql_autoload_registe定义 sql_autoload_registe使用 __autoload定义 __autoload 函数在 PHP 5.1.0 版本中引入&#xff0c;用于在尝试使用尚未被定义的类时自动加载该类。 当 PHP 解释器遇到一个未定义的类时&#xff0c;如果存在 __…...

Python 中国象棋游戏【含Python源码 MX_011期】

简介&#xff1a; 中国象棋是一种古老而深受喜爱的策略棋类游戏&#xff0c;也被称为中国的国粹之一。它在中国有着悠久的历史&#xff0c;起源可以追溯到几个世纪以前。Python 中国象棋游戏是一个用Python编程语言编写的软件程序&#xff0c;旨在模拟和提供中国象棋的游戏体验…...

wps要会员才能把pdf分开,这不纯属智商税吗

我有一个文档 然后 我给你们写好了一个代码 from PyPDF2 import PdfReader, PdfWriterdef split_pdf(file_path, ranges, output_names):# Open the input PDF filewith open(file_path, rb) as pdf_file:reader PdfReader(pdf_file)total_pages len(reader.pages)if len(r…...

springBoot+mongoDB项目中,使用MongoFactory、MongoTemplate分页条件查询,增删查改

MongoDB:CRUD 添加删除修改条件查询分页条件查询 只展示实现类代码 添加 Autowiredprivate MongoTemplate mongoTemplate;Autowiredprivate MongoFactory mongoFactory;Overridepublic boolean saveEntity(entityForm form) {try {实体类 en new 实体类();en.setName(form.ge…...

Leetcode236 二叉树两节点的最近公共祖先

问题描述&#xff1a; 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff08;一个…...

Web的UI自动化基础知识

目录 1 Web自动化入门基础1.1 自动化知识以及工具1.2 主流web自动化测试工具1.3 入门案例 2 使用工具的API2.1 元素定位2.1.1 id选择器2.1.2 name2.1.3 class_name选择器2.1.4 tag_name选择器2.1.5 link_text选择器2.1.6 partial_link_text选择器2.1.7 xpath选择器2.1.8 CSS选择…...

【我是产品经理_注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞 …...

Java智慧工地源码 5G智慧工地系统源码 使用SAAS部署 三维可视化管理,与一线生产过程相融合,集成数据后台,统一前端入口,呈现多方项目信息;

Java智慧工地源码 5G智慧工地系统源码 使用SAAS部署 三维可视化管理&#xff0c;与一线生产过程相融合&#xff0c;集成数据后台&#xff0c;统一前端入口&#xff0c;呈现多方项目信息; 智慧工地是指运用信息化手段&#xff0c;通过三维设计平台对工程项目进行精确设计和施工…...

lock_wait_timeout

lock_wait_timeout 是 MySQL 中的一个重要参数&#xff0c;它用于控制当一个 MySQL 会话在等待锁时的等待时间。以下是关于 lock_wait_timeout 的详细解释&#xff1a; 定义与功能 定义&#xff1a;lock_wait_timeout 是一个会话或线程级别的参数&#xff0c;用于指定 MySQL …...

【可控图像生成系列论文(二)】MimicBrush 港大、阿里、蚂蚁集团合作论文解读2

【可控图像生成系列论文&#xff08;一&#xff09;】简要介绍了论文的整体流程和方法&#xff0c;本文则将就整体方法、模型结构、训练数据和纹理迁移进行详细介绍。 1.整体方法 MimicBrush 的整体框架如下图所示。为了实现模仿编辑&#xff0c;作者设计了一种具有双扩散模型…...

中国平面设计在线/seo推广主要做什么的

日本专家分享防老秘诀 现代人生活、工作压力大&#xff0c;很多人都担心自己"老得快"&#xff0c;如何抗老化&#xff0c;已成为全球共同关心的话题。日本专家昨来台分享最新观念时指出&#xff0c;当面临压力&#xff0c;身体会产生过剩的氧自由基&#xff0c;进而损…...

做网站建设公司哪家好/网站的seo

~~删除线格式~ 最近项目里&#xff0c;application.properties放在根目录下&#xff0c;这导致单元测试读取不到这个配置文件&#xff0c;经过一番折腾&#xff0c;终于找到解决方法 RunWith(SpringJUnit4ClassRunner.class) SpringBootTest TestPropertySource(“file:…/conf…...

超级链接网站模板/识别关键词软件

Java面向对象-static静态方法与普通方法java里方法分为 static静态方法和普通方法所谓静态方法 是加了static修饰词的方法&#xff0c;我们使用的时候 一般用类名.方法 方式调用&#xff1b;当然也可以用对象.方法 调用&#xff1b; 一般java里的工具类里的工具方法 用static修…...

律师事务所网站建设方案/网站优化排名哪家好

本周的第二次课讲的是脚本编写初步&#xff0c;要想编写好脚本&#xff0c;按照老师的意思那就必须得对于之前学过的基本命令烂熟于心&#xff0c;所有还必须得把之前的博客补上&#xff0c;才会对于脚本编写打下良好的基础&#xff0c;那今天我们就来说说一说何为脚本。在介绍…...

做网站的软件叫什么软件/如何做google推广

特别说明&#xff1a;scss函数名中的中划线和下划线是等同的&#xff0c;font-size和font_size指向同一个函数。 1.变量 2.选择器嵌套 3.属性嵌套 规则如下: &#xff08;1&#xff09;.把属性名从中划线-的地方断开。 &#xff08;2&#xff09;.在根属性后边添加一个冒号:紧…...

襄阳教育云平台网站建设/佛山百度关键词seo外包

第一次触摸基本可以正常弹出输入框&#xff0c;然而第二次往后&#xff0c;就非常不好使。 这是ios升级11.3以后fastclick的问题&#xff0c;解决方案&#xff1a; 当前fastclick版本&#xff1a;1.0.6 找到fastclick.js源码&#xff0c;300多行&#xff0c;加入如下一行代码&a…...