问题标签 [git-detached-head]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1786 浏览

git - 是否可以在 IntelliJ 中看到分离的头部状态?

是否可以在 IntelliJ 中看到分离的头部状态?

IntelliJ 发誓由于头部分离,它无法在 Git 上运行,但在日志中看不到任何这种状态的迹象。唯一的标志是十六进制分支显示在右下角。

是否可以在日志中显示所有提交并观察分离的头部状态?

0 投票
2 回答
78 浏览

git - 如何以分离头模式将文件提交到分支

我最终遇到了一个奇怪的情况,我在我的分支 v4.1.0-rc12 上检查了以前的提交。我已经修改了一些文件,我想将它提交到 v4.1.0-rc12 分支。

现在 HEAD 指针在我签出之前的提交后处于分离模式,我如何在分离模式下将这些更改提交到 v4.1.0-rc12 分支?

我希望我已经完成了“还原”而不是“签出”提交哈希。

是否有任何可能的解决方案来提交编辑的文件并将其添加到我的 v4.1.0-rc12 分支?

这就是我的“git reflog”显示的

我想将 441bfac 保存到 v4.1.0-rc12

任何帮助或想法将不胜感激。

0 投票
1 回答
1921 浏览

git - 无法“重新附加”分离的 HEAD git

我有一个分支bug-fix被另一个分支切断develop

在将我的更改从bug-fixinto合并后develop,我通过 github 删除了该分支,但是我相信当我删除它时我仍然签入了该分支。

我在分支中也有一个未跟踪的文件bug-fix

据说被删除后bug-fix,我签出develop并看到HEAD detached at develop

这是我试图修复分离头的所有内容:

1)首先,bug-fix当我运行时,已删除且不再出现在 github 上的分支仍然出现git branch 所以我尝试git fetch更新它。依然出现

2)我签出bug-fix并删除了未跟踪的文件

3)我尝试创建一个新分支temp,然后将其删除

0 投票
1 回答
31 浏览

branch - 如何在本地主机上强制分支版本?

我不得不将分离的头部重置为之前的提交。master 和 branch 都说没有要保存的本地更改。只有我的本地分支工作,本地主不工作!如何确保分支版本 gits 到我的来源?

0 投票
2 回答
1045 浏览

git - Git - 运行更新后子模块 HEAD 总是分离?

我在 .gitmodules 文件中有这个子模块的配置:

现在我想要有人克隆我的仓库然后运行这些命令:

是获取子模块的浅主分支。但是发生的事情是它没有结帐到master分支。它总是会脱离头,所以我需要手动运行git checkout master. 因此,用户不仅需要运行这两个命令,还需要运行一个额外的命令。

我调查了这个:为什么我的 GIT 子模块 HEAD 与主模块分离?

但是任何关于已接受答案的建议似乎都无济于事:我在.gitmodules文件中添加了我想要的分支,我添加了远程上游作为主控(这仅适用于在我必须结帐以掌握自己之后已经克隆/更新的存储库)。

那么,如果有人克隆我的存储库并想要设置子模块,这是否旨在始终分离 HEAD?

0 投票
1 回答
2470 浏览

git - Git-解决服务器上分离的HEAD

我对 Git 还很陌生——自从我开始为现在的雇主工作以来,我才开始使用它。

我最近向服务器推送了一些更改,合并了一个同事在我的本地开发机器上实现的错误修复。我通过branch从服务器上提取他们已经实施了错误修复的他们来做到这一点,并将其与我的本地master分支合并,该分支与代码的实时版本是最新的。我在本地开发机器上对此进行了测试,似乎一切正常,因此我将其推送到服务器。

然而,我所做的更改似乎在实时版本中引入了另一个错误(它引入的错误在本地测试修复时并不明显,只有在代码上线后才会出现)。

我引入的这个错误实际上导致内部公司网站的大量使用部分无法访问,因此我立即检查了最后一次工作commit并重新启动服务器,以便再次访问该站点。

我现在正在解决修复程序在我的本地开发机器上引起的问题,然后再次将修复程序推送到服务器,但是在服务器上检查了一个旧commit版本后,项目的实时版本处于一种detached HEAD状态。它当前所处的detached HEAD状态主要是功能性的(即它的工作方式与我的同事开始修复此错误之前的工作方式相同 - 因此错误仍然存​​在)。

