工作中git常用操作
创始人
2024-05-31 13:22:31
0

前言

在各种版本并行,需求不断迭代的过程中,我们经常会遇到各种打断开发的场景:

场景一:当前版本功能开发到一半,上级临时要求去修复某个线上bug?你能说不吗, 那当然绝对服从组织安排 😄

场景二:已经提交且合并主分支的功能版本,产品经理不要了,或则更有甚者只要求留部分功能。你又能说不吗?🐶

场景三: 不小心把开发到一半的commit,也一并提交上去了。如何优雅退回?

还有其他各种奇葩场景,欢迎大家评论区留言讨论 👏

那么应对错综复杂的版本迭代,分支串行,如何把git用得更加得心应手呢,以下内容快速入门git,根据不同的场景,在工作中快速对照使用,希望能够帮大家提升工(hua)作(shui)效(shi)率(jian) 💪

1. git clone xxx仓库地址

场景:克隆一个项目,开始搬砖 🧱

2. git 提交三步曲

git add .
git commit -m'fixbug:解决某某bug'
git push

场景:开发完毕功能后,提交更改的代码。

使用:开发完毕功能后,提交更改的代码。

当知道一些git命名后,想了解很多api含义或者参数用法,只需要如下:

git add --help
git commit --help
场景:查看某个git 命令的更多信息。
示例:git commit --help

image.png

3.git status

场景:随时随地查看当前工作区的状态,例如git add 什么文件,git commit 什么文件等等

示例:

image.png

4.git log 主机名/分支名git reflog 主机名/分支名

场景:查看仓库提交的记录

使用:

4.1git log查看当前分支的log记录,不用切换分支查看其他分支的log,可以使用git log 主机名/分支名

4.2 git reflog可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)

例如: 下文👇提到的reset命令,执行git reset --hard HEAD~1,退回到上一个commitid,用git log看不到被删除的commitid,用git reflog 可看到被删除的commitid,恢复到被删除的那个commitid

5.git remote -v

git remote add origin :xxx/xxgit ,添加主机名为origin的远程仓库target

git remote add fork :xxx/xxgit

git remote rm origin 移除主机名为origin的远程仓库target

场景:从origin分支,fork下来一个自己分支,添加一些修改后,想push回到origin分支

使用:查看远程 fetch/push 对应的分支

image.png

6.git reset --soft HEAD~git reset --hard HEAD~

场景:不小心commit了不想提交的更改,想撤回来

使用:可撤销最近一次commit到本地仓库的提交,所有撤销的代码修改进入暂存区(更改的代码还在)。

命令详解:

HEAD~ 表示最近一次的commit,也可以写成HEAD~1,想要撤回最近N次的commit,对应 HEAD~N

--soft 不删除工作空间的改动代码 ,撤销commit,不撤销git add xxx

--hard 删除工作空间的改动代码,撤销commit且撤销 git add xxx

7.git stash

场景:在功能分支a进行功能开发,代码也写了一半。这时候需要切换到另外的分支临时修复一个bug。不想commit,不想丢失当前修改。

使用:可把当前的工作内容,stash起来,还原本分支工作区。git statsh list 可以查看stash的记录。是一个队列,git stash pop 可以应用最近一个statsh 而且删除记录。

stash
vt.藏匿; 隐藏; 存放; 贮藏;
中英对照例句They had all that money stashed away in the loft
他们把那笔钱全都藏匿在阁楼上了。

8.git commit --amend

amend英[əˈmend] 美[əˈmend][]
vt.修正; 修订(法律文件、声明等);
中英对照例句The Problems in City Tourism Image and the System to Amend
城市旅游形象问题及系统修正研究

场景:如果commit注释写错了,只是想改一下注释。

使用:输入命令后,会进入vim编辑器,修改完成你要的注释后保存即可。其中,vim 的命令,按键 i 进入编辑页面,修改好后,按键 :wq 保存并退出。

9. git cherry-pick

场景:如果想把A分支合并到B分支,git merge 分支名 就可以把全部的commit合并过来。但有时候只想合并A分支个别commit 修改

使用:git log 主机名(远程一般为origin)/master 查看commitid, git cherry-pick 上面的命令将 commitid1 和 commitid2 两个提交应用到当前分支。会在当前分支生成两个对应的新commit.之后检查无误后,可以push。有时候会冲突,可以解决后在push。

10. 创建分支,切换分支,删除分支

先用git checkout --help 查看下文档。

image.png

10.1 创建分支

其中比较常用到的,拉取远程分支,并创建本地分支,checkout操作:

git checkout -b 本地分支名 远程分支名如

