【问题标题】:Revert changes using Local history after push force?推送后使用本地历史记录还原更改?
【发布时间】:2020-01-18 11:47:04
【问题描述】:

我使用 Android Studio,但我错误地将 Git 推送到我的项目。我想撤消推送并恢复我对项目的本地更改,因为我的项目是新的,我没有提交任何东西。

我能否恢复在我使用 Android Studio 中的本地历史记录功能强制执行之前的所有最新更改? 我可以查看在使用本地历史记录功能单击推送之前所做的所有本地更改吗?我想知道即使我强制推送,是否所有本地更改都会保存在本地历史记录中?

注意:现在我没有该项目,因为它不在我自己的计算机中。因此,我只是想知道并要求稍后解决此问题。

感谢您的帮助

【问题讨论】:

    标签: android git android-studio


    【解决方案1】:

    你可以

    1. 查看git reflog 以找到您想成为其头部的旧提交,git reset --hardgit push --force 再次;
    2. 使用git log找到你不想要的提交,git revert他们,正常推送;或
    3. 找到具有正确历史的克隆的其他人并要求他们git push --force

    reflog 简写 @@{n} 在这里会很有帮助。 N 可以是数字甚至日期(请参阅git help refloggit help revisions)。

    【讨论】:

    • 但是我没有对我的代码做任何提交,所以我没有任何提交,正如我上面所说的,我的项目是新的,我没有提交任何东西。我想知道即使我强制推送,是否所有本地更改都会保存在本地历史记录中?
    • 如果你没有提交,你不可能有任何东西可以强制推动,除非你是落后项目的历史。也就是说,他们提交了,但你没有提交,所以你实际上及时收回了项目。如果是这种情况,选项 3 是唯一的选项(尽管他们不需要强制)。如果不存在这样的人,恐怕你已经失去了你覆盖的任何东西。
    • 现在我尝试在我自己的计算机上的 android studio 项目中提交/推送/推送力。在 VSC => 本地历史 => 显示历史中,我可以看到我在一个月前到现在所做的所有更改,即使在推力之后也是如此。如果我能在我想知道的项目中看到我在 Push force 之前所做的所有本地更改,那就太好了。即使我执行了 git force push,您是否知道是否所有本地更改都会保存在本地历史记录中?
    猜你喜欢
    • 1970-01-01
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 2019-11-29
    • 2019-04-10
    • 2020-12-05
    相关资源
    最近更新 更多