好吧,所以我在家工作,使用2台带遥控器的电脑工作.
当我今天回到家时,我的家用电脑在我的工作电脑后面2天,我做了一个
git push origin master
Run Code Online (Sandbox Code Playgroud)
意外地搞砸了远程仓库(新克隆的代码现在坏了).
我已经看到了这个问题的接受答案,他提到了最后一个好的代码.
我的问题是,如果我想要的最后一份好文件在工作并且我在家,我该如何撤消我的更改?我不能告诉远程服务器撤消推送的最后一次更改吗?
不,你不能告诉原始仓库"撤消"最后一次远程推送的更改.你可以使用SSH并做了git reset --hard [revision],如果你有机会,虽然.然而…
如果你没有--force推送,Git没有覆盖原始存储库上的任何内容.事实上,如果你推动并且git没有拒绝它,那意味着你是最新的原始仓库中的东西.假设您从工作计算机推送到原点,然后您将不同的更改从您的家用计算机推送到原点并且它们被接受,这将使我相信您在不同的分支上实现了它们.
为了告诉你如何摆脱这种情况,你需要确定分支和诸如此类的情况.一旦弄明白,你就可以通过让你的本地仓库处于你希望原点所在的状态(使用git reset --hard [revision])来"撤销"最后一次更改,然后你可以做一个git push --force让状态反映在原始仓库中.
但是,如果你有其他人使用原始仓库,那么你只想修复问题,而不是覆盖它.为此,您必须将所需的更改合并到本地存储库中,然后将它们作为新的更改提交并推送.
| 归档时间: |
|
| 查看次数: |
1338 次 |
| 最近记录: |