如果我运行gitbranch-d XYZ,是否有方法恢复该分支?有没有办法像我没有运行delete branch命令一样返回?


当前回答

如果您想使用GUI,可以使用gitk执行整个操作。

gitk --reflog

这将允许您查看分支的提交历史,就像该分支未被删除一样。现在只需右键单击分支的最近提交,然后选择菜单选项“创建新分支”。

其他回答

首先转到git批处理项目,如:

cd android studio project
cd Myproject
then type :
git reflog

你们都有一个更改列表,参考号取参考号,然后从android studio或git betcha结账。另一个解决方案是获取参考号,然后转到android工作室,单击git分支,然后单击签出标签或参考号之后的修订,然后lol您就有了分支。

除了tfe的答案之外,您可以使用上述过程进行恢复,除非它的提交没有被垃圾收集。Git分支只是指向提交树中特定提交的指针。但是,如果您删除了指针,并且该分支上的提交没有合并到其他现有分支中,那么git会将其视为悬空提交,并在垃圾收集期间删除它们,垃圾收集可能会定期自动运行。

如果您的分支没有合并到现有分支,并且它被垃圾收集,那么您将放弃所有提交,直到分支从现有分支分支出来。

谢谢大家。

我的问题是我删除了GitLab(远程)和GIT(本地)上的分支。

但不知怎么的,我得到了我的承诺,就像这样:

首先,我得到了最后一次提交(SHA)

git log --graph --decorate $(git rev-list -g --all)

我简单地签出了上一个SHA

git checkout <SHA>

然后我通过键入

git switch -c <branch-name> 

然后我拿回了我的承诺我又把树枝推了一遍

谢天谢地。

ps:不知为什么(SHA)是一个提交代码

第一种类型

git reflog

在终端中。

之后,获取HEAD@{**number**}(例如HEAD@{12})。

现在输入:

git checkout -b 'branch_name' 'HEAD@{22}'

如果您想使用GUI,可以使用gitk执行整个操作。

gitk --reflog

这将允许您查看分支的提交历史,就像该分支未被删除一样。现在只需右键单击分支的最近提交,然后选择菜单选项“创建新分支”。