git时常混淆的操作的笔记

git时常混淆的操作的笔记

  • 写在前面
  • [git rebase与merge的不同](#git rebase与merge的不同)
  • [git am 与git apply的不同](#git am 与git apply的不同)
  • 删除远端分支

写在前面

离开OS公司后,git的使用不再那么频繁。许多指令,时常忘记,这里作一点笔记。

git rebase与merge的不同

首先,这二者的含义不同。这个大家都清楚。我也不是会忘它们的意思。

含义是reabase是以commit为单位,进行路径的归并;而merge则是代码级的合并,是合并,不是归并。这方面,我们一般不是会出太大的困难。

但是,重点在下面,时常混淆:

rebase current branch to target_branch

merge current branch from target-branch

我不清楚是英语与汉语对动语的理解的不同,这里相当不友好。

我不觉得是两种语言的不同导致,可能是这个指令设计得就是不友好。

所以,这个有必要写在这里。

当然,如果你能记住,永远都不要把option的前项,忘记,也是好的习惯。

git rebase当然有许多高级用法,这里我们不作介绍。那些不是背访笔记需要写的。

git am 与git apply的不同

这两个指令,一旦想起来,当然是很清楚。

但我们用的时候,时常忘记了。

git am是指a+m

git apply只是指apply,即只有a

比如,不小心,我们制作patch时,引入的空格,要重做这个patch,

那么就要:

git apply --reject --whitespace=fix some.patch

然后重新commit,重新制作。

同样,有多个patch,要叠加在一起时,也需要用到这个指令。

除此以外,我们绝大多数时间,应当用am

删除远端分支

git push origin --delete feature/yourname/ISSUE/master

这个操作很危险。我们要做的,实际上是想办法不用这个指令。

现在我还没想到如何完全不使用的办法。

我的想法是,你可以留两上自己的分支,一个用于开发,一个用于rebase时用,

这样就能避免使用这个指令。

相关推荐
Shell运维手记1 小时前
Linux (挂载|rpm|yum|源码编译)
linux·运维·笔记·网络协议·bash
2kπ2 小时前
QT开发笔记
开发语言·笔记·qt
江屿风2 小时前
【STM32基础篇】【嵌入式生态问题及历史追溯】流食般投喂
大数据·开发语言·人工智能·笔记·stm32·嵌入式硬件
zjxtxdy2 小时前
stm32usart通信接口
网络·笔记
FTS苏州运营部-富港包装检测技术4 小时前
YY/T 0681.3‑2010 无约束包装抗内压破坏试验 技术笔记
笔记·yy/t 0681.2·yy/t 0681.3·yy/t 0681.9·astm f1140·无约束包装·astm f2054
_Narcissus_5 小时前
B树概念及操作笔记(含完整代码实现)
c语言·数据结构·数据库·c++·笔记·b树·算法
sunoo-2295 小时前
【C 语言标准 IO 入门】第二天学习笔记:文件操作核心函数 + 实战案例 + 踩坑合集
linux·笔记·vscode·学习
疯狂打码的少年5 小时前
【数据结构】图的应用:最短路径(Dijkstra / Floyd)
数据结构·笔记·算法
Wang's Blog5 小时前
PostgreSQL笔记29:事务隔离级别深度解析——从MVCC快照到SSI可串行化
数据库·笔记·postgresql
Fa_Mian_Tuan5 小时前
图论基础 | 邻接多重表原理剖析 + 完整可运行C语言代码(插边/删边/释放)
c语言·数据结构·笔记·算法·图论