【发布时间】:2009-08-01 15:22:15
【问题描述】:
我在我的一个存储库中从 master 重新定位到“部署”分支时遇到问题。
我的仓库设置如下:
master - of course, the main branch
deploy - a branch created where files like Capfile, deploy.rb etc are created and configured - these changes will NEVER be merged back into Master
通常我的工作流程是:
- 在主分支上进行开发...测试、微笑、提交。
- 查看
deploy分支 - 在部署分支上执行
git rebase master- 这曾经可以毫无问题地工作 - 推送到远程然后执行
cap deploy - 放松
我现在遇到的问题是,当我在部署分支上执行 git rebase master 时,它会出现 3-way merge/manual merge required 错误(我认为错误消息不够通用邮政)。 Git 告诉我执行合并,然后使用 git rebase --continue 完成 - 这永远不会奏效。
我发现“做”的工作正在运行 git rebase master --interactive,清理选择列表(有 5 个左右重复的“提交”,但在此列表中具有不同的参考编号(相同的消息),所以我会选择其中之一),然后手动进行合并。一旦我为每个提交完成了此操作,我就可以继续 rebase 并且一切顺利......
直到下一次我需要执行变基。
那么有谁知道什么是快乐的?该项目并不是真正的“秘密”,所以如果需要,我可以发布消息、日志、分支图等。
谢谢
【问题讨论】:
-
部署分支上有多少次提交,它们可以被压缩吗? rebase 必须在提交列表中保留所有中间提交,听起来其中一些现在会导致人为冲突,因为它们试图保留一个不再有意义的人为中间状态。