2009-11-09 36 views
2

我已经在linux服务器上安装了一个git仓库,并且在我的Windows 7笔记本电脑上安装了最新的MSysGit和TortoiseGit。 我可以通过TortoiseGit从远程存储库中提取数据,我也可以将&推送到远程存储库。 如果我在远程服务器上运行“git log”,它可以正确显示最新的注释。但远程服务器中缺少新文件。请提出建议。非常感谢。tortoisegit推送成功,但没有新文件?

回答

4

强烈建议您永远不要推送到*非*裸仓库。相反,你应该创建一个裸仓库,它是远程仓库的一个副本。笔记本电脑将推送到裸仓库,然后远程存储库将从012裸露的拉。

如果您推送到非裸仓库,您迟早会意外失去工作。

+1

这是为什么?与SVN如果我明白总是推动。您只需在进行推送前更新。你为什么“迟早会意外失去工作”。 – 2010-05-17 12:37:15

+0

AFAIK github你必须推动。一旦你把东西推到它上面,它不再是裸露的吗?我实际上不明白为什么我可以反复推送到github而不是我的本地存储库。 – 2010-05-17 18:06:57

+0

@ acidzombie24:首先,SVN和Git的工作方式不同,不存在“非裸”SVN存储库。其次,Github存储库始终被视为“裸露”。在Git术语中,“裸”存储库是一个*没有工作副本*的存储库。这并不意味着它是空的。 – 2010-05-17 20:49:55

1

该索引已被更新,但不是工作区。要更新工作区,请使用git reset。如果您有未提交的修改,请确保提交它们,git stash它们,或者如果您不介意丢失它们,请使用git reset --hard

编辑:可能是一个有争议的问题到现在,但它看起来像git reset本身是不够的 - 使用git reset --hard

相关问题