2014-02-10 45 views
0

所以我在一个独立的头上,我做了一些改变。我现在在一个不同的头上,我如何返回到我的独立头部更换线程的主人?回到受委托的独立头(GIT)

感谢

$ git commit -m "Connect Users to Fitbit accounts" 
[detached HEAD b3b8249] Connect Users to Fitbit accounts 
17 files changed, 159 insertions(+), 3 deletions(-) 

回答

2

可以git checkout提交:

git checkout b3b8249 

分行基本上是一个名为提交和git checkout作品的一切是可以解决的承诺(承诺,分支,标签, the reflog),不仅有分支机构。


正如我所提到的引用日志:如果你不记得EXAKT提交哈希引用日志是要走的路:

[[email protected]/tmp/test (5d0f65b...)]git checkout master 
Switched to branch 'master' 
[[email protected]/tmp/test master]touch b 
[[email protected]/tmp/test master]git add b 
[[email protected]/tmp/test master]git commit -m "Add b" 
[master 9bf5987] Add b 
0 files changed 
create mode 100644 b 
[[email protected]/tmp/test master]git reflog 
9bf5987 [email protected]{0}: commit: Add b 
5d0f65b [email protected]{1}: checkout: moving from 5d0f65ba749c8f39773c4edb16ab40c5c58501d4 to master 

第一栏会告诉你其中头部指向并且你可以通过检索旧的状态[email protected]{N}git checkout

[[email protected]/tmp/test master]git checkout [email protected]{1} 
Note: checking out '[email protected]{1}'. 

... 

HEAD is now at 5d0f65b... Add a 

的引用日志将你的头保存在某些情况下,它可以让你几乎检索任何丢失的东西,例如在复位失败,在重置等提交失败。

+2

您也可以给reflog-only或仅ID提交一个名称(分支或标签名称),例如'git branch new-branch 5d0f65b'或' git标签临时标签5d0f65b'。像'HEAD @ {1}'这样的名称只是编写提交的SHA-1的另一种方式,所以这也适用于那些:'git branch new-branch HEAD @ {1}',例如。 – torek