仅移动特定提交或进行分支?

时间:2015-02-04 06:19:27

标签: git

我有一个git repo @ origin。
在服务器上带有实时项目的LIVE克隆 具有本地开发版本的DEV克隆。

我一直致力于DEV repo并且已经做了很多次。但现场回购仍然是同一个位置。我计划在开发完成后在实时服务器上执行pull

问题是,我必须马上进行一次更改。它可能是DEV在提交历史中间某处提交的单个或多个提交。

是否有可能只获得现场回购所需的提交。仍然确保在开发完成时;一切都被拉到现场回购而不会破坏任何东西。

如果不可能,我会考虑另一种方法。也就是说,在live上创建一个分支。对相同的文件(现在在dev repo上更新)进行必要的更改(当然也是如此)。并将该分支推送到原点,然后将其拉到dev并将其与master合并。我怎样才能确保在最终开发结束后,什么都没有被打破,我顺利进行。

1 个答案:

答案 0 :(得分:1)

您需要了解git rebasing概念。

您有两个选择:

  • 重新启动您的dev分支以隔离目标提交并将其移动到 dev上的其他一切的底部(但在最新的常见的顶部 承诺你有开发和生产),然后你可以削减一个 分支与目标的头部提交。 [您可以使用git rebase -i live/master]

  • Cherry-pick目标一个接一个地提交到一个新分支[with git cherry-pick COMMIT-ID],然后你可以将这个新分支合并到live和dev。