1
2182
是的,你应该能做到
如果您刚刚删除了分支,您将在终端中看到类似的内容
|
2
174
大多数情况下,无法访问的提交都在reflog中。所以,
首先要看一下reflog
使用命令
如果提交是仍然存在的特定分支的一部分,那么使用命令可能更容易
(可能是因为被不在reflog中写入的第三方工具删除了),我成功地恢复了一个分支,方法是使用这样的命令将我的分支重置为提交的sha(它创建了一个包含所有悬空提交的文件):
如果您应该多次使用它(或者希望将它保存在某个地方),您还可以使用该命令创建别名。。。
要调查发现的提交,可以使用一些命令来显示每个提交。 要显示提交元数据(作者、创建日期和提交消息):
找到提交后,使用以下命令在此提交上创建分支:
对于那些在Windows下并且喜欢gui的用户,您可以使用
GitExtensions
通过使用功能
类似的命令可轻松恢复已删除的暂存文件: https://stackoverflow.com/a/58853981/717372 |
3
51
如果您喜欢使用GUI,可以使用gitk执行整个操作。
|
4
29
将您与可能忘记提交的所有最近更改一起移动到新分支。这可能不是您的意图,尤其是在失去分支后处于“恐慌模式”时。
A
更清洁(更简单)的解决方案
似乎是唯一的班轮(在你找到
现在,当前分支和未限制的更改都不会受到影响。相反,只有一个新的分支会一直创建到
最后,您可以将成功还原的分支重命名为它的名称或任何其他名称:
|
5
14
tfe
answer
git-resurrect.sh
|
6
11
我使用以下命令来查找和检索已删除的分支。第一步来自gcb的描述。
现在根据commit注释查找git commit id(git-SHA),并在下面的命令中使用它。使用以前找到的GIT-SHA签出名为new-branch的新分支:
|
7
9
如果您没有reflog,例如,因为您正在一个没有启用reflog的空存储库中工作,并且您要恢复的提交是最近创建的,另一个选项是查找最近创建的提交对象并查看它们。
从内部
我想尝尝这个-压力ct.sh中提到的脚本 Jakub's answer |
8
9
为了 GitHub 未安装Git的用户: 弗斯特
下一个 转到分支并删除该分支。 在同一页上,不重新加载 ,打开DevTools,网络面板。现在准备。。。 单击“还原”。你会注意到一条新的“线”。右击它并选择“Copy as cURL”并将此文本保存在某个编辑器中。
您现在应该得到如下结果:
最后一步
附笔。 我意识到这可能不是“最简单的解决方案”或“正确的”解决方案,但它是在有人发现它有用的情况下提供的。 |
9
8
据我所知,如果要删除的分支可以被另一个分支访问,您可以使用
你的工作没有丢。请记住,分支不是快照,而是指向快照的指针。所以当你删除一个分支时,你就删除了一个指针。
如果你删除了另一个分支无法到达的分支,你甚至不会失去工作。当然,这不会像检查提交散列那么容易,但您仍然可以这样做。这就是为什么Git不能删除使用
这是Scott Chacon关于Git的必看视频的一部分。查看58:00分钟,他谈到了分支以及如何删除它们。 |
10
7
2.要还原分支,请使用:
如果您的提交不在reflog中:
2.然后可以使用以下其中一种方法显示每个提交:
|
11
5
要恢复已删除的分支,首先要查看reflog历史,
其中n表示最后n个提交。然后找到合适的头并用这个头创建一个分支。
|
12
4
以下是我如何找到它们的(主要是一个更简单的界面/与答案相关的交互):
这将创建一个
现在你有一个
假设您使用的是Bash,最后一步:
输入 |
13
3
如果删除了分支并忘记了它的提交id,则可以执行以下命令:
在此之后,您将能够看到所有提交。
那你就可以了
|
14
2
大的是的 遵循以下简单步骤 https://confluence.atlassian.com/bbkb/how-to-restore-a-deleted-branch-765757540.html 如果您使用的是smartgit,并且已经推送了该分支 |
15
2
我在删除分支的计算机上执行了以下操作:
答复:
|
16
1
首先转到git批量迁移到您的项目,如:
你们都有一个变更列表,参考号取参考号,然后签出
|
17
1
如果您的分支没有合并到现有分支,并且它是垃圾收集的,那么您将丢失所有提交,直到分支从现有分支分叉的位置为止。 |
18
1
我来到这个网页后,搜索“如何知道什么是删除的分支”。
如果您转到Git URL,它将如下所示:
然后你可以看到提要,删除了什么,被谁删除了,在最近的过去。 |
19
0
只是使用
所以我用
|
20
0
和请注意,git branch delete只删除本地副本,而不删除服务器上的副本。首先,在Git面板(左侧工具栏上的Git图标)中,查看分支,看看您的分支是否仍在“origin/your\u branch\u name”下。如果是这样的话,只需选择它,您就应该将代码取回(建议您立即将其复制/粘贴/保存到本地其他地方)。 如果您没有看到“origin/your\u branch\u name”,请安装GitLens扩展。这使您可以直观地浏览服务器存储库并找到同步到服务器的副本。如果您有多个存储库,请注意,可能需要至少从所需的存储库中打开一个文件,才能使存储库显示在GitLens中。然后:
您应该在“分支”或“远程->来源”下找到您的LostSure。希望您能看到一个具有所需名称的分支—如果展开它,您应该会看到在该分支中更改的文件。双击文件名以打开它们,并立即备份该代码。 如果你没有立即看到你丢失的分支,四处看看,如果你发现了一些有前途的东西,立即打开它并抓取代码。在找到goldenbranch之前,我不得不花了不少时间,即使这样,代码也会丢失最后一次或两次保存(可能是因为我在尝试-a-Branch-Merge-but-uncilly-clicking-Branch-Delete之前未能同步到服务器)。我的搜索被不必要地延长了,因为当我第一次找到分支时,我不完全确定名称是否正确,所以继续寻找,并且花了一些时间重新找到第一个分支。 然后 继续找。) |
charleslcso · 从开源克隆并推送到我的GitHub[重复] 1 年前 |
Itachi · 无法为python项目安装“DAWG”包 1 年前 |
Igor · git重置已删除目录上的头 2 年前 |
Robo · 撤消删除Git中被忽略的文件 2 年前 |
Ali EXE · 如何根据bat中命令的输出设置变量? 2 年前 |
ShortArrow · 如何使用git管理链接源文件? 2 年前 |
Siggi · 使用git移动文件时丢失历史记录 2 年前 |