问题:多人协作开发时,假设开发者A的本地分支为dev/A,远程分支为remote/A,若某次A的code有错误,但A已经将code提交至远端分支,该怎么办?
这个问题相信很多小伙伴都会遇到,此时我们的需求是将远端分支回滚至错误提交之前的版本。
操作分为三步:
- 回滚本地分支
- 强制删除远端分支
- 利用本地分支重新构建远端分支
具体操作:
1.回滚本地分支:
以sourcetree为例:
sourcetree -> 历史 -> 选中要回滚到的历史版本,右键重置到这次提交
或者使用指令:
git reset --hard commit_id
2.删除远端分支:(一定要注意origin后面有空格和:)
git push origin :remote/A
3.重新构建远端分支:
git push origin remote/A