如何撤消git push或将origin / mybranch移动到上一步?

时间:2016-12-01 10:13:04

标签: git undo

我在代码中做了错误的修改,然后提交了它们,然后将它们推送到远程。

现在本地mybranchorigin/mybranch同步。

我发现我的代码错了。我想退一步。我确实将当前分支重置为先前的提交并在本地存储库中获得了正确的状态,但无法将其推送到远程。

如果我正常推送,它会合并,我会再次使用错误代码。

在我强制推送之后,我的额外提交在逻辑上消失了,但我仍然有错误的代码。

现在我要手动恢复旧时尚风格的变化。

这是更好的表现方式吗?

4 个答案:

答案 0 :(得分:0)

重置为正确的代码后

git push origin mybranch -f

-f表示强制

答案 1 :(得分:0)

您可以恢复提交:

git revert <commit-hash>

Git将创建一个提交,撤消提交的提交中的任何更改

文档:https://git-scm.com/docs/git-revert

另见:https://stackoverflow.com/a/22683231/4499267

答案 2 :(得分:0)

  

我想退一步[原文如此]。

你应该

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000000" > <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="#1c1c1c" android:layout_marginLeft="100dp" android:layout_marginRight="100dp" > <LinearLayout android:id="@+id/pagelogolayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:background="@drawable/logoborder"> <ImageView android:id="@+id/logoimage" android:layout_width="170dp" android:layout_height="90dp" android:layout_marginTop="5dp" android:background="@drawable/listpagelogo" android:layout_marginLeft="10dp" android:layout_marginBottom="15dp" /> </LinearLayout> <RelativeLayout android:id="@+id/mainmenu" android:layout_width="match_parent" android:layout_height="90dp" android:layout_below="@+id/pagelogolayout" android:orientation="horizontal" android:background="@drawable/main_menu_border" android:nextFocusDown="@+id/submenu" android:focusable="true"> </RelativeLayout> <RelativeLayout android:id="@+id/submenu" android:layout_width="match_parent" android:layout_height="70dp" android:layout_below="@+id/mainmenu" android:orientation="horizontal" android:background="@drawable/sub_menu_border" android:nextFocusDown="@+id/container" > </RelativeLayout> <RelativeLayout android:id="@+id/container" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_below="@+id/submenu" android:layout_marginTop="30dp" android:layout_marginLeft="30dp" android:nextFocusUp="@+id/submenu" /> </RelativeLayout> </RelativeLayout>

并选择要保留的提交。

答案 3 :(得分:0)

如果要删除带有更改的上次提交,则需要执行--hard重置。

$ git checkout mybranch
$ git reset --hard HEAD~1            # undo last commit with changes
$ git push -f origin HEAD