我在名为blaBla的分支上工作。 master
从其他人处获得大量提交。为了保持与主人更新blaBla我做频繁的git拉大师并合并到blaBla。但是这使得我的分支混乱不堪。我想合并所有新的已发生的提交到一个,然后合并到我的分支。所以当我做git log
时,我只看到属于该分支的提交以及那些单独的合并提交。没有别的Git在合并之前合并提交
回答
我想合并所有在主发生的新提交到一个,然后合并到我的分支。
你真的不想这样做。为使从master
变成一个特性分支的唯一合理的选择是:
做一个正常
git merge master
没有挤压其提交,这样的Git可以告诉它提交您的特性分支有共同之处master
(否则你可能遭受无数合并冲突)。否则,压缩的合并提交中的所有新变化看起来像是它们的新功能的一部分 - 并不好。做一个
git rebase master
重播您的分支的最新变化master
。这是我首选的工作流程,因为它将您的更改构建为“自从master
以来的更改”,无论您开始使用哪个master
,但它带有重写历史记录的所有常见风险(例如,如果要将git push --force
更改为其他人依赖的分支)。
更新,以反映接受的答案:或者改变你如何可视化的提交。 git log --first-parent
将隐藏合并到当前分支的提交。虽然通常用于可视化master
(哪些功能分支已合并),但它也可以排除已合并到功能分支中的master
提交。
似乎有一些方法可以做到这一点,但如果您只是在本地进行此操作,它可能会使您的更改变得更难掌握。 Git的真不喜欢在所有
正如你所说修改历史是一个很大的禁忌。我不想修改主人。只要将它的提交合并到我的分支,不要碰其他任何东西。也许这更像是一个git log可视化的东西,而不是实际的组合提交。所以,当你做'git log'时,你所看到的只是我的提交,单合并事件以及合并冲突的相关修复。没有其他数千个提交看到 –
- 1. 在提交到当前头之前合并Git状态
- 2. 的Git合并提交
- 3. Git合并提交丢失
- 4. Git合并跳过提交
- 5. git撤消合并提交另一个合并提交
- 6. Git:合并冲突并提交消息
- 7. Subversion合并提交和前次提交
- 8. git显示前几个提交回合并基的提交
- 9. git:合并两个分支并提交提交
- 10. Git创建合并提交,尽管它执行快速合并
- 11. Git合并子分支之前合并到主
- 12. Git合并 - 不提交跟踪文件
- 13. 没有自动提交的git合并
- 14. git - 合并时跳过特定提交
- 15. 的git remove从合并提交
- 16. Git合并中间提交的分支
- 17. Git:只合并一个提交
- 18. 压缩Git合并后提交
- 19. 修复git中的合并提交
- 20. 合并几个提交。 Git的变基
- 21. Git合并主无需恢复提交
- 22. git合并重新提交提交到另一个提交?
- 23. git合并分支 - 不想在远程分支基地之前提交
- 24. 在TFS中合并提交
- 25. 为什么git提示我提交后合并提交消息?
- 26. 与当前提交的祖先合并
- 27. 取消提交长达前合并
- 28. 混帐:移动提交前合并
- 29. git修改并合并一个不在主的提交
- 30. 在推送之前将多个提交合并为一个
所以在这两个我塞满我的本地分行与数千人发生在主犯下的历史被改写。如何跟踪我的分支更改,然后触摸master中的小目录?如果你在每次提交几次后频繁合并滚动你的commtis似乎是一个不可能的任务,除非通过成千上万的主提交滚动来查找你的分支的东西 –
我所关心的只是看到我的提交,单一合并提交和没有其他的相关修复冲突。我怎么做? –
一种选择是使用'git log --first-parent'来查看你的分支 - 你会看到“合并分支'master'到blaBlah'(及其冲突解决方案),但不是合并的提交。” 我不明白“混乱我的本地分支”关于“rebase”的评论 - 如果您认为分支是“从master分支后发生的变化(即'git log master..'),post-'rebase '你会继续看到同一系列的提交。 – dahlbyk