作者回复: 这种情况最适合用rebase了
作者回复: reflog 命令查看一下,还有的救
作者回复: 很好的问题。你们的组织形式是怎样的?有哪些困难?
不妨把情况说具体一些。
作者回复: git pull --rebase,或者分两步走:先把远端分支fetch到本地,再把本地的当前分支基于fetch下来的远端分支做 rebase 。
作者回复: 如果线性对你们团队很重要的话,办法肯定是有的。比如master为集成分支,且要求版本历史为线性,假设在GitHub平台上,首先为master分支设置Branch protection rule(不允许直接push),勾选“Require pull request reviews before merging。
其次,Merge Button选择“Allow squash merging”或者“Allow rebase merging”,不要选“Allow merge commits”。
建议动手验证一下。
作者回复: 已更新,加油