合并单个commit到指定分支上——tortoisegit cherry pick 的使用

  • 当我们使用git管理一个程序的源码时,总是会新建很多分支。不同的分支可以直接使用merge来合并代码。但我们有时候会有这种需求,比如说我们有n个分支分别开发不同版本的程序,其基础功能是一样的,但是不同分支上有不同的需求开发,这时我们的基础功能上有一个bug的修复想同步到其他分支上就不能使用merge了,因为merge会合并所有改动代码。这种情况下,我们需要使用的是git的cherry pick功能。在命令行中使用这个功能比较简单,网上有很多,但是我们使用tortoisegit工具使用这个功能没看到介绍这种操作的,这里我分享出来也做个记录。
  • 比如,我们现在在dev上修复了一个基础功能的bug,并且已经push到远程了。这时,我们想把这次commit合并到hummer_lite_dev这个分支上。

  • 首先,我们需要切换到想要合并的分支上去,然后执行git fetch同步一下远程的提交记录。

  • 然后,选择右键菜单中的show log,查看提交日志,点击这里切换到我们要合并的commit的那个分支的日志。

  • 这时,可以在远程dev分支的提交记录上看到需要合并的那次commit。

  • 在这次commit上右键弹出菜单,选择Cherry Pick this commit...

  • 这时就会弹出cherry pick的界面,选中需要pick的那次commit,点击contimue,就会把这次commit合并并且提交到到本地的hummer_lite_dev分支上了。这里也可以查看commit的文件和msg,如果有冲突也要解决冲突。

  • 这里我们可以看到本地的分支已经指向了合并进来的最新一次的commit。

  • 最后,我们执行一下git pull、git push,将其同步到远程分支上就ok啦。

你可能感兴趣的:(git,commit,tortoisegit)