git用法-打补丁【转】

本文转载自:https://www.cnblogs.com/yandufeng/p/5580765.html

1. git cherry-pick

作用:从一个branch上选择一个commit,添加该commit到另一个branch上。

  1. 切换到你想添加commit的分支上。

git checkout master

  2. 执行下面的代码

  

git cherry-pick <commit-hash>

 2. git rebase

作用:git rebase命令是一个自动化的cherry-pick命令, 它会添加一个branch上的所有commit到另一个branch上(找到一个branch上的所有commit,然后按照顺序,一个一个的cherry-pick他们到另一个branch上)。

原理:

Simple divergent history.

先寻找到两个branch的共同祖先(你所在的branch和你rebase的branch),得到你所在branch的所有commit,保存这些不同到临时文件,然后重置现在的branch到你想要rebase的commit,然后重新添加每一次的改变到现在的分支。执行如下命令:

1. git checkout experiment

2. git rebase master

Rebasing the change introduced in `C4` onto `C3`.

然后切换到master分支,做一下合并。

1. git checkout master

2. git merge experiment

Fast-forwarding the master branch.

3. git revert

作用:git revert命令是git cherry-pick命令的相反命令。它会创建一个新的commit,主要用来撤销操作。

posted @ 2019-01-09 17:55  请给我倒杯茶  阅读(517)  评论(0编辑  收藏  举报