git使用-命令行+VS Code结合使用

一、Git常用命令

// 显示当分支的状态。它会列出已修改、已暂存和未跟踪的文件
git status// 列出本地仓库中所有的分支,其中会特殊显示当前所在分支
git branch// 在当前分支的基础上创建一个新的分支,并切换到这个新的分支上
git checkout  -b 新分支名
例如:git checkout  -b master-02// 删除指定分支
git branch -d 分支名
例如:git branch -d master-02// 切换分支
git checkout 分支名
例如:git checkout master-01// 添加指定文件到暂存
git add 添加的文件
例如:git add main.go// 将所有更改的文件添加到暂存
git add.// 放弃指定文件修改【还原指定文件修改】
git restore 指定文件
例如:git restore main.go// 储藏当前分支的更改文件【不包含未跟踪的文件】
git stash -m "储藏描述"// 查看所有的存储记录
git stash list// 弹出指定分支 后面跟的idx可以通过 git stash list 查到
git stash pop idx
例如:git stash pop 0// 从远程仓库拉取最新的更改并合并到本地仓库的命令
git pull// 使用`git commit`命令提交暂存区的修改到本地仓库
git commit -m "这里面填充修改描述"// 修改提交描述,注意:这个只能本地分支修改最近一次的提交描述
git commit --amend -m "新的提交描述"// 将修改推送到远程仓库
git push// 如果远端分支不存在,需要创建分支,并将刚才的提交提上去
git push --set-upstream origin 远端分支名
例如:
git push --set-upstream origin xiaoyin-test// 指定关联远端分支
git branch --set-upstream-to=origin/<branch> yhq-alpha-01
例如:
git branch --set-upstream-to=origin/yhq-alpha-01 yhq-alpha-01// 用 git merge 把 bugFix 合并到 当前分支
git merge bugFix// 查看单条分支的Log
git log --oneline// 合并多条commit
使用 git rebase -i commitHash 的时候是合并的分支不包含这里填的commit
如果遇到了冲突,解决后使用 git rebase --continue
取消当前的 git rebase 操作 git rebase --abort
如果不需要保留之前的提交记录,就直接 git push -f 强制推到远端分支上面// 摘取指定commit到当前分支
git cherry-pick commitHash
示例:
git cherry-pick f8602c376b9b6580bff11543b3eae6ce2245f2b9

二、命令配合VS Code 日常使用

1、git status

  • git status 命令用于显示当前分支的状态。它会列出已修改、已暂存和未跟踪的文件。

  • 通常 git status 会显示以下信息:
    ** 1. 修改过的文件:显示已修改但尚未暂存的文件。
    ** 2. 暂存文件:显示已暂存但尚未提交的文件。
    ** 3. 未跟踪文件:显示尚未添加到 Git 仓库的文件。

在这里插入图片描述

2、git branch

  • git branch 是用来查看、创建、删除和重命名分支的命令。
  • 当使用 git branch 命令时,会列出所有本地分支,并在当前分支前添加一个 * 符号
  • Tip:这里仅解释作为查看分支使用

在这里插入图片描述

3、git checkout -b 新分支名

  • 这个命令用于创建一个新的分支并切换到该分支上。具体解释如下:
    ** git checkout: 表示切换分支的命令
    ** -b: 表示创建一个新分支
    ** 新分支名: 表示新分支的名称

  • 因此,执行这个命令将会创建一个名为新分支名的新分支,并切换到该分支上,且当前分支的所有文件也会随之一起到新分支。

在这里插入图片描述

4、git branch -d 分支名

删除指定的分支,其中分支名 是删除的分支

在这里插入图片描述

5、git checkout 分支名

  • git checkout 命令用于切换到指定的分支。
  • git checkout 还可以用于切换到指定的提交版本或标签。
  • Tip:这里仅用作切换分支使用

在这里插入图片描述

6、git add

  • git add 指定文件:将指定文件添加到暂存的更改
  • git add .:将所有的文件加入到暂存的更改
  • 虽然有这些指定,但是个人还是感觉可视化的界面更加的方便,直接在VSCode的界面中点击可视化的东西可以实现的,感觉这里没必要这么操作

