重置+强制推送与恢复的优缺点是什么?当每个技术都合适时?
此问题与What's the difference between Git Revert, Checkout and Reset?不同,因为我想了解有关force push的更多详情。
答案 0 :(得分:2)
重置+强制推送
优点:更改提交历史记录,如果您不小心推送了不应该被推送的提交,则可以帮助清理。
缺点:更改提交历史记录,这可能会破坏其他开发人员对repo的克隆。如果您强制推送某些东西,则必须通知所有其他开发人员您所做的事情,以便他们可以采取适当的措施来修复他们的本地仓库。通常建议不要在有多个开发人员的团队中进行强制推送。但是,如果您单独工作,则无需担心,您可以自由使用它。 重置也会删除历史记录中的工作,这意味着您以后可能无法恢复它。
<强>还原强>
优点:不会更改提交历史记录。这里的优点基本上与重置+强制推动的缺点相反。如果需要恢复,则将提交保留在历史记录中(您可以还原恢复)。不要惹恼其他开发者的回购克隆。
缺点: