Git 重置显示要从服务器获取一项
Git reset shows one item to be fetch from the server
我是 GIT 的新手,我错误地向服务器推送了一个不属于当前分支的代码。
我对 BranchX
的提交历史是这样的(例如修改了提交消息):
ca184982 - Changes I pushed mistakenly
fa761347 - Some good changes
2a839483 - Previous commits
在网上查了一些SO post和博客后,我执行以下命令:
git reset --hard fa761347
执行上述命令后,当我同步我的分支时,它显示必须从服务器拉取 1 个提交,但实际上,我也想从服务器删除该提交。
你能指出我做错了什么吗?或者还有其他我必须执行的命令吗?
您需要删除或还原 远程 分支上的当前提交。
我建议还原并推送还原的提交
git pull
- 这将导致错误提交
git revert ca184982
- 这将创建并提交一个提交,它是 ca184982
到本地分支 的逆转
git push
- 这会将错误提交的反向推送到远程分支。
- 全部完成
在您的评论中,您说 git push -f
有效但是:
- 你并不总是能做到(服务器规则);和
- 当其他人在您
push -f
之前执行 pull
时,可能会造成棘手的情况
回复:评论:
在此之后,历史将如下所示:
xxxxxxxx - Revert of 'ca184982'
ca184982 - Changes I pushed mistakenly
fa761347 - Some good changes
2a839483 - Previous commits
我是 GIT 的新手,我错误地向服务器推送了一个不属于当前分支的代码。
我对 BranchX
的提交历史是这样的(例如修改了提交消息):
ca184982 - Changes I pushed mistakenly
fa761347 - Some good changes
2a839483 - Previous commits
在网上查了一些SO post和博客后,我执行以下命令:
git reset --hard fa761347
执行上述命令后,当我同步我的分支时,它显示必须从服务器拉取 1 个提交,但实际上,我也想从服务器删除该提交。
你能指出我做错了什么吗?或者还有其他我必须执行的命令吗?
您需要删除或还原 远程 分支上的当前提交。
我建议还原并推送还原的提交
git pull
- 这将导致错误提交git revert ca184982
- 这将创建并提交一个提交,它是ca184982
到本地分支 的逆转
git push
- 这会将错误提交的反向推送到远程分支。- 全部完成
在您的评论中,您说 git push -f
有效但是:
- 你并不总是能做到(服务器规则);和
- 当其他人在您
push -f
之前执行
pull
时,可能会造成棘手的情况
回复:评论:
在此之后,历史将如下所示:
xxxxxxxx - Revert of 'ca184982'
ca184982 - Changes I pushed mistakenly
fa761347 - Some good changes
2a839483 - Previous commits