我现在想解决detached HEAD服务器上的问题,以便我可以再次从服务器中提取工作代码,从这一点重新开始,但我不确定我如何将其余代码与detached HEAD我的代码“匹配”我目前正在工作。

如果我git branch在服务器上运行,输出显示我只有master分支(它已损坏 - 因为它有我在推送原始错误修复时引入的错误)​​,并且是当前指向(detached from 0e57d3d)的那个。HEAD

我看过的其他帖子似乎表明我应该结帐master以解决问题detached HEAD,但我不能这样做,因为我知道master目前已损坏。

那么我怎样才能“附加”HEAD又一次,以便代码在它所指向commit的状态下工作呢?HEAD我可以从那里运行一个git branch,然后检查它branch,然后让它成为master吗?还是有其他方法可以做到这一点?

0 投票
2 回答
5264 浏览

git - 如何从特定提交继续项目并修复 HEAD 分离问题?

我从我的项目中签出特定提交并从那里继续,希望在该提交之后的更改将被删除,并且我签出的提交将是新的负责人。我提交了新的更改,但我无法推送它们。我还是 git 的新手。

我所做的是:

  1. git checkout commit_hash
  2. 编辑项目
  3. git commit -m "新变化"
  4. git push -u 起源大师

我有:

当我输入git status我得到:

我在头部提交中更改了项目层次结构,因此我想将其恢复到以前的状态。我不想将它与头部合并。

我是这样做的(简单的方法,不专业): 我在一个文件夹中有更改的项目,而不是放在头上。我将 head commit 下载到新文件夹中,并从文件夹中复制了所有文件(git 文件除外)以及我对该文件夹的更改。删除了不必要的文件。添加所有更改,提交和推送。

谢谢,米洛拉德析米克

0 投票
1 回答
713 浏览

git - 修复带有分离头和不相关历史的 Git 分支

我需要修复一个 Git 存储库,它有一个分离的头部和 2 个具有不相关历史的连续分支。我必须在工作中使用 SourceTree,但如果需要,我也可以使用命令行。我要做的是将当前的 [Head](图像上的 3)与 [origin/master][origin/head][master] (2) 协调,而不会丢失其间的提交。我还想合并(或重新附加)2 个分支(粉色和蓝色)。(我总共只想要 1 个分支)。我不确定最好按哪个顺序进行:协调 [Head] 和 [origin/master] 或重新附加 2 个分支。

Git 存储库映像

我不得不隐藏所有的名字和评论,因为这是为了工作,我被允许分享的内容受到限制。很抱歉,如果这个问题没有达到最佳标准,这是我在任何类型的论坛上的第一个问题。

0 投票
2 回答
964 浏览

git - 用标签固定分离的头部

是否可以用标签固定分离的头部?换句话说,是否可以防止垃圾收集器在最后一次提交时删除带有标签的分离头中的提交?

我发现的所有其他帖子都谈到在分离的头中创建一个分支,以防止在离开另一个分支之前丢失在此状态下创建的提交。

据我了解,标签和分支之间的主要区别在于,与保持在创建它的完全相同位置的标签相比,分支随着头部移动。

在我的场景中,我使用 SHA-1 进行了检查,然后从此时开始进行了几次提交。在离开之前,我想放一个书签,我认为就语义而言,一个标签会比一个分支更好,以便稍后返回。

如果这是我唯一能做的事情,我此时创建分支而不是标签没有任何问题,但我想知道 git 在内部的行为与标签和与分离头相关的分支。

此外,从概念上讲,如果有人不同意我关于创建标签而不是分支的看法,在这种情况下,我们将不胜感激。

0 投票
1 回答
1043 浏览

git - 修复分离的头部,而不会丢失分离​​时所做的提交

在进行变基后,我目前有一个分离的 HEAD。我做了rebase,因为我认为这可以解决我的主要问题:一个远程仓库,它认为它与本地仓库是最新的(但实际上不是)。

所以这是我最新的提交:

我目前没有分行。

我现在想要的是回到我的测试分支,该分支将拥有我在重置后所做的最新 2 次提交。我该怎么做呢?