本地git远程回购丢失的主分支

问题描述 投票:0回答:1

查看了SO的答案之后,我找不到与我认为我的问题现在相近的任何东西。

对git来说还很陌生,我遵循了一些newby建议开始了一个新项目。

我的设置:本地NAS具有原始的主git存储库,首先是从目录中添加不受git控制的代码开始的代码。使用TortoiseGit(TG),我添加了基本代码,并不断修改,编译和提交到本地存储库,然后推送到NAS存储库。

最初,所有内容都按照所有教程显示的方式进行,但是有一次我想创建一个分支来测试旨在解决特定问题的代码,该分支持续了一段时间并成为事实上的主分支。我想将其合并回主服务器,但是似乎做出了一些错误的选择,现在我的主服务器和本地仓库都不再拥有任何主分支,并且只有一个名为Branch_new的分支。

虽然从理论上讲,我认为我可以继续进行这个标签错误的分支,但我还是希望回到更常规的设置。

在这个阶段,保留所有的历史记录并不是很重要,我可以简单地从假装当前代码是我的最初基础开始,但是在学习更多有关git的做事方式的过程中,我更想学习如何从混乱中解脱出来。

TIA

git
1个回答
0
投票

首先,并不是一切都丢失了。默认情况下,git仅在两周后才清除任何分支都未引用的提交(请参见git help gc)。如果两个星期还没有过去,那么您可以恢复工作。现在找到这些提交可能会有些棘手。有多种方法可以实现此目的,我最喜欢reflog。您可以通过git reflog命令或在.git/logs/HEAD下查看原始文件来访问它,该文件将向您显示您去过的所有位置(提交),以及使git切换到该提交或删除命令的命令科。找到提交后,从中重新创建分支(以将其保存为垃圾回收)就像git branch <branch_name> <commit>一样简单。您可以通过git log <commit>预先验证历史记录,因为所有提交都指向其祖先,因此您将获得到此为止的完整历史记录。

© www.soinside.com 2019 - 2024. All rights reserved.