【问题标题】:Git merge commits selectivelyGit 有选择地合并提交
【发布时间】:2016-08-12 02:25:11
【问题描述】:

我有一个从来没有做过的关于 Git 的问题,所以我想学习!

在我的项目中,我不久前分支了master;它本质上是对整个代码库的重写,所以我们称之为rewrite。在我从事rewrite 工作的时间里,我还对master 进行了一些重大更改并进行了部署。现在我的重写即将结束,我想跟上我启动分支以来对 master 所做的所有更改。

通常我会执行git checkout rewrite && git rebase master 之类的操作,然后在出现冲突时解决它们,但这次我可以保证每次提交都会有冲突,因为代码库完全不同。

tl;dr 我想知道的是,我将如何处理master 上的每个提交并将它们逐个合并到rewrite,这样我就可以在我的自己的节奏,如果需要,可能会出现问题。

【问题讨论】:

标签: git git-merge rebase merge-conflict-resolution


【解决方案1】:

您可以使用git cherry-pick 命令将特定的提交提交到您的分支。

您还可以使用gitk --all 查看所有提交,并选择您希望以交互方式挑选到您的分支的提交。

【讨论】:

  • 对于一些额外的保险,你可以git checkout rewrite && git checkout -b rewriteMerge 这会给你一个相同的分支来开始和执行你的樱桃采摘。这样,如果有任何事情在任何时候出错,回到原来的位置会更容易一些。当然还有其他方法(例如重置以及稍后基于最终的rewrite 提交 shaVal 创建一个新分支),但这种方式通过简单地更改分支为您提供了一些有形且可访问的东西。
猜你喜欢
  • 2011-09-18
  • 2011-09-23
  • 2016-08-31
  • 1970-01-01
  • 2011-06-23
  • 2013-06-20
  • 2018-07-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多