Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在git中,如何用一个分离的头完全删除一个分支?_Git_Github_Merge - Fatal编程技术网

在git中,如何用一个分离的头完全删除一个分支?

在git中,如何用一个分离的头完全删除一个分支?,git,github,merge,Git,Github,Merge,我处于恐慌状态 我不小心弄坏了几根树枝,失去了一些工作,但到目前为止我仍然有希望。有一个独立的头部,包含约10个小时的工作 我损坏了另一个,它花了12个小时试图合并/恢复一个git分支,使之成为分离头的信息 基本上,我需要/想要的是获取当前分离的头部,并强制一个分支逐个字符地成为分离的头部,不合并,不检查。唯一重要的是,分支完全变成了分离的头部,而git却不想聪明地对待它 然后,我需要将这个被删除的分支与master合并 请帮助,10个小时的工作是相当多的。首先做一个git状态,以确认没有未跟踪

我处于恐慌状态

我不小心弄坏了几根树枝,失去了一些工作,但到目前为止我仍然有希望。有一个独立的头部,包含约10个小时的工作

我损坏了另一个,它花了12个小时试图合并/恢复一个git分支,使之成为分离头的信息

基本上,我需要/想要的是获取当前分离的头部,并强制一个分支逐个字符地成为分离的头部,不合并,不检查。唯一重要的是,分支完全变成了分离的头部,而git却不想聪明地对待它

然后,我需要将这个被删除的分支与master合并


请帮助,10个小时的工作是相当多的。

首先做一个git状态,以确认没有未跟踪的文件(并且头部已分离)

然后从那里创建一个新分支:

git checkout -b tmp
最后,您可以将任何分支重置为该分支:

git checkout -B aBranch tmp
如果您的工作(在此分支中或另一个分支也已损坏)已提交,您应该能够在中找到这两个分支


别忘了检查IDE:它可以为您的文件保存自己的本地历史记录。(例如,)

首先要做的是复制整个git回购/项目; 然后你可以尝试任何东西,在有安全备份的情况下到处乱搞

如果您有权访问
gitk
,则可以使用
gitk--all
获得良好的概述 在树中的所有引用中,本地、远程和隐藏提交 显示一些假定丢失的引用

git checkout -b <new branch>

例如,如果将分支中的一个提交重新设置为
已恢复的
主控

的基础上,只要它在git中,您就不会丢失任何东西。尽管git有这么大的魔力,有时我们会忘记它只是一个可以复制的目录。一旦我们意识到这一点,在临时副本中执行深层魔法(
reflog
filter branch
)通常会更容易,直到我们做对为止。只是不要保留副本,多个历史记录稍后会变得混乱!;)
git rebase --onto master recovered^ recovered