eclipse / pydev上的EGit / GitHub:如何推送我的新代码?

时间:2014-06-09 11:11:36

标签: eclipse git github egit

我正在与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我没有提交。

1 个答案:

答案 0 :(得分:2)

"非快进"尝试并推送到已提交本地分支的远程分支时发生错误。拉(将进行合并)然后推送应解决此问题。

就pull错误消息而言,您似乎已将二进制文件提交到存储库。尝试将其重置为版本化版本(使用git checkout [file.pyc])。当你做拉动时,这应该阻止git抱怨。此外,关闭日食可能会有所帮助。我暂时没有使用PyDev插件,但是eclipse现在对大多数事情进行了增量自动编译。这可能会干扰您在设置拉动之前重写文件。一旦拉动成功,您应该能够将更改推送到GitHub。

作为旁注,最好不要编译由编译产生的二进制文件(在您的情况下为* .pyc' s)。 Git无法区分它们,从长远来看它们只会造成麻烦。此外,它们可以通过重新编译项目来复制,因此不需要保留它们。

我希望这有帮助,

-Caius

相关问题