2012-02-02 91 views
0

我将我的git项目克隆到我的U盘上。我在我的U盘中更改了项目文件a.txt为什么我的“git push”到远程git项目失败

然后,在U盘的项目根目录下,我运行了git push。它注意到成功。 但是在我的origin项目中,它保持不变。

但是,在origin项目根目录中,当我运行git status时,它出现a.txt的更改。当我运行git --hard HEAD时,它出现在我的U盘上。

怎么回事?如何解决它?

回答

1

您的起源项目是裸仓库吗?如果没有,推送到当前检出的分支可能导致这种行为。

解决方案:不要推送到当前在源存储库中检出的分支。如果可能的话,使用裸仓库作为原点。

+0

谢谢!然而,对于同一个git repositoty,同样的操作,为什么我的合作者没有这个问题? – Gina 2012-02-03 03:10:43

+0

这是一个不能在没有详细查看你和你的协作者配置的情况下应答的问题。在设置中必须有一些区别,否则git不会有不同的表现。但我仍然建议只使用裸仓库作为原点。如果您需要存储库,则可以在原始位置所在的计算机上工作,您可以在此设置原始克隆,并在裸露的原始存储库中配置后接收挂钩,以更新克隆的存储库。 – flyx 2012-02-03 07:39:27

+0

非常感谢您的详细解释!我已经知道问题的根源。在我的情况下,我只需要运行代码git pull。 – Gina 2012-02-03 15:09:00

0

Git-push将更改从本地存储库推送到远程存储库。

在推送之前,您忘记了commit您更改过的文件到本地存储库吗?

+0

我已经提交。我认为这些变化已经被推到了遥远的地方,但它已经自动恢复到它的原始文件。 – Gina 2012-02-02 09:37:23

相关问题