使用: git checkout -b dev origin/dev 基于远程dev,创建本地分支名dev,然后 git branch -a
查看所有的分支

10.2 切换后删除分支

场景:想要删除本地分支A或则远程分支A

使用:当前本地分支为A,想要删除本地分支A。git checkout 分支B 切换到分支B,删除本地分支: git branch -d 分支A , 如果删除不了想强制删除,git branch -D 分支A, 而删除远程分支的话,使用git push origin :远程分支A 相当于 git push origin --delete 远程分支A

参考文章:

https://git-scm.com/

https://www.ruanyifeng.com/blog/2020/04/git-cherry-pick.html

相关内容

热门资讯

安卓系统用的华为应用,探索智能... 你知道吗?在安卓系统里,华为的应用可是个宝库呢!它们不仅功能强大,而且使用起来超级方便。今天,就让我...
安卓变ios系统魅蓝 你知道吗?最近有个朋友突然告诉我,他要把自己的安卓手机换成iOS系统,而且还是魅蓝品牌的!这可真是让...
幻书启世录安卓系统,安卓世界中... 亲爱的读者们,你是否曾在某个夜晚,被一本神奇的书所吸引,仿佛它拥有着穿越时空的力量?今天,我要带你走...
电脑安装安卓系统进不去,安卓系... 电脑安装安卓系统后竟然进不去,这可真是让人头疼的问题啊!你是不是也遇到了这种情况,心里直呼“怎么办怎...
用键盘切换控制安卓系统,畅享安... 你有没有想过,用键盘来控制你的安卓手机?是的,你没听错,就是那个我们每天敲敲打打的小玩意儿——键盘。...
小米安卓镜像系统在哪,小米安卓... 你有没有想过,你的小米手机里有一个隐藏的宝藏——安卓镜像系统?没错,就是那个可以让你的手机瞬间变身成...
安卓手机下载排班系统,高效排班... 你有没有想过,每天忙碌的工作中,有没有什么好帮手能帮你轻松管理时间呢?今天,就让我来给你介绍一个超级...
桌面组件如何弄安卓系统,桌面组... 亲爱的桌面爱好者们,你是否曾梦想过将安卓系统搬到你的电脑桌面上?想象那些流畅的动画、丰富的应用,还有...
安卓13系统介绍视频,新功能与... 亲爱的读者们,你是否对安卓13系统充满好奇?想要一探究竟,却又苦于没有足够的时间去研究?别担心,今天...
车机安卓7.1系统,功能升级与... 你有没有发现,现在的车机系统越来越智能了?尤其是那些搭载了安卓7.1系统的车机,简直就像是个贴心的智...
安卓系统下如何读pdf,And... 你有没有遇到过这种情况:手机里存了一大堆PDF文件,可是怎么也找不到一个能顺畅阅读的工具?别急,今天...
安卓系统全国通用的吗,畅享智能... 你有没有想过,为什么你的手机里装的是安卓系统呢?安卓系统,这个名字听起来是不是有点神秘?今天,就让我...
假苹果手机8安卓系统,颠覆传统... 你有没有想过,如果苹果手机突然变成了安卓系统,会是怎样的景象呢?想象那熟悉的苹果外观,却运行着安卓的...
安卓12.0系统vivo有吗,... 你有没有听说最近安卓系统又升级啦?没错,就是那个让手机焕然一新的安卓12.0系统!那么,咱们国内的手...
核心芯片和安卓系统,探索核心芯... 你知道吗?在科技的世界里,有一对“黄金搭档”正悄悄改变着我们的生活。他们就是——核心芯片和安卓系统。...
如何调安卓系统屏幕颜色,安卓系... 亲爱的手机控们,你是否曾觉得安卓系统的屏幕颜色不够个性,或者是因为长时间盯着屏幕而感到眼睛疲劳?别担...
旧台式电脑安装安卓系统,轻松安... 你那台旧台式电脑是不是已经服役多年,性能逐渐力不从心,却又不忍心让它退役呢?别急,今天就来教你怎么给...
美国要求关闭安卓系统,科技霸权... 美国要求关闭安卓系统:一场技术革新还是政治博弈?在数字化时代,智能手机已经成为我们生活中不可或缺的一...
安卓系统日记本 你有没有发现,手机里的安卓系统日记本,简直就是记录生活点滴的宝藏库呢?想象每天忙碌的生活中,有没有那...
安卓手机广告最少的系统,探索安... 你有没有发现,用安卓手机的时候,广告总是无处不在,让人烦得要命?不过别急,今天我要给你揭秘一个秘密—...