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 强制推到远端分支上面

二、命令配合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,我们就直接将本地的强推到远端即可
在这里插入图片描述


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

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

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

相关文章

Python创建Excel表和读取Excel表的基础操作

下载openpyxl第三方库 winr打开命令行输入cmd 这个如果不行可以试试其他方法&#xff0c;在运行Python代码的软件里也有直接下载的地方&#xff0c;可以上网搜索 创建Excel表 示例代码&#xff1a;最后要记得保存&#xff0c;可以加一句提示语句。 import openpyxl lst[100,…

文件IO(Ubuntu)

文件IO 目的 将数据写入文件中 与标准IO的区别 &#xff08;为什么要学习文件IO&#xff09; 标准IO只能操作普通文件和特殊的管道文件 文件IO能操作几乎所有的的文件 缓存区的目的 标准IO有缓存区 文件IO没有缓存区 根据右图描述 标准IO 文件IO buffer缓存区 有缓存区…

【SASS/SCSS(三)】样式的复用与动态计算(@mixin和@function)

目录 一、mixin 1、定义复用的样式代码&#xff0c;接受传参&#xff0c;搭配include使用。 位置传参 关键词传参 ...语法糖接受传入的任意参数 2、在mixin中使用content&#xff0c;获取外部对mixin的追加内容 二、function 三、字符串——值得注意的点 很多时候&#…

水域救援装备的详细简介_鼎跃安全

水域救援行动需要救援人员配备全面、专业的装备&#xff0c;以应对各种复杂的水域环境和救援任务。水域救援套装应运而生&#xff0c;它集合了水域救援所需的各类关键装备&#xff0c;为救援人员提供全方位的保护和辅助&#xff0c;确保数援行动的高效与安全。 水域救援头盔&am…

Visual Studio 2022美化

说明&#xff1a; VS版本&#xff1a;Visual Studio Community 2022 背景美化 【扩展】【管理扩展】搜索“ClaudiaIDE”&#xff0c;【下载】&#xff0c;安装完扩展要重启VS 在wallhaven下载壁纸图片作为文本编辑器区域背景图片 【工具】【选项】搜索ClaudiaIDE&#xff…

Dify中的高质量索引模式实现过程

思考在什么情况下会使用到高质量索引模式呢?第1种情况是在知识库中上传文档,文档被拆分为段落后需要进行编码(增加);第2种情况是在召回测试的时候,需要对query进行编码(查询);第3种情况是当文档中的段落增加和更新时需要进行编码(增加和更新)。索引模式是针对知识库…

【Qt】之【Bug】error:C1083 无法打开包括文件

背景 a.cpp引用b.h正常&#xff0c;但是a.h引用b.h就报 “无法打开包括文件”的错误 分析 查看“编译输出”&#xff0c;显示不是a.h引起的错误&#xff0c;而是C插件&#xff0c; 查看后发现&#xff0c;C插件引用了a所在插件pro&#xff0c;但是没有引用a依赖的b所在的插件…

vscode 中python 支持自动跳转

随笔记录 目录 1. 背景介绍 2. 解决方案 1. 背景介绍 vscode 远程ssh 打开python 脚本无法自动跳转 2. 解决方案 安装python 插件即可。 至此&#xff0c;已完成vscode 上py 文件支持自动跳转功能

Mac Electron 应用如何进行签名(signature)和公证(notarization)?

最近很多客户反映&#xff0c;从官网下载的Mac Electron应用打不开&#xff0c;直接报病毒&#xff0c;类似于这种&#xff1a; 这是因为在MacOS 10.14.5之后&#xff0c;如果应用没有在苹果官方平台进行公证notarization(我们可以理解为安装包需要审核&#xff0c;来判断是否存…

网络安全-等级保护制度介绍

