我正在与eclipse一起使用github / egit。
今天我参与了一个项目:
现在我想推动它。但我不知道怎么做。
“推送到上游”给我一条错误消息:
master:master [rejected - non-fast-forward]
如果我尝试同步,我看到的远程github代码和我的代码的唯一变化是我今天刚刚做的修改。 “从上游获取”证实了一切都是迄今为止。 访问github网站确认存储库与我的新代码不同。
有什么建议吗?
编辑: 另一个症状是:当我“拉”项目时,我得到:
Updated Results:
Result : Failed
Failed Paths : DIRTY_WORKTREE [project_name]/[file_name]
[file_name]是* .pyc我没有提交。
答案 0 :(得分:2)
"非快进"尝试并推送到已提交本地分支的远程分支时发生错误。拉(将进行合并)然后推送应解决此问题。
就pull错误消息而言,您似乎已将二进制文件提交到存储库。尝试将其重置为版本化版本(使用git checkout [file.pyc]
)。当你做拉动时,这应该阻止git抱怨。此外,关闭日食可能会有所帮助。我暂时没有使用PyDev插件,但是eclipse现在对大多数事情进行了增量自动编译。这可能会干扰您在设置拉动之前重写文件。一旦拉动成功,您应该能够将更改推送到GitHub。
作为旁注,最好不要编译由编译产生的二进制文件(在您的情况下为* .pyc' s)。 Git无法区分它们,从长远来看它们只会造成麻烦。此外,它们可以通过重新编译项目来复制,因此不需要保留它们。
我希望这有帮助,
-Caius