在这里插入图片描述
在这里插入图片描述

7、git restore

  • 放弃指定文件修改【还原指定文件修改】
  • git restore 指定文件
  • 例如:git restore main.go

在这里插入图片描述

8、git stash

  • 关于这类命令可以理解为将当前分支未提交的东西进行备份,在需要的时候拿出来
  • 储藏当前分支的更改文件【不包含未跟踪的文件】
    git stash -m “储藏描述”
  • 储藏当前分支的更改文件【包含未跟踪的文件】
    git stash -u -m “储藏描述”
  • 查看所有的存储记录
    git stash list
  • 弹出指定分支 后面跟的idx可以通过 git stash list 查到
    git stash pop idx
    例如:git stash pop 0

在这里插入图片描述

除了上面的命令操作,本人也习惯结合 VS Code 一起使用,下面就是操作流程
在这里插入图片描述
例如我这里演示一个弹出储藏【鼠标点击要弹出的即可弹出指定储藏】
在这里插入图片描述

9、git pull

这个命令一般是多人开发或者多台机器上用到了同一仓库的代码的时候才会用到,自己一个人的时候一般是用不到的
在使用这个命令的时候建议先将自己的本地的修改储藏起来,然后在拉取远端的
当远端的数据拉取完了,再将刚才自己储藏的内容弹出,看看是否有冲突,如果有冲突就给解决一下

总结:
储藏本地分支修改(git stash …) --> 拉取远端修改(git pull) --> 弹出储藏(git stash pop …)
上面操作结束后,如果有冲突会提示,如果没有就pull结束啦

10、git commit 和 git push

  • 使用git commit命令提交暂存区的修改到本地仓库
    git commit -m “这里面填充修改描述”

  • 修改提交描述,注意:这个只能本地分支修改最近一次的提交描述
    git commit --amend -m “新的提交描述”

  • 将修改推送到远程仓库【如果分支不存在会创建分支】
    git push

  • 如果远端分支不存在,需要创建分支,并将刚才的提交提上去
    git push --set-upstream origin 远端分支名
    例如:
    git push --set-upstream origin xiaoyin-test

  • 指定关联远端分支
    git branch --set-upstream-to=origin/ yhq-alpha-01
    例如:
    git branch --set-upstream-to=origin/yhq-alpha-01 yhq-alpha-01

在这里插入图片描述
在这里插入图片描述

11、git rebase

  • 主要用于合并多条Commit,让提交的commit更方便查阅

  • 使用 git rebase -i commitHash 的时候是合并的分支不包含这里填的commit
    如果遇到了冲突,解决后使用 git rebase --continue
    取消当前的 git rebase 操作 git rebase --abort
    如果不需要保留之前的提交记录,就直接 git push -f 强制推到远端分支上面

首先看一下我提交了2个测试的commit
在这里插入图片描述
然后我这边准备将待合并1和2进行合并成为一条commit
执行 git rebase -i 17121a3f2ea49b2d7774a0e6b63cbb424712a811
然后回弹出来需要操作的commit,进行编辑
在这里插入图片描述
上面是我修改前后的变化,下面有改动commit前面属性的说明,可以参考
我上面改成s的意思就是将 合并2 与 合并1 这2条commit进行合并,修改完后,保存并退出
进接着回弹出来合并后的描述需要怎么修改,我是直接将之前的描述都注释掉了,然后新增了描述,这个根据自己的需求来
在这里插入图片描述
修改完成后同样的保存并退出
如果我们合并的commit有冲突这里会提示我们需要解决冲突,解决冲突和代码合并分支解决冲突的方式基本一致,我这里故意弄的没有冲突的commit,所以我这里就先忽略了
要是没有冲突就会直接显示下面的
在这里插入图片描述

此时发现我们本地的提交里面是回退了之前的2次commit,以及我们合并后的commit,如果还像保留之前的两次commit,就可以先将远端的代码拉下来同步,然后在将我们本地的commit推送到远端,这样也不用强推了,如果是像我这样,不保留前面的2次commit,我们就直接将本地的强推到远端即可
在这里插入图片描述

