首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使我有本地更改,git推送也会显示“所有内容都是最新的”

即使我有本地更改,git推送也会显示“所有内容都是最新的”
EN

Stack Overflow用户
提问于 2009-06-16 15:01:17
回答 26查看 318.9K关注 0票数 286

我有一个远程gitosis服务器和一个本地git存储库,每次我对代码进行重大更改时,我也会将这些更改推送到该服务器。

但是今天我发现,即使我有一些本地更改并提交到本地存储库,当我运行git push origin master时,它会显示“所有内容都是最新的”,但是当我使用git clone签出远程服务器上的文件时,它不包含最新的更改。我只有一个名为"master“的分支和一个名为"origin”的远程服务器。

PS:这是git在运行ls-remote时显示的内容,我不确定它是否有帮助

代码语言:javascript
复制
$ 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
EN

回答 26

Stack Overflow用户

回答已采纳

发布于 2009-06-16 07:32:55

你是不是碰巧在用detached head

如下所示:

表示您的最新提交不是分支头。

警告:以下代码执行git reset --hard:如果要保存当前修改的文件,请确保首先使用。

代码语言:javascript
复制
$ git log -1
# note the SHA-1 of latest commit
$ git checkout master
# reset your branch head to your previously detached commit
$ git reset --hard <commit-id>

正如在git checkout man page中提到的(重点是我的):

有时,能够出一个不在某个分支顶端的提交是很有用的。

最明显的例子是在标记的官方发布点检查提交,如下所示:

代码语言:javascript
复制
$ git checkout v2.6.18

git的早期版本不允许这样做,并要求您使用-b选项创建一个临时分支,但从版本1.5.0开始,上面的命令会将您的git从当前分支中分离出来,并直接指向由标记(在上面的示例中为v2.6.18)命名的提交。

在此状态下,您可以使用所有git命令。

例如,您可以使用git reset --hard $othercommit进一步移动。

可以在分离的HEAD之上进行更改并创建新的

您甚至可以使用git merge $othercommit创建合并。

当你的头被分离时,你所处的状态不会被任何分支记录下来(这是很自然的-你不在任何分支上)。

这意味着您可以通过切换回现有的分支(例如git checkout master)来丢弃您的临时提交和合并,随后的git prunegit gc将对它们进行垃圾收集。

如果你做错了,你可以问reflog你在哪里,例如

代码语言:javascript
复制
$ git log -g -2 HEAD
票数 285
EN

Stack Overflow用户

发布于 2012-05-20 04:06:01

错误..。如果你是一个git新手,你确定你在git push之前使用了git commit吗?我第一次就犯了这个错误!

票数 189
EN

Stack Overflow用户

发布于 2015-03-11 00:32:03

也许你正在推动一家新的本地分支机构?

必须显式推送新的本地分支:

代码语言:javascript
复制
git push origin your-new-branch-name

只是关于git的其中一件事...你克隆一个repo,创建一个分支,提交一些更改,推送...“一切都是最新的”。我理解为什么会发生这种情况,但这种工作流程对新手来说非常不友好。

票数 75
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/999907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档