好吧,我倒了推,并用我的主人覆盖了我的活动分支。我似乎无法找到任何方法来扭转这种损害。我在这里阅读并尝试了很多选项,但没有人回复我的更改。
发生了什么:
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保护我......有什么建议吗?
答案 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
我正在检查成功......