當我拉,在更新的結果,我得到一個.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