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

news2024/12/27 10:30:39

一、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.coloradmin.cn/o/1940477.html

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

相关文章

超声波清洗机洗眼镜好吗?一篇文章告诉你买超声波清洗机有必要吗

眼镜党们&#xff0c;你们是不是也有眼镜清洁的烦恼&#xff1f;日常生活中&#xff0c;我们佩戴的眼镜很容易就会沾上脏污&#xff0c;而经常擦拭又会损伤眼镜镜片&#xff0c;而且&#xff0c;长时间未清洁的尘埃、油脂乃至细菌&#xff0c;会影响我们的视觉健康&#xff0c;…

被问到MQ消息已丢失,该如何处理?

在分布式系统中&#xff0c;消息中间件&#xff08;如 RabbitMQ、RocketMQ、Kafka、Pulsar 等&#xff09;扮演着关键角色&#xff0c;用于解耦生产者和消费者&#xff0c;并确保数据传输的可靠性和顺序性。尽管我们通常会采取多种措施来防止消息丢失&#xff0c;如消息持久化、…

【C语言】动态内存管理(上)

文章目录 前言1.为什么要存在动态内存2. malloc和free2.1 malloc2.2 free2.3 使用实例&#xff08;malloc和free&#xff09; 3. calloc3.1 calloc例子 前言 本文开始将开始学习C语言中一个比较重要的知识点或者是操作——动态内存管理。由于本次的知识比较重要&#xff0c;为…

git 提交的进阶操作

cherry-pick cherry-pick 是 Git 中的一种操作,允许你从一个分支中选择特定的 commit,并将其应用到另一个分支。它的主要用途是将特定的更改引入到其他分支,而无需合并整个分支历史。这在修复 bug 或者移植某些功能时特别有用。 cherry-pick 的使用场景 Bug 修复: 例如,你…

WhisperX

文章目录 一、关于 WhisperX新闻 &#x1f6a8; 二、设置⚙️1、创建Python3.10环境2、安装PyTorch&#xff0c;例如Linux和Windows CUDA11.8&#xff1a;3、安装此repo4、Speaker Diarization 三、使用&#x1f4ac;&#xff08;命令行&#xff09;1、English2、他语言例如德语…

厦门会展可视化:展览全方位动态展示

通过图扑先进的可视化技术&#xff0c;实时呈现厦门会展中心的各类活动和展览布局&#xff0c;提供直观的导航和详细的展区信息&#xff0c;让参观者轻松完成数字化体验。

ELK日志管理与应用

目录 一.ELK收集nginx日志 二.收集tomcat日志 三.Filebeat 一.ELK收集nginx日志 1.搭建好ELKlogstashkibana架构 2.关闭防火墙和selinux systemctl stop firewalld setenforce 0 3.安装nginx [rootlocalhost ~]# yum install epel-release.noarch -y [rootlocalhost …

谷粒商城实战笔记-37-前端基础-Vue-基本语法插件安装

文章目录 一&#xff0c;v-model1&#xff0c;双向绑定2&#xff0c;vue的双向绑定2.1 html元素上使用指令v-model2.2 model中声明对应属性2.3&#xff0c;验证view绑定modelmodel绑定view 完整代码 二&#xff0c;v-on1&#xff0c;指令简介2&#xff0c;在button按钮中添加v-…

【机器学习】超参数选择:解锁机器学习模型潜力的关键

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 超参数选择&#xff1a;解锁机器学习模型潜力的关键引言什么是超参数&#xff1…

【云原生】Kubernetes中的DaemonSet介绍、原理、用法及实战应用案例分析

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

谷歌账号忘记密码怎么办?这样找回——但是90%都是找不回的。关于密码有三个建议

Google账号忘记密码怎么办&#xff1f;谷歌账号的密码不记得了怎么办&#xff1f;如何找回谷歌账号的密码&#xff1f;谷歌账号记得账号名、辅助邮箱&#xff0c;但是密码不记得了还有办法吗... 在GG账号服务给朋友们提供服务的过程中&#xff0c;时不时会遇到这样的问题&…

Linux/Windows 系统分区

1. Windows 系统 1.1 系统分区 系统分区也叫做磁盘分区&#xff0c;即分盘&#xff1b; 举个例子&#xff0c;好比家里有一个大柜子&#xff0c;把衣服&#xff0c;鞋子&#xff0c;袜子都放在里面&#xff0c;由于没有隔断&#xff0c;找的时候非常麻烦&#xff0c;找是能找…

LCD、LED与OLED的区别

在现代显示技术中&#xff0c;LCD、LED和OLED是三种常见的显示技术&#xff0c;广泛应用于笔记本电脑、手机、电视等设备。每种技术都有其独特的优势和局限性&#xff0c;了解它们之间的差异对于选择合适的显示设备至关重要。本文将详细探讨这三种显示技术的特点及其在笔记本上…

2024大数据职业技能竞赛(国赛)模块E,子任务九:用散点图展示省份平均消费额

2024大数据职业技能竞赛&#xff08;国赛&#xff09;模块E数据展现题解 编写Vue工程代码&#xff0c;根据接口&#xff0c;用基础散点图展示2020年最高10个省份平均消费额&#xff08;四舍五入保留两位小数&#xff09;&#xff0c;同时将用于图表展示的数据结构在浏览器的co…

rk3568 OpenHarmony4.1 Launcher定制开发—桌面壁纸替换

Launcher 作为系统人机交互的首要入口&#xff0c;提供应用图标的显示、点击启动、卸载应用&#xff0c;并提供桌面布局设置以及最近任务管理等功能。本文将介绍如何使用Deveco Studio进行单独launcher定制开发、然后编译并下载到开发板&#xff0c;以通过Launcher修改桌面背景…

《无线互联科技》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问&#xff1a;《无线互联科技》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的正规学术期刊。 问&#xff1a;《无线互联科技》级别&#xff1f; 答&#xff1a;国家级。主管单位&#xff1a;江苏省科学技术厅 主办单位&#xff1a…

生成式 AI 的发展方向,是 Chat 也是 Agent,双向奔赴

随着生成式AI技术的不断进步&#xff0c;关于其未来发展方向的讨论也愈发激烈。究竟生成式AI的未来是在对话系统&#xff08;Chat&#xff09;中展现智慧&#xff0c;还是在自主代理&#xff08;Agent&#xff09;中体现能力&#xff1f; 一、整体介绍 生成式AI在对话系统&…

【学习笔记】无人机系统(UAS)的连接、识别和跟踪(七)-广播远程识别码(Broadcast Remote ID)

目录 引言 5.5 广播远程识别码&#xff08;Broadcast Remote ID&#xff09; 5.5.1 使用PC5的广播远程识别码 5.5.2 使用MBS的广播远程识别码 引言 3GPP TS 23.256 技术规范&#xff0c;主要定义了3GPP系统对无人机&#xff08;UAV&#xff09;的连接性、身份识别、跟踪及…

PyTorch深度学习实战——使用深度Q学习进行Pong游戏

PyTorch深度学习实战——使用深度Q学习进行Pong游戏 0. 前言1. 结合固定目标网络的深度 Q 学习模型1.1 模型输入1.2 模型策略 2. 实现深度 Q 学习进行 Pong 游戏相关链接 0. 前言 我们已经学习了如何利用深度 Q 学习来进行 Gym 中的 CartPole 游戏。在本节中&#xff0c;我们将…