将Git上的推送工作恢复到以前的提交

将Git上的推送工作恢复到以前的提交,git,Git,这是我从assembla提交的文件 当我做git日志时 nothing to commit, working directory clean Secret-MacBook-Air:q-sort judyngai$ git log commit bcab1e2ea50b4ce427d64d20f748c5b64a0d08b3 Author: secret <secret@gmail.com> Date: Sat Feb 8 19:39:01 2014 -0500 Reve

这是我从assembla提交的文件

当我做git日志时

nothing to commit, working directory clean
Secret-MacBook-Air:q-sort judyngai$ git log
commit bcab1e2ea50b4ce427d64d20f748c5b64a0d08b3
Author: secret <secret@gmail.com>
Date:   Sat Feb 8 19:39:01 2014 -0500

    Revert "restoring t_c"

    This reverts commit d95c6427869a6924358112a2b6c1d87dc29faa38.

commit cef4c538beeeec37287d57f2b78e7f89412c57e6
Author: Secret <secret@gmail.com>
Date:   Sat Feb 8 19:38:51 2014 -0500

    Revert "Revert "restoring t_c""

    This reverts commit 3c61d17b71ae5017cf364a83c664f0b77603700b.

commit 3c61d17b71ae5017cf364a83c664f0b77603700b
Author: Secret <secret@gmail.com>
Date:   Sat Feb 8 19:35:38 2014 -0500

    Revert "restoring t_c"

    This reverts commit d95c6427869a6924358112a2b6c1d87dc29faa38.

commit d95c6427869a6924358112a2b6c1d87dc29faa38
Author: Secret <secret@gmail.com>
Date:   Sat Feb 8 19:34:44 2014 -0500

    restoring t_c
    Revert "moved to better traco version and added specific load path to config/init/local.rb"

    This reverts commit 202ca306b0076c77748c9d3d0845506a529ab767.

commit 202ca306b0076c77748c9d3d0845506a529ab767
Author: Secret <secret@gmail.com>
Date:   Sat Feb 8 18:17:40 2014 -0500

    moved to better traco version and added specific load path to config/init/local.rb

commit a745f3e353d28b3170f5f30849c9ab31cf35e795
Author: Secret <secret@gmail.com>
Date:   Sat Feb 8 16:00:19 2014 -0500

    removed translatable_column fear clash with traco

commit 634537e267c9035b201060131ae0467f0891a233
Author: Secret <secret@gmail.com>
Date:   Sat Feb 8 15:34:42 2014 -0500

    downgraded traco to be compatible with 1.8.8

commit 5908ea1388d16a2665f90533405e70b1d4c343de
Author: Secret<secret@gmail.com>
Date:   Sat Feb 8 15:05:48 2014 -0500

    trying traco instead of translatable_column

commit 0e0db6404246fd9e239183da437e5bd0a4235ca1
Author: Secret <secret@gmail.com>
Date:   Fri Feb 7 17:30:35 2014 -0500

    uninstalled pg
我会在一个分离的脑袋里结束吗

我试过了

git reset --hard committhatIwanttoreturnto
但这只是一个临时解决方案,我将支持许多提交

我尝试签出第一次提交,然后返回

做过


两次并最终恢复了我的恢复。因为我想我可以一个接一个的还原

如果在
重设--hard
后不想
git push--force
,只需进行一次新的提交,该提交看起来像“
提交我想要返回的”
”,如“”:

首先确保您位于正确的分支上(即包括那些revert commit和
commit而不是我想要返回的分支的分支)


这将在当前分支上创建一个新的提交,该分支的确切内容为“
committhattiwanttoreturnto
”。

“我想从我发布的日志中永久返回上一次提交”关于“我将在分离的头中结束?”:Revert不分离头;如果你在回复后处于“头部分离”的状态,那么在开始之前你就处于这种状态。然后,您说“我尝试签出第一个提交”:您可能确实签出了,这就是导致“分离头”的原因。@fge it it this one,commit 0e0db6404246fd9e239183da437e5bd0a4235ca1这是(嗯,“a”)正确答案,假设您在目标分支上执行此操作;但我认为原来的海报在枝头林立的森林中迷失了方向@这是可能的。我在回答中添加了需要先签出一个分支。
git reset --hard committhatIwanttoreturnto
git revert HEAD
$ git checkout theRightBranch

$ git reset --hard committhatIwanttoreturnto
$ git reset --soft @{1}  # (or ORIG_HEAD)
$ git commit -a