![]() |
1
8
首先,在Git中没有不安全的操作。REBASE有一个中止操作,所有操作都会使其返回到reflog,因此您可以撤消任何操作。事实上,情况恰恰相反。 它让你可以自由地在任何时候提交你想要的,而不必有一个“好”的建设,而你正在一条道路上制造一个。你的修改 出版 可以通过将一路上所采取的所有步骤压缩为一个提交来实现。 我一直在使用REBASE(通常是通过拉来实现的,我通常在获取阶段之后配置它来实现REBASE)。不要把它看作是重写历史——把它看作是在发布之前为您清理草稿提供的工具。
从现在开始的一年中,您的项目中的任何人都应该知道您确实是在反对修订的情况下开始这个特性的吗?
不必要的递归合并掩盖了历史中更重要的部分。 |
![]() |
2
8
例如,当你想提交一个补丁给别人修改过的代码时,你需要使用它。例如,如果您从软件的版本1.56分支,同时维护人员转到版本1.57,那么他/她可能只接受版本1.57上的补丁。 您可以将分支重新设置为1.57版,更正所有冲突,验证并重新提交补丁。 |
![]() |
3
4
一旦将“主题”合并回“主控形状”,无论如何都会有这些冲突。因此,最好不时地将“主题”重新定位到“主控”上(如果你做一些小的步骤比你做一个大的步骤更容易——至少在IMO上)。如果在合并之前重新平衡,那么所有“冒险”的事情都发生在分支中,合并之后就很容易了。 |
![]() |
4
4
见 git rebase: keeping your branches current 詹姆斯·鲍斯的博客文章 |