我今天最终得到了一个独立的头,同样的问题如下所述:git push说一切都是最新的,即使我有本地更改
据我所知,我没有做任何与众不同的事情,只是从我当地的回购中提交和推送.
那我怎么最终得到一个detached HEAD?
我不清楚以下是什么意思(来自git submodule update docs):
...将使子模块HEAD分离,除非
--rebase或--merge指定...
怎么--rebase/ --merge改变事情?
我的主要用例是有一堆中央存储库,我将通过子模块嵌入到其他存储库中.我希望能够改进这些中央回购,直接在他们的原始位置,或从他们的嵌入回购(通过子模块使用它们的那些).
我有一个远程gitosis服务器和一个本地git存储库,每次我对我的代码进行重大更改,我都会将更改推送到该服务器.
但是今天我发现即使我有一些本地更改并提交到本地存储库,当运行git push origin master时它会说"Everything up-date",但是当我使用git clone来检出远程服务器上的文件时,它不包含最新的更改.我只有一个名为master的分支和一个名为origin的远程服务器.
PS:这是git在运行ls-remote时显示的内容,我不确定它是否有帮助
$ git ls-remote origin
df80d0c64b8e2c160d3d9b106b30aee9540b6ece HEAD
df80d0c64b8e2c160d3d9b106b30aee9540b6ece refs/heads/master
$ git ls-remote .
49c2cb46b9e798247898afdb079e76e40c9f77ea HEAD
df80d0c64b8e2c160d3d9b106b30aee9540b6ece refs/heads/master
df80d0c64b8e2c160d3d9b106b30aee9540b6ece refs/remotes/origin/master
3a04c3ea9b81252b0626b760f0a7766b81652c0c refs/tags/stage3
Run Code Online (Sandbox Code Playgroud) reflog vs GITK http://siteroller.net/archive/images/Forums/headless%20GIT.png
顶部图像是输出:git reflog.
底部是GIT GUI(msysgit)中的GITK在查看所有分支历史时向我显示的内容.
最后几次提交没有在GIT GUI上显示.
第一个问题很重要 - 我想开始了解GIT的想法.在这一点上,它比逻辑更具神谕性.