误强制推送master分支后,用cherry-pick修复是否有效?
问题解答
你的操作确实能修复代码层面的错误,但要留意几个后续问题:
- 代码状态:目前远程master的代码内容已和强制推送前一致,从功能完整性和代码正确性来看,错误已经得到修复。
- SHA值差异:重新提交的变更生成新SHA是正常现象——Git的提交SHA由提交内容、父提交、作者信息等多个因素计算而来,重新创建的提交自然会有全新的SHA值,这不会影响代码本身的正确性。
- 团队协作影响:
- 若其他开发者已经拉取过你错误强制推送后的master分支,他们本地的分支会与当前远程master产生冲突,需要告知他们重新拉取并清理本地分支状态,避免再次提交旧代码。
- 原提交的SHA已从远程master历史中被覆盖,之前关联这些提交的PR、issue引用会失效,需要同步团队成员更新相关关联信息。
另外补充:如果错误推送后没有其他开发者在该分支上提交新内容,更直接的修复方式是用git push --force-with-lease撤销那次错误的强制推送,但你当前采用的重新提交方案已经让代码回到正确状态,只要同步好团队后续操作,也是完全可行的。
内容的提问来源于stack exchange,提问作者CarlosC
相关产品推荐
相关产品推荐

