在实际工作开发中非常实用的几个 git 命令(一)

简介: 在实际工作开发中非常实用的几个 git 命令

image.png

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天,点击

前言:git 在实际开发过程中的重要性对在座的各位来说想必不用我过多赘述,但是对于 git 中千千万万复杂的命令来讲,在实际开发过程中只有小部分是最经常使用的,今天国庆节第一天,由于疫情原因没回家。闲着没事就给大家总结一下在实际工作中我个人最最最最经常使用的命令,并且我会结合我日常工作流程来讲解。

tips:就不过多介绍 git add-commit-push 这三个命令了

一. git stash + git apply/或(pop)


背景:我需要拿着我修改的代码去和后端对接

已知:

  1. 我们目前不在同一个分支
  2. 我们都是从同一个 master 切出去的一个分支,然后各自进行后端代码的开发和前端代码的开发。
  3. 此时 leader 过来找我,说:“小韩啊,你现在需要去测试xxx的接口看看数据返回有没有问题。”
  4. 假如我现在的代码还未提交过一次(也就是从来没有执行 commit -m 这条命令)

这种情况非常好处理,假如后端的分支名称是 “feat/test-git” 并且已经推上去远程仓库了

  1. 这是你修改的文件(实际情况很可能是修改了了多个文件,我这里举例子只修改了一个) ,

image.png

执行 git stash -m "备注信息" 命令,将这些修改的文件保存到贮藏区。这个命令会把你修改的代码放到一个独立区域。通过 git stash list 命令可以查看你已保存的个数。

image.jpeg

紧接着要想办法去后端的那个分支上了,(这里他必须把他的那个分支推送到远程仓库才可以进行后面的操作)执行 git fetch +[分支名],拉取远程分支到本地。

image.png

然后执行 git checkout +[分支名] 切换到后端的分支

image.png

下一步执行 git stash apply或者git stash pop命令。(该命令的大致功能就是可以把你在贮藏区的代码给应用到当前分支)两者的主要区别在于是否会删除掉贮藏区的这份修改。apply 是不会删除,还会保留贮藏区的记录,而stash pop 是会删除掉贮藏区的这个记录。 我个人推荐apply,因为给了你反悔的机会。并且假如你想测试的分支不是这个后端的,而是另外一个人的分支,那么你同样可以携带着你这份代码过去,然后 apply

  1. 此时后端的代码就和你的代码合并到一起了,就可以放心的测试啦~

二. git reset


紧接着的这个命令是我开发中用到次数非常的多的,并且是关键时候可以救命滴~

背景: 假设我现在完成了自己分支的开发,现在有一个 commit 已经提交到了远程仓库(也就是执行过 push 命令了)

image.png

看一眼远程仓库,嗯,这个 commit 已经被推过去了。

image.png

but,此时你突然发现了这个 commit 的其中某个文件有一个巨大的错误,需要撤销掉这个 commit 重新提交一个 pr

这时候你可能就需要用到 git reset 命令。其实从名字就可以看出来这个命令是要干什么的。

image.png

这时候我们执行 git reset --soft HEAD~1

image.png

执行完以后,你会发现暂存区突然出现了刚刚我们提交的那个 commit 的修改文件。

image.png

这里有个 git 基础知识的关键点需要去理解清楚。我们首先会发现在 Vscode 里会出现一个细小的变化。

image.png

是提醒我们落后了远程仓库一个修改。

我们再去看一下 gitHub仓库 ,好奇怪,为什么这个 commit 还在呢?

image.png

再执行一下 git log 看看,发现 gitlog 的内容,刚刚我们提交的那个 commit 确实已经消失了,HEAD 指向的 commit 也是上一条。

image.png

这里我们需要特别明白,基本上除了 git pull 这个命令,我们操作的都是本地仓库,你是无法直接影响到远程仓库的。你现在只是本地仓库撤销了这个 commit,但是远程仓库还没有更新。所以你接下来需要执行 git push -f 这个命令,推送这次撤销的动作,来更新远程仓库。告诉远程仓库你刚刚的那个  commit 我不要了。(慎用push -f,使用的前提是你很清楚这个命令会造成什么后果)

image.png

这时候我们再去 gitHub 看一下,就会发现。10月2号提交的那个 commit 没有了,最新提交记录的也是昨天的。最重要的是我们的代码也都回来了。

image.png

  1. 接下来你就继续修改你的代码,然后重新提交 pr 即可。

三. git commit --amend


背景:提交的 commit 备注信息有错别字这么办? 别急,git commit --amend 就是解决这个问题滴~

image.png

写错字,并且还推上去了。

image.png

image.png

执行 git commit --amend会默认修改第一个 commit 记录。

image.png

执行完后会跳转到这个页面,这个页面主要是 vim编辑器 打开的样子,不了解 vim 的同学需要自行查阅相关操作。在这里我简单介绍一下在当前页面我们需要用到的命令。

image.png

其实你会发现我们的 commit 消息就是第一行文字

image.png

这时候按下 i,没错,就是这个键盘上普普通通的 i 键位。(单词意思:insert:插入 的缩写)然后输入你修改的内容即可

image.png

image.png



相关文章
|
15天前
|
缓存 数据可视化 网络安全
Git命令大全
Git命令大全
46 1
|
18天前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
37 0
Git教程:深入了解删除分支的命令
|
1月前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux git命令使用教程
【Shell 命令集合 文件管理】Linux git命令使用教程
34 0
|
1月前
|
开发工具 git
git常用命令整理
git常用命令整理
13 0
|
24天前
|
开发工具 git 开发者
Git常用命令大全:让你轻松驾驭版本控制
Git命令速查:`git init`新建仓库,`git clone`克隆,`git add`入暂存区,`git commit -m`提交,`git status`查看状态,`git log`查看历史,`git branch`创建分支,`git checkout`切换,`git merge`合并,`git pull`拉取更新,`git push`推送,`git remote -v`查看远程,`git checkout --`撤销本地修改,`git reset HEAD`取消暂存,`git reset --hard`回退版本。掌握这些,提升代码管理效率!
18 0
|
3天前
|
存储 Linux 开发工具
Git 分布式版本控制系统基本概念和操作命令
Git 分布式版本控制系统基本概念和操作命令
22 0
|
5天前
|
算法 Java BI
云效产品使用报错问题之平台上导出的统计数据和 git 中使用命令导出的数据统计都对不上,如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
1月前
|
算法 开发工具 git
【git 实用指南】git 增加 本地代码 git add 相关命令和复杂情况需求
【git 实用指南】git 增加 本地代码 git add 相关命令和复杂情况需求
93 0
|
1月前
|
Shell Linux 开发工具
【Shell 命令集合 系统管理 】Linux 查看当前Git仓库的提交历史 gitps命令 使用指南
【Shell 命令集合 系统管理 】Linux 查看当前Git仓库的提交历史 gitps命令 使用指南
18 0
|
1月前
|
开发工具 git
git命令使用大全
git命令使用大全
20 1