12、git cherry-pick

  • git cherry-pick命令用于将指定的提交复制到当前分支上。
  • 它会创建一个新的提交,包含了指定提交的更改内容。
  • 通过cherry-pick命令,可以选择性地将某个提交应用到当前分支上,而不必将整个分支合并过来

在这里插入图片描述


一点点笔记,以便以后翻阅。

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

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

相关文章

问题:向上对齐对象的快捷键是: #学习方法#笔记

问题&#xff1a;向上对齐对象的快捷键是: A、T B、L C、R D、W 参考答案如图所示

做一只勤劳的小蜜蜂

机缘 成为创作者的初心&#xff0c;对我而言&#xff0c;是一个融合了个人兴趣、职业成长以及对知识传播热爱的复杂而纯粹的情感交织。回顾这段旅程的起点&#xff0c;几个核心驱动力始终引领着我前行&#xff1a; 1、记录与反思&#xff1a;在职业生涯的早期&#xff0c;我遇…

WordPress与 wp-cron.php

WordPress 傲居全球最流行的内容管理系统&#xff08;CMS&#xff09;之位&#xff0c;占据了互联网约43%的网站后台&#xff0c;这主要得益于其直观易用的用户界面以及丰富的扩展功能&#xff0c;特别是为新手用户提供了极大的便利。 然而&#xff0c;在畅享WordPress带来的便…

Leetcode 1302.层数最深子叶结点的和

大家好&#xff0c;今天我给大家分享一下我关于这个题的想法&#xff0c;我这个题过程比较复杂&#xff0c;但大家如果觉得好的话&#xff0c;就请给个免费的赞吧&#xff0c;谢谢了^ _ ^ 1.题目要求: 给你一棵二叉树的根节点 root &#xff0c;请你返回 层数最深的叶子节点的…

Go语言并发编程-Context上下文

Context上下文 Context概述 Go 1.7 标准库引入 context&#xff0c;译作“上下文”&#xff0c;准确说它是 goroutine 的上下文&#xff0c;包含 goroutine 的运行状态、环境、现场等信息。 context 主要用来在 goroutine 之间传递上下文信息&#xff0c;包括&#xff1a;取…

准备跳槽了(仍然底层为主,ue独立游戏为辅)

思考再三&#xff0c;准备跳槽了。 一、跳槽原因&#xff1a; 今年经济形势非常不好。那我为什么还要跳槽呢&#xff1f;因为干不下去了。公司是末位淘汰制&#xff0c;而我绩效垫底了。给我的整改措施中&#xff0c;部门经理让我三个月搞定60个bug&#xff0c;我觉得简直是送…

python爬虫实现简单的代理ip池

python爬虫实现简单的代理ip池 我们在普通的爬虫过程中经常遇到一些网站对ip进行封锁的 下面演示一下普通的爬虫程序 使用requests.get爬取数据 这段代码是爬取豆瓣排行榜的数据&#xff0c;使用f12来查看请求的url和数据格式 代码 def requestData():# 爬取数据的urlur…

数学基础【俗说矩阵】:矩阵相乘

矩阵乘法 矩阵乘法推导过程 一、两个线性方程复合代入 二、X1和X2合并同类项 三、复合后方程组结果 四、线性方程组矩阵表示 五、线性方程组矩阵映射表示 复合映射表示 六、矩阵乘法导出 矩阵乘法法则 1、规则一推导过程 左取行&#xff0c;右取列&#xff0c;对应相乘后…

java中double类型1+1.82保留的很多小数如何处理

问题描述&#xff1a; Java处理Double类型数据相加时&#xff0c;出现11.822.8200000000000003并存入数据库的情况 问题原因&#xff1a; 在计算机中&#xff0c;浮点数&#xff08;如1.82&#xff09;通常用二进制形式表示&#xff0c;而这种表示方式可能会导致精度丢失&…

【中项】系统集成项目管理工程师-第2章 信息技术发展-2.1信息技术及其发展-2.1.4信息安全

前言&#xff1a;系统集成项目管理工程师专业&#xff0c;现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试&#xff0c;全称为“全国计算机与软件专业技术资格&#xff08;水平&#xff09;考试”&…

