反向git push覆盖了我的活动分支?

时间:2015-10-31 16:49:41

标签: git

编辑:我有" git log -p"这似乎显示了diff模式中的所有变化。无论如何都要处理这个日志吗?

好吧,我倒了推,并用我的主人覆盖了我的活动分支。我似乎无法找到任何方法来扭转这种损害。我在这里阅读并尝试了很多选项,但没有人回复我的更改。

发生了什么:

git add --all
git commit -m "...comments"
git push staging master:alerts

我应该做的是:

git push staging alerts:master

我所做的是在我的本地存储库中使用master覆盖警报,并且似乎已经完成了损坏。我在git指南中研究并尝试了一些建议,并且在这里没有成功。

我尝试了各种版本的命令,例如git revert; git reset等等。当前的hash / HEAD @ {0}没有我最近的更改,旧的hash / HEAD @ {1}甚至更旧。我当前分支的所有更改似乎都无法挽回地丢失,被主人覆盖。

让我感到困惑的是,这样一个简单的错误可以在没有警告或追索的情况下做到这一点。我以为git保护我......有什么建议吗?

2 个答案:

答案 0 :(得分:1)

只要你没有强制推送,就不会丢失任何提交。所以没有什么git应该警告你。如果您没有看到最近对本地警报所做的更改,那么您要么做了其他破坏性的事情,要么看起来不正常。您可以随时使用'git reflog'来恢复最近的本地提交。

答案 1 :(得分:0)

好吧,到目前为止,我正在努力使用补丁程序。

补丁日志由:

创建
git format-patch master --stdout > my.patch

暂时将my.patch移动到另一个目录,然后:

git checkout master

将其移回,然后这些命令应该应用它:

git apply --stat my.patch
git apply --check my.patch
git apply --apply my.patch

您可以使用以下命令在补丁上签名,而不是最后一个命令:

git am --signoff < my.patch

我正在检查成功......

这一切都来自:How to create and apply a patch with git