问题标签 [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 回答
327 浏览

git - 处于分离 HEAD 状态时如何列出 git 分支?

通常,我可以使用 列出本地分支,使用 列出git branch远程分支git branch -r。但是,这些命令不适用于分离的 HEAD - 我得到了fatal: HEAD does not point to a branch(大概是因为 git branch 试图确定当前分支以便它可以用星号标记它)。

当我处于分离的 HEAD 中时,获取分支信息的最佳方式是什么?请注意,我想以相同的格式获得输出,包括着色。

0 投票
1 回答
5225 浏览

git - Git子模块分离头状态

我在externals/subA 和externals/subB 的项目中添加了2 个子模块subA 和subB。

今天另一个团队成员提交了他的代码,当它被拉出时,subA 和 subBgit status在 externals/subA 和 externals/subB 中使用时都显示分离头状态。

我先做了git submodule update,没有报告错误。我一次又一次地尝试git submodule initgit submodule update但它没有改变。

我们怎样才能让子模块恢复同步?是什么导致子模块出现这种情况?这是我们开始以来第一次出现问题。谢谢。

0 投票
1 回答
2885 浏览

git - How to reconcile detached head and origin/master? Already checked out old hash

Intro and search

So I think I have made a grave mistake and I am concerned. I have parsed the forums for detached heads and I have come close to finding an answer, but the scenarios are too specific and not applicable to where I am at. If you find a specific thread that answers my question, please do link me.

For example: How can I reconcile detached HEAD with master/origin?

The guy has already done git rebase -i, which I have not. I've tried rebasing, but it didn't solve my issue.

Little background:

  • I am new to git; I use git only by myself
  • I own the remote repository
  • Needed old set of code, and it was time-sensitive issue
  • I picked up a little programming and am using it at workplace where no one else codes (so I can't quite ask for help)

Issue:

To access the old commit with working code, I did (probably the wrong thing):

I proceeded to finish the code. Thank goodness for version control! But shoot, why is git so complicated? How do I save this work? I am now in a detached head. Origin/Master is in some future commits that preferably should all be deleted.

What I have tried:

  • copied and pasted the entire folder elsewhere just for back-up
  • git add -A followed with git commit -m "oh shit, detached head commit" and git rebase master
  • git reset --hard HEAD~3 per recommendation here: Checkout old commit and make it a new commit

Question: How do I reconcile my detached head with origin/master? Once reconciled, do I need to git push --force or something (specifically with the --force flag)? There is work at this detached head, and I've read that the longer I wait, garbage collection may come and eat my lost branch. Sorry, I do lack any formal training in git... I am almost ready to just check out origin master and then rewrite the code.

Thank you in advance.

0 投票
2 回答
1528 浏览

git - GIT 结帐标签问题 - 分离的 HEAD 状态

该项目的目的是调用不在标准 UNIX 路径中的代码。

我的教授提供了从 GIT 存储库中克隆 gawk 的步骤,然后以 autoconf 格式构建和安装。

我的问题是 - 从 git://git.savannah.gnu.org/gawk.git 克隆后,我需要更改要安装的版本。当我使用教授提供给我们的 git checkout tags/gawk-3.1.8 命令时,我收到以下输出。当我使用 make 和 make install 命令时,我最终得到的是最新版本的 gawk 而不是 3.1.8。

我搜索了几个独立的 HEAD 状态论坛,但未能找到解决方案。任何帮助表示赞赏。

0 投票
1 回答
1469 浏览

git - 为什么它总是一个分离的HEAD?

我有一个带有两个遥控器的 git repo。

以上是我的repo的基本结构。分支 sfcc 是从 cm 的另一个分支 sfcc 中提取的。

分支 sfcc 和功能也被推送到远程源。

分支 sfcc 尚未合并到源/主。

现在我在本地分支功能上。除了创建这些分支之外,我还没有做任何更改。我尝试切换到 origin/sfcc,这让我处于分离状态。

HEAD 现在位于 9d4f1707 将https://github.com/bla-bla-cm的分支 'sfcc-18' 合并到 sfcc 中。

再次,当我尝试结帐来源/迁移时,我收到相同的消息。

git status我得到工作树干净并且没有任何承诺。

即使什么都没有改变,为什么我会陷入这种情况?

如果在 cm/sfcc-18 上发生了一些变化,我不希望它被跟踪关于 cm repo 的变化。我已经使用 origin/master 设置了 origin/sfcc 的上游跟踪。

我也无法结帐来源/主人。我收到以下消息

以前的 HEAD 位置是 9d4f1707 将https://github.com/bla-bla-cm的分支 'sfcc-18' 合并到 sfcc

HEAD 现在位于 e71242f0 .gitignore 使用 Bitbucket 在线创建

0 投票
1 回答
19 浏览

git - 如何可靠地获得可以再次结帐的 HEAD 值?

我的 Git 存储库处于HEAD可能是一个分支的状态,或者它可能是一个分离的 head。在脚本中,我想获取当前值,以便以后可以可靠地恢复它git checkout:也就是说,如果我们现在在一个分支上,我想回到那个分支,而不是那个提交的分离头. 获得该信息的最简单方法是什么,而不必在我的脚本中分别处理这两种情况?

0 投票
1 回答
37 浏览

android - 根据先前的提交推送更改?

GitLog

我在最近一次提交之前检查了提交,进行了一些更改,现在我想用最近的提交(“添加调用API...”)。但是,Android Studio 不允许我推送,因为头部是分离的。我该怎么做才能解决这个问题?我是否创建一个新分支并尝试合并?删除最新的提交,然后尝试推送?任何帮助表示赞赏。

0 投票
1 回答
108 浏览

git - 返回两次提交,但将最后两次保留在新分支中

我想返回两次提交,这将导致头部分离,在HEAD之后进行两次提交。但是,我希望这两个提交将它们保留在一个新分支中,并且master指向已签出的提交。

我该怎么做?

0 投票
3 回答
2085 浏览

git - 以编程方式检查 HEAD 是否分离?

我想知道我是否在脚本中处于“HEAD detached”状态。

目前我解析输出,git status但我不喜欢这样做,因为我听说解析用于人类的 Git 输出是一种不好的做法——我想要一个程序友好的界面来告诉我 HEAD 是否已分离。我也不想手动查看.git/HEAD或解析git descriptionor git branch

有任何想法吗?

0 投票
1 回答
664 浏览

git - 从 git 拉取后,子模块处于分离的头部状态

我在 Windows 8.1 上运行 git,并使用以下批处理脚本从上游拉取:

我知道这是多余的,但反复试验表明,有时上述命令中的任何一个都无法获取其他命令所获取的内容,因此在与它战斗了一段时间并阅读了关于 SO 的不同答案后,我放弃并去了采用“腰带和吊带”的方法。

这工作了大约一年,直到一周前我更新到 git 版本 2.18.0.windows.1

从那时起,几乎每次调用都会导致某些子模块中的头部分离。我进入有问题的git checkout分支,正确的分支,git pull从子模块内部执行一个,一切看起来都很好,但是如果我尝试在主仓库中再次运行脚本,BAM!即使上游没有发生任何变化并且没有任何内容被拉出,相同的子模块也会进入分离的头部状态。

我知道唯一改变的是 git 版本。

我做错了什么,正确的方法是什么?

编辑:

项目已建立,子模块用于在多个存储库之间共享的文件,并且这些文件由开发人员定期更改(不,我没有发言权)。

我想要完成的是在他们的签出分支上获取存储库的最新提交,然后更新超级项目指针并推送到原点。

编辑2:

下面会做我上面的打算吗?