我们有一个项目,其中一位开发人员在主分支上进行了几次提交 -- 而不是从主分支创建单独的分支 -- 导致出现了问题。我该如何:
- 撤销主分支中的这些提交
- 从主分支创建一个新分支
- 将这些提交重新提交到新分支中(或者使用 git 的正确术语)?
master
分支中:git checkout -b name_of_new_branch
然后将其推送到存储库:
git push -u origin name_of_new_branch
您的同事现在应该能够做到:
git fetch origin
git checkout name_of_new_branch
git checkout master
git reset --hard HEAD~N
其中N
是您同事的不良提交数量。
如果您可以覆盖存储库中的分支(GitHub的默认设置),那么您可以执行以下操作:
git push origin master --force
请非常小心使用此选项。如果我是您,我会等待某人确认这些命令是否正确;)