Git Pull失败

时间:2013-05-02 00:25:43

标签: python git github

我有一个Github存储库,我正在尝试将存储库(它已经克隆)拉到我的家庭计算机上但由于某种原因它不会从Github存储库中提取所有文件夹。

我尝试了抓取和拉取,但结果是一样的。

当我执行pull时,在Update result下,我在.pyc文件上出现DIRTYTREE错误。

这是一个简单的python项目。

和我的github链接是https://github.com/PREM1980/Test/tree/master/ecomstore/ecomstore/templates

我想要检索的文件夹是模板。

1 个答案:

答案 0 :(得分:1)

  

当我执行pull时,在Update result下,我在.pyc文件上出现DIRTYTREE错误..

您提供给我们的路径下没有.pyc文件。但我愿意打赌你实际上是在拉动整个仓库而不是它下面的一些随机子目录,不管你在问题中说了什么,因为那个仓库确实中有.pyc文件。 / p>

问题在于,无论何时导入.py文件,它都可以重写.pyc文件,使您领先于主文件。一旦你以某种未被跟踪的方式领先主人,如果你想拉或推,你将需要合并,改组或以其他方式清理。一个好的git教程将解释这一点。

但解决这个问题的正确方法是不检查.pyc文件。几乎没有充分的理由这样做,并且有很多充分的理由不这样做。

https://github.com/github/gitignore处有很多.gitignore个文件(如果您使用Github网站或客户端创建新项目,则会自动应用相应的文件)。您会注意到Python以.py[cod]开头。你也应该这样做。

如果您不想使用.gitignore,这只是意味着您无法在任何地方使用-a标志;您必须手动管理哪些文件是否已签入,并且不要手动添加.pyc文件。

如果您有充分的理由检查.pyc文件,您可能希望阻止Python更新它们,除非您明确选择这样做。换句话说,在正常开发期间,始终使用-B标志或PYTHONDONTWRITEBYTECODE env变量运行;然后,当你准备好推送时,删除.pyc文件并让Python手动生成它们。

如果你真的想以你的方式管理你的.pyc文件,这不是偶然的,你只想知道如何手动合并你的方式摆脱意外冲突:你这样做的方式是一样的与任何其他冲突的文件一样。例如,stashpullunstash将为您提供手动选择一个.pyc版本或其他版本的机会,而不会搞砸任何其他内容。 (您必须知道您想要哪一个......但如果您不知道,那么您没有充分的理由以这种方式管理.pyc文件。)