iOS 左滑返回事件的控制

0x00 视图结构 1-根视图 1.1-控制器A 1.1.1-控制器B 1.1.1.1-控制器C 0x01 控制 通过设置 self.navigationController.interactivePopGestureRecognizer.enabled 为 YES 或 NO 来控制当面界面&#xff0c;是否能左滑返回 在 控制器B 的生命周期方法内&#xff0c;设置属性 s…

「Vue组件化」封装i18n国际化

前言 在Vue应用中实现国际化(i18n),通常需要使用一些专门的库,比如vue-i18n。本文主要介绍自定义封装i18n,支持Vue、uniapp等版本。 设计思路 一、预期效果 二、核心代码 2.1 i18n.xlsx文件准备 2.2 脚本执行 根目录main.js根目录locali18n.xlsxnode main.jsmain.js 文件…

机器学习数据集的一致性表现在哪些方面-九五小庞

数据集的一致性是机器学习和数据分析领域中一个重要的概念&#xff0c;它主要体现在以下几个方面&#xff1a; 特征分布一致性 单变量分布&#xff1a;训练集和测试集中各个特征的分布情况应相似。例如&#xff0c;如果某一个数值特征在训练集中是正态分布&#xff0c;那么在…

【ARM】MDK-解决CMSIS_DAP.DLL missing报错

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 记录解决CMSIS_DAP.DLL missing的报错情况&#xff0c;对应相关报错信息&#xff0c;供后续客户参考&#xff0c;快速解决客户问题。 2、 问题场景 客户进行硬件调试时&#xff0c;发现Target设置内有CMSIS_DAP.DL…

全时守护,无死角监测:重点海域渔港视频AI智能监管方案

一、方案背景 随着海洋经济的快速发展和海洋资源的日益紧缺&#xff0c;对重点海域渔港进行有效监控和管理显得尤为重要。视频监控作为一种高效、实时的管理手段&#xff0c;已成为渔港管理中不可或缺的一部分。当前&#xff0c;我国海域面积广阔&#xff0c;渔港众多&#xf…

uni-app学习HBuilderX学习-微信开发者工具配置

HBuilderX官网&#xff1a;简介 - HBuilderX 文档 (dcloud.net.cn)https://hx.dcloud.net.cn/ uni-app官网&#xff1a; uni-app官网 (dcloud.net.cn)https://uniapp.dcloud.net.cn/quickstart-hx.htmlHBuilder下载安装&#xff1a;打开官网 uni-app项目的微信开发者工具配置…

力扣LCR184.设计自助结算系统

力扣LCR184.设计自助结算系统 一个队列存所有value 一个数组模拟单调队列存区间最大值 const int N 100010;int a[N];class Checkout {queue<int> q;int hh0,tt-1;public:Checkout() {}int get_max() {if(hh > tt) return -1;return a[hh];}void add(int value) {…

在实际应用中,systemverilog相比vefilog2000有哪些重大的提升

SystemVerilog 相较于 Verilog-2000 有多项重大提升&#xff0c;这些提升使得 SystemVerilog 成为更强大的硬件描述和验证语言。以下是一些关键的改进&#xff1a; 数据类型扩展&#xff1a; SystemVerilog 引入了 logic 数据类型&#xff0c;可以替代 Verilog-2000 中的 wire …

41 QOS技术(服务质量)

1 QOS 产生背景 对于网络业务&#xff0c;影响服务质量的因素包括传输的带宽、传送的时延、数据的丢包率等。网络资源总是有限的&#xff0c;只要存在抢夺网络资源的情况&#xff0c;就会出现服务质量的要求网络总带宽固定的情况下&#xff0c;如果某类业务占用的带宽越多&am…

皮尔逊相关系数

皮尔逊相关系数 一、统计学知识 期望值&#xff1a; E ( X ) E(X) E(X)表示随机变量 X \textit X X的期望值。 E ( X ) X ‾ 1 n ∑ i 1 n X i \mathrm{E(X) \overline{X} \frac{1}{n} \sum_{i1}^{n} X_i} E(X)Xn1​i1∑n​Xi​ 方差&#xff1a;衡量一组数据的离散程度…