SourceTree cherry-pick遴选功能的使用
目录一. 使用场景二. 若使用merge功能三. 使用cherry-pick遴选功能四. 代码合并一. 使用场景假设有如下的提交历史其中提交E是一个bug修复提交D和F是正在开发中的功能现在需要将E这次提交单独放到 main 中注意我们只需要E这个单独的提交并不想要D和F的提交。A ── B ── C(main)\D ── E ── F(test1)也就是说效果如下所示E是 新的 commit内容与E相同只是 commit hash 不同A ── B ── C ── E(main)\D ── E ── F(test1)如下图所示我们在test分支上有三次提交我们只想把05文件修改这次提交单独放到主分支上。二. 若使用merge功能Merge功能不能只合并某一个 commit它合并的是【分支的历史】。如下图所示我们合并的是三次提交中的05文件修改提交但是05文件修改提交的前一次的04文件第九行提交也被合并到主分支中了这不是预想的效果三. 使用cherry-pick遴选功能如下图所示使用cherry-pick遴选将05文件修改这次提交单独放到主分支上了。注意主分支上的05文件修改这次提交拥有独立的hash值和test分支上的05文件修改的hash值不同四. 代码合并当使用cherry-pick遴选将05文件修改这次提交单独放到主分支上之后过了一段时间test1分支也完成了开发测试。此时就需要将test1分支上的所有内容Merge到主分支上。由于05文件修改被单独cherry-pick遴选过所以我们在将test1分支上的代码合并到主分支上之后会产生一个自动Merge的提交记录如果不想让这个自动Merge的提交记录产生的话可以在合并之前先在test1分支上使用交互式变基合并压缩05文件修改这次提交到其他提交中
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2416667.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!