当我拉,在更新的结果,我得到一个.pyc文件文件DIRTYTREE错误..
有你给我们的路径下没有pyc文件。但是我敢打赌,你实际上拉动了整个回购,而不是一些随机的子目录,尽管你在问题中说了什么,因为回购确实中有.pyc文件。
问题是,无论何时您导入.py文件,它都可以重写.pyc文件,使您领先于主文件。一旦你以某种未被追踪的方式领先于主人,如果你想要拉或推,你需要合并,重新绑定或以其他方式进行清理。一个好的git教程将解释这一点。
但解决这个问题的正确方法是不检查.pyc文件。几乎没有充足的理由这样做,并有充足的理由不这样做。
在https://github.com/github/gitignore有大量.gitignore
文件(如果您使用Github网站或客户端创建新项目,甚至会自动应用相应的文件)。你会注意到Python开始于.py[cod]
。你应该这样做。
如果您不想使用.gitignore
,这意味着您不能在任何地方使用-a
标志;您将不得不手动管理哪些文件处于未检入状态,也不要手动添加.pyc文件。
如果您有充足的理由检查.pyc文件,您可能希望防止Python更新它们,除非您明确地选择这样做。换句话说,在正常的开发过程中,总是运行带-B标志或env变量;那么,当您准备推送时,请删除.pyc文件并使Python手动生成它们。
如果你真的想按照自己的方式来管理你的.pyc文件,这不是偶然的,你只是想知道如何手动合并你的出路以避免意外冲突:你也是这样做的与其他任何冲突文件一样。例如,stash
,pull
,unstash
将使您有机会手动选择一个.pyc版本或其他版本,而不会造成任何其他问题。 (你必须知道你想要哪一个......但是如果你不知道这一点,那么你没有充分的理由来这样管理你的.pyc文件。)
这看起来像一个很好的帖子,关于你的问题:http://stackoverflow.com/questions/9855946/is-it-safe-to-git-pull-when-my-working-tree-and-or-index-is-dirty – sheldonk 2013-05-02 00:27:44
你介意显示完整错误? – 2013-05-02 00:27:48
这不是一个问题。 – joshuahealy 2013-05-02 00:27:56