git简易教程----(三)移动提交记录

目录

1、git cherry-pick

2、交互式的 rebase


1、git cherry-pick

本系列的第一个命令是 git cherry-pick, 命令形式为:

$ git cherry-pick <提交号>...

如果你想将一些提交复制到当前所在的位置(HEAD)下面的话, cherry-pick 是最直接的方式了。我个人非常喜欢 cherry-pick,因为它特别简单。

这里有一个仓库, 我们想将 side 分支上的工作复制到 main 分支。

你会立刻想到了之前学过的 rebase 。但还是看看 cherry-pick 吧!

输入以下指令:

$ git cherry-pick C2 C4

我们只需要提交记录 C2 和 C4,所以 Git 就将被它们抓过来放到当前分支下了。 就是这么简单!

2、交互式的 rebase

当你知道你所需要的提交记录(并且还知道这些提交记录的哈希值)时, 用 cherry-pick 很合适 —— 没有比这更简单的方式了。

但是如果你不清楚你想要的提交记录的哈希值? 幸好 Git 帮你想到了这一点, 我们可以利用交互式的 rebase —— 如果你想从一系列的提交记录中找到想要的记录, 这就是最好的方法。

交互式 rebase 指的是使用带参数  --interactive  的 rebase 命令, 简写为  -i

如果你在命令后增加了这个选项, Git 会打开一个 UI 界面并列出将要被复制到目标分支的备选提交记录,它还会显示每个提交记录的哈希值和提交说明,提交说明有助于你理解这个提交进行了哪些更改。

在实际使用时,所谓的 UI 窗口一般会在文本编辑器 ( 如 Vim ) 中打开一个文件。 

当 rebase UI界面打开时, 你能做3件事:

  • 调整提交记录的顺序(通过鼠标拖放来完成)
  • 删除你不想要的提交(通过切换 pick 的状态来完成,关闭就意味着你不想要这个提交记录)
  • 合并提交。简而言之,它允许你把多个提交记录合并成一个。

看个实例:

输入指令:

$ git rebase -i HEAD~4

假设将c4与c5换位置,则:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值