我的目标是尽量减少每个合并请求的提交。为实现这一点,我在推送到 MR 之前在本地进行 rebase,如果需要,对“旧”MR 提交进行 rebase 并强制推送结果。 (我显然不会反对已经在 master 中的提交)。
如果我需要在测试环境中更新,我不能这样做:
git pull
...因为力推。所以我这样做:
git fetch --all
git checkout master
git branch -D feature_branch
git checkout feature_branch # now includes force-pushed changes
很明显,我可以编写自己的脚本/挂钩一步完成。是否可以使用更少的内置步骤更新本地分支(当我知道远程副本已被强制推送时)?
一个班轮:
git fetch origin +feature_branch:feature_branch
这通过从远程存储库中的
feature_branch
分支中获取来更新本地存储库中的分支feature_branch
。
+
符号是关键,因为它意味着 feature_branch
将被更新,即使它不快进(通常(总是?)强制推动分支的情况)