如何解决Git Branch新手-如何反向?
| 不确定这是否是使用分支的正确方法。 我在结构A上有此应用程序。 当我在结构A上时,我创建了一个分支Z(但是我将自己保持在主分支上)。 在工作时(在master分支上),我改变了结构,最终弄乱了所有东西。 :) 我从未提交过这些新文件,也从未将这些新文件添加到该代表中。 请求: 我需要恢复到上一次提交时存在的结构。还原所有未提交的更改,并删除可能已添加的新文件和文件夹。 如何才能做到这一点?解决方法
如果您创建了一个混乱的单独分支,那么您所要做的就是切换回之前的分支:
git checkout A
(假设A
是您所在分支的名称...或者也许是master
)。
如果需要,可以稍后用git branch -d <branchname>
删除错误的分支,如果有未合并的提交,也可以扔入-f
。
编辑:如果您的存储库包含许多要删除的不良更改,则可以使用git reset --hard HEAD
撤消它们。如果有新文件(不是git跟踪的),ѭ6将删除它们。显然,请谨慎使用它们,因为它们将无法通过git恢复。
, 我需要反转分支Z上的结构A \“快照\”
$ git checkout A
$ git branch -d Z
$ git branch Z
$ git reset --hard HEAD~3
$ git checkout Z
用英语:
删除您的\“ Z \”分支,然后从\“ A \”的当前状态重新进行创建。
将您的A分支重置为三个提交。这是一个例子-在您的历史记录中,三个深度可能不是正确的重置值。将该数字更改为正确的数字(并使用git log
找出分支所发回的提交数)。
切换到Z分支,并确认以前在\“ A \”中的更改现在在\“ Z \”中。
,我怀疑您仅使用以下方式创建了分支:
git branch Z
当您实际上想要创建它并切换到它时。您可以使用-b标志进行git checkout创建分支并切换到该分支,如下所示:
git checkout -b Z
现在您需要做的是撤消您已提交到master分支的更改。这将撤消提交,并使索引看起来像提交之前一样:
git checkout master
git reset --soft HEAD^
然后切换到Z并提交来自索引的更改(已分阶段):
git checkout Z
git commit -m \"blah blah\"
希望这可以帮助。
哦,是的,避免直接在master上工作,除非它是一个简单的错误修复程序。
请保留您的答案,因为它
包含我必须注意的重要概念
了解。那没用。我什么
需要的是:抓住分支Z并将其放置
作为大师-这可能吗?
当然是这样。您可以通过许多不同的方式来执行此操作。如果只有一个提交,则可以将Z分支合并到master中,以将该提交纳入master。但是我假设您根本不需要在Z分支上的提交。然后您可以执行相同操作,但切换分支,例如:
git checkout Z
git reset --soft HEAD^
git checkout master
git commit -m \"blah blah\"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。