一、等保发展历程 &#xff08;1&#xff09;1994国务院147号令 第一次提出等级保护概念&#xff0c;要求对信息系统分等级进行保护 &#xff08;2&#xff09;1999年GB17859 国家强制标准发布&#xff0c;信息系统等级保护必须遵循的法规 &#xff08;3&#xff09;2005年公安…

[C++初阶]deque的讲解

1.deque介绍 Deque是双端队列的不规则缩写。双端队列是具有动态大小的序列容器&#xff0c;可以在两端扩展或收缩。特定的库可能以不同的方式实现deque&#xff0c;通常是某种形式的动态数组。在任何情况下&#xff0c;它们都允许通过随机访问迭代器直接访问单个元素&#xf…

python—正则表达式

文章目录 导入re模块常用的元字符re模块match方法分组贪婪匹配编译 Python中的正则表达式是一种强大的文本处理工具&#xff0c;它使用一种特殊的语法来描述字符串的模式。Python通过re模块提供了对正则表达式的支持。使用正则表达式&#xff0c;你可以进行复杂的文本搜索、替换…

electron项目中实现视频下载保存到本地

第一种方式&#xff1a;用户自定义选择下载地址位置 渲染进程 // 渲染进程// 引入 import { ipcRenderer } from "electron";// 列表行数据下载视频操作&#xff0c;diffVideoUrl 是视频请求地址 handleDownloadClick(row) {if (!row.diffVideoUrl) {this.$message…

探索Puppeteer的强大功能:抓取隐藏内容

背景/引言 在现代网页设计中&#xff0c;动态内容和隐藏元素的使用越来越普遍&#xff0c;这些内容往往只有在特定的用户交互或条件下才会显示出来。为了有效地获取这些隐藏内容&#xff0c;传统的静态爬虫技术往往力不从心。Puppeteer&#xff0c;作为一个强大的无头浏览器工…

AGI 之 【Hugging Face】 的【零样本和少样本学习】之三 [无标注数据] 的简单整理

AGI 之 【Hugging Face】 的【零样本和少样本学习】之三 [无标注数据] 的简单整理 目录 AGI 之 【Hugging Face】 的【零样本和少样本学习】之三 [无标注数据] 的简单整理 一、简单介绍 二、零样本学习 (Zero-shot Learning) 和少样本学习 (Few-shot Learning) 1、零样本学…

分布式搜索引擎ES-Elasticsearch进阶

1.head与postman基于索引的操作 引入概念&#xff1a; 集群健康&#xff1a; green 所有的主分片和副本分片都正常运行。你的集群是100%可用 yellow 所有的主分片都正常运行&#xff0c;但不是所有的副本分片都正常运行。 red 有主分片没能正常运行。 查询es集群健康状态&…

UI设计中的响应式布局策略:让您的界面在各种设备上都表现出色

UI界面设计它是人与机器之间交互的媒介&#xff0c;也是客户体验的媒介&#xff08;UX&#xff09;一个组成部分。操作界面由两个主要部分组成&#xff1a;视觉设计&#xff08;即传达产品的外观和感觉&#xff09;和交互设计&#xff08;即元素功能和逻辑组织&#xff09;。用…

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

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

【ESP32S3cam 网页显示距离和经纬度教程】

1. ESP32S3 web 端功能需求: 本项目是一个基于ESP32-S3 Cam模块的多功能显示系统,旨在通过集成视频显示、超声波测距和GPS数据展示,以及LED控制功能,为用户提供一个直观、互动的智能监控和信息反馈平台。 视频显示部分,ESP32-S3 Cam模块将捕捉实时视频流,并通过内置的显…

反爬虫策略中的IP地址轮换如何实现?挑战与对策

当今互联网时代&#xff0c;各类网站、网络平台背后隐藏着大量数据&#xff0c;广告数据收集、市场数据收集都需要依托爬虫技术&#xff0c;但很多网站通过反爬虫技术限制或屏蔽爬虫的访问&#xff0c;这给数据收集带来不小的挑战。 为了规避这些反爬虫策略&#xff0c;开发人…