相关疑难解决方法(0)

为什么我的Git repo进入了独立的HEAD状态?

我今天最终得到了一个独立的头,同样的问题如下所述:git push说一切都是最新的,即使我有本地更改

据我所知,我没有做任何与众不同的事情,只是从我当地的回购中提交和推送.

那我怎么最终得到一个detached HEAD

git

365
推荐指数
7
解决办法
20万
查看次数

只显示Git中的当前分支

我尝试为此寻找一个特殊的git命令,但找不到一个.任何人都可以提出更短或更快的建议:

git branch | awk '/\*/ { print $2; }'
Run Code Online (Sandbox Code Playgroud)

git branch git-branch

326
推荐指数
6
解决办法
11万
查看次数

如何处理分离头中的提交

使用git我做了这样的事情

git clone
git checkout {a rev number tree rev before} (here I started to be in a detached head state)
//hacking
git commit
//hacking
git commit
(some commit where made on origin/master)
git pull (which does complete because there was some error due to the fact that I'm no more on master)
Run Code Online (Sandbox Code Playgroud)

因为它告诉我,当我处于一个独立的头状态时,我仍然可以犯下这样做.但现在我想要合并我的分离头分支和我的本地主分支,然后将我的一堆更改推送到origin/master.

所以我的问题是如何将主分支与我的实际状态合并(分离头)

git git-checkout

249
推荐指数
8
解决办法
15万
查看次数

如何将我的git存储库切换到特定的提交

在我的git存储库中,我做了5次提交,如下面的git日志:

commit 4f8b120cdafecc5144d7cdae472c36ec80315fdc
Author: Michael 
Date:   Fri Feb 4 15:26:38 2011 -0800

commit b688d46f55db1bc304f7f689a065331fc1715079
Author: Michael
Date:   Mon Jan 31 10:37:42 2011 -0800

commit b364f9dcec3b0d52666c4f03eb5f6efb7e1e7bda
Author: Michael
Date:   Wed Jan 26 13:33:17 2011 -0800

commit 4771e26619b9acba3f059b491c6c6d70115e696c
Author: Michael 
Date:   Wed Jan 26 11:16:51 2011 -0800

commit 6e559cb951b9bfa14243b925c1972a1bd2586d59
Author: Michael 
Date:   Fri Jan 21 11:42:27 2011 -0800
Run Code Online (Sandbox Code Playgroud)

如何在分支机构本地回滚我之前的4个提交?换句话说,如何在没有最新的4次提交的情况下创建分支(假设我从git log获得了该提交的SHA)?

git

169
推荐指数
6
解决办法
18万
查看次数

如何将HEAD移回以前的位置?(独立头)和撤消提交

在git中,我试图squash commit通过合并另一个分支然后HEAD通过以下方式重置到上一个位置:

git reset origin/master
Run Code Online (Sandbox Code Playgroud)

但我需要走出这一步.如何将HEAD移回上一个位置?

我有23b6772提交的SHA1 frag(),我需要将其移动到.
我怎样才能回到这个提交?

git git-revert git-checkout git-reset git-reflog

141
推荐指数
4
解决办法
17万
查看次数

在分离的HEAD状态下创建的git提交会发生什么?

这就是发生的事情:

我有一个分支A.在分支AI上提交了一系列更改.我对代码不满意,所以我检查了分支A中的先前提交.然后我做了一些更改并在分支A上提交它们.现在我无法在任何地方找到此提交.我丢失了这段代码吗?

git

126
推荐指数
6
解决办法
4万
查看次数

Git子模块.拉入超级项目的新克隆

好.所以我以为我有这个舔...但现在....

我有一个项目,其中包括一个来自GitHub的小型库作为子模块.在该超级项目的原始版本中,子模块按预期工作.

但是,我只是克隆了超级项目,做了我认为应该做的事情:"git submodule init",得到子模块的目录,但它是空的.

如果我现在尝试做

git submodule update
Run Code Online (Sandbox Code Playgroud)

我明白了

fatal: Needed a single revision 
Unable to find current revision in submodule path 'external_libraries/BEACHhtml'
Run Code Online (Sandbox Code Playgroud)

如果我试试

git submodule foreach git pull
Run Code Online (Sandbox Code Playgroud)

我明白了

Entering 'external_libraries/BEACHhtml'
fatal: Where do you want to fetch from today?
Stopping at 'external_libraries/BEACHhtml'; script returned non-zero status.
Run Code Online (Sandbox Code Playgroud)

在我的.git/config中,我有这个:

[submodule "external_libraries/BEACHhtml"]
    url = git@github.com:interstar/BEACHhtml.git
Run Code Online (Sandbox Code Playgroud)

在我的.gitmodules中我有这个:

[submodule "external_libraries/BEACHhtml"]
path = external_libraries/BEACHhtml
url = git@github.com:interstar/BEACHhtml.git
Run Code Online (Sandbox Code Playgroud)

任何人都知道缺少什么?

git git-submodules

85
推荐指数
2
解决办法
6万
查看次数

GIT恢复最后一个分离的HEAD

请问,我的项目有一个大问题:这就是场景.我在GIT下有一个xcode项目.今天我意识到最后一次提交破坏了一些测试,所以我检查了之前的提交.我使用了SourceTree,这是警告

这样做会使您的工作副本成为"分离的HEAD",这意味着您将不再在分支机构上.如果您想在此之后提交,则可能需要再次签出分支,或者创建新分支.这个可以吗?

我工作了一整天,最后我做了一切.所以我需要将我的工作合并到开发分支上,这样我就可以查看开发分支......我的工作立即消失了:(

我知道分离我的HEAD是错误的,Sourcetree警告我......但是有一种方法可以恢复我的工作吗?

非常感谢.

git

64
推荐指数
4
解决办法
2万
查看次数

在git中检索丢失的HEAD分支

我有一个非常简单的Git项目,只有一个Master分支而且没有起源.

在我的项目的某个地方,我不小心在我的项目中创建了一个独立的HEAD,然后在分离的一堆提交后HEAD,尝试将它合并回我的Master分支.我在SourceTree中这样做,起初合并似乎工作(图表显示主人进入头部,并且我修复了合并冲突),但后来我双击Master切换到那个分支然后突然我HEAD消失了.我无法在所有分支下的SourceTree中找到它,git branch并且git log在命令行上也只显示我的主分支.

反正有没有从我失去的超脱中取回我的承诺HEAD

git version-control merge

28
推荐指数
2
解决办法
1万
查看次数

"git checkout <commit id>"正在将分支更改为"no branch"

我正在git的一个分支上工作.当我做

git checkout <commit id>
Run Code Online (Sandbox Code Playgroud)

(从中git log获取提交的id ),它将被提交到该特定更改但分支更改为<No-branch>.

为什么会这样?你是如何解决这个问题的?

git

23
推荐指数
2
解决办法
9万
查看次数