Git Branch新手 - 如何扭转?

MEM*_*MEM 9 git git-revert git-branch

不确定这是否是与分支机构合作的正确方法.

  • 我在结构A上有这个应用程序.
  • 当我在那个结构A上时,我创建了一个分支Z(但我在主分支上保持自己的工作).
  • 在工作时(在主分支上),我改变了这个结构,最终搞砸了所有东西.:)
  • 我从来没有提交也没有将这些新文件添加到代表.

请求:

  • 我需要恢复到最后一次提交时存在的结构.还原所有未提交的更改,并删除可能已添加的新文件和文件夹.

如何才能做到这一点?

Dan*_*een 12

如果您创建了一个单独的分支,那么您需要做的就是切换回之前的分支git checkout A:(假设A您所在的分支的名称......或者可能是它master).

如果你想要的话,你可以稍后删除坏分支,如果有未合并的提交,也git branch -d <branchname>可以丢弃-f.

编辑:如果您的存储库包含许多要删除的错误更改,您可以使用git reset --hard HEAD它们来撤消它们.如果有新文件(没有被git跟踪),git clean -fd将全部删除它们.显然,请谨慎使用,因为它们无法通过git恢复.


Dan*_*Ray 5

我需要反转到分支 Z 上的结构 A“快照”

$ git checkout A
$ git branch -d Z
$ git branch Z
$ git reset --hard HEAD~3
$ git checkout Z
Run Code Online (Sandbox Code Playgroud)

用英语:

删除您的“Z”分支并从“A”的当前状态重新创建它。

将您的 A 分支重置为三个提交。这是一个例子——在你的历史中,三可能不是正确的深度重置。将该数字更改为正确的数字(并用于计算git log分支发回的提交数量)。

切换到您的 Z 分支并确认您以前在“A”中的更改现在在“Z”中。