问题标签 [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.
git - 处于分离 HEAD 状态时如何列出 git 分支?
通常,我可以使用 列出本地分支,使用 列出git branch
远程分支git branch -r
。但是,这些命令不适用于分离的 HEAD - 我得到了fatal: HEAD does not point to a branch
(大概是因为 git branch 试图确定当前分支以便它可以用星号标记它)。
当我处于分离的 HEAD 中时,获取分支信息的最佳方式是什么?请注意,我想以相同的格式获得输出,包括着色。
git - Git子模块分离头状态
我在externals/subA 和externals/subB 的项目中添加了2 个子模块subA 和subB。
今天另一个团队成员提交了他的代码,当它被拉出时,subA 和 subBgit status
在 externals/subA 和 externals/subB 中使用时都显示分离头状态。
我先做了git submodule update
,没有报告错误。我一次又一次地尝试git submodule init
,git submodule update
但它没有改变。
我们怎样才能让子模块恢复同步?是什么导致子模块出现这种情况?这是我们开始以来第一次出现问题。谢谢。
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 withgit commit -m "oh shit, detached head commit"
andgit 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.
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 状态论坛,但未能找到解决方案。任何帮助表示赞赏。
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 在线创建
git - 如何可靠地获得可以再次结帐的 HEAD 值?
我的 Git 存储库处于HEAD
可能是一个分支的状态,或者它可能是一个分离的 head。在脚本中,我想获取当前值,以便以后可以可靠地恢复它git checkout
:也就是说,如果我们现在在一个分支上,我想回到那个分支,而不是那个提交的分离头. 获得该信息的最简单方法是什么,而不必在我的脚本中分别处理这两种情况?
android - 根据先前的提交推送更改?
我在最近一次提交之前检查了提交,进行了一些更改,现在我想用最近的提交(“添加调用API...”)。但是,Android Studio 不允许我推送,因为头部是分离的。我该怎么做才能解决这个问题?我是否创建一个新分支并尝试合并?删除最新的提交,然后尝试推送?任何帮助表示赞赏。
git - 返回两次提交,但将最后两次保留在新分支中
我想返回两次提交,这将导致头部分离,在HEAD之后进行两次提交。但是,我希望这两个提交将它们保留在一个新分支中,并且master指向已签出的提交。
我该怎么做?
git - 以编程方式检查 HEAD 是否分离?
我想知道我是否在脚本中处于“HEAD detached”状态。
目前我解析输出,git status
但我不喜欢这样做,因为我听说解析用于人类的 Git 输出是一种不好的做法——我想要一个程序友好的界面来告诉我 HEAD 是否已分离。我也不想手动查看.git/HEAD
或解析git description
or git branch
。
有任何想法吗?
git - 从 git 拉取后,子模块处于分离的头部状态
我在 Windows 8.1 上运行 git,并使用以下批处理脚本从上游拉取:
我知道这是多余的,但反复试验表明,有时上述命令中的任何一个都无法获取其他命令所获取的内容,因此在与它战斗了一段时间并阅读了关于 SO 的不同答案后,我放弃并去了采用“腰带和吊带”的方法。
这工作了大约一年,直到一周前我更新到 git 版本 2.18.0.windows.1
从那时起,几乎每次调用都会导致某些子模块中的头部分离。我进入有问题的git checkout
分支,正确的分支,git pull
从子模块内部执行一个,一切看起来都很好,但是如果我尝试在主仓库中再次运行脚本,BAM!即使上游没有发生任何变化并且没有任何内容被拉出,相同的子模块也会进入分离的头部状态。
我知道唯一改变的是 git 版本。
我做错了什么,正确的方法是什么?
编辑:
项目已建立,子模块用于在多个存储库之间共享的文件,并且这些文件由开发人员定期更改(不,我没有发言权)。
我想要完成的是在他们的签出分支上获取存储库的最新提交,然后更新超级项目指针并推送到原点。
编辑2:
下面会做我上面的打算吗?