美文网首页git/svn
补充2Git命令知多少

补充2Git命令知多少

作者: 宇晨棒棒的 | 来源:发表于2019-08-15 14:35 被阅读0次

6.git rebase

应用场景:

1)合并多次提交信息:

A.在一个版本库中提交了三此commit:

提交三次commit

B.合并三次commit提交:

git rebase -i  HEAD~2        ---------> 将第三次commit前面的pick修改为squash

合并commit

补充信息:

1.如果对话框意外退出了,使用该命令再次操作:git rebase --edit-todo

* pick:正常选中

* reword:选中,并且修改提交信息;

* edit:选中,rebase时会暂停,允许你修改这个commit

* squash:选中,会将当前commit与上一个commit合并

* fixup:与squash相同,但不会保存当前commit的提交信息

* exec:执行其他shell命令

C.返回信息:

返回信息

D.git log 信息:

git log 信息

2.分支合并:

1.从master分支切除一个开发版本feature  ---------> git checkout -b feature

当前分支图1

2.这时候,另一个开发同事完成了一次线上bug恢复,并合并到master分支上,此时master分支是领先feature分支的:

当前分支图2

3.恰巧此时,feature开发完毕,需要合并到master分支.-----------> git merge master

当前分支图3

其中黄色master就是最终合并后的样子.但是查看log时候,会发现commit信息不是在一条直线上,出现分叉了.

4.如果想要记录保持直行,可以使用git rebase,此时我们会退到前面的第二步中再做操作

git rebase之前

5.使用rebase后的结果:

git rebase之后

git rebase具体是怎么操作的:

1)git 会把 feature 分支里面的每个 commit 取消掉;

2)把上面的操作临时保存成 patch 文件,存在 .git/rebase 目录下;

3)把 feature 分支更新到最新的 master 分支;

4)把上面保存的 patch 文件应用到 feature 分支上;

使用git rebase产生的影响:

从 commit 记录我们可以看出来,feature1 分支是基于 hotfix 合并后的 master ,自然而然的成为了最领先的分支.

6.在 rebase 的过程中,也许会出现冲突 conflict。在这种情况,git 会停止 rebase 并会让你去解决冲突。在解决完冲突后,用 git add 命令去更新这些内容.

注意,你无需执行 git-commit,只要执行 git rebase-continue,这样 git 会继续应用余下的 patch 补丁文件

7.在任何时候,我们都可以用 --abort 参数来终止 rebase 的行动,并且分支会回到 rebase 开始前的状态。

git rebase --abort

相关文章

  • 补充2Git命令知多少

    6.git rebase 应用场景: 1)合并多次提交信息: A.在一个版本库中提交了三此commit: B.合并...

  • 补充1:Git命令知多少

    这次主要是了解一些多项目情况下可能会用到git命令 1.git log -------->打印提交历史 在提交了若...

  • linux之wget和curl

    wget 命令 补充:wget 命令常用于下载。 curl 命令 补充:curl 命令可用于各种请求方式,常用于上...

  • xmind命令

    这周的命令补充 之前的命令

  • git常用命令

    1安装 2git config --global user.name || git config --global...

  • vi命令补充

    其他常用命令: 使用yy键复制当前行,使用p键粘贴复制或剪切的内容 使用dd键删除一行,10dd删除光标所在一...

  • git 命令补充

    删除文件的方法 git rm 文件名同时删除文件夹和文档库中文件。 删除文件夹中文件,执行git add - A,...

  • mysql timeout变量探秘

    1.timeout变量知多少 打开mysql,用show variables like '%timeout%'命令...

  • Linux学习目录结构(二)

    补充,查看内置命令和外置命令 type 命令 [root@later03 ~]# type cd cd 是 she...

  • Mac M1芯片安装ffmpeg 以及使用

    1 首先要安装brew 2git clone https://git.ffmpeg.org/ffmpeg.git ...

网友评论

    本文标题:补充2Git命令知多少

    本文链接:https://www.haomeiwen.com/subject/xribjctx.html