我经常需要使用
为什么我需要重写历史记录?因为我们正在一个功能分支上进行大量工作(具体来说是从使用Swing转换为SWT),并且必须尽可能地保持它的短小。为了实现这一点,我们经常发现,在功能分支被分叉之前,某些提交应该进入主分支。
如何使强制
git reset
和git rebase
来更改最近的一些提交(重新排列,将多个提交合并为一个等)。这需要在推送时使用强制选项。不幸的是,这也可能会覆盖远程存储库中其他用户的更改。为什么我需要重写历史记录?因为我们正在一个功能分支上进行大量工作(具体来说是从使用Swing转换为SWT),并且必须尽可能地保持它的短小。为了实现这一点,我们经常发现,在功能分支被分叉之前,某些提交应该进入主分支。
如何使强制
git push
失败,如果我还没有从远程存储库获取最新更改?
origin/mybranch
指向与远程仓库的mybranch
相同的提交,并在它们不同时拒绝强制推送? - Mot