【问题标题】:EGit/GitHub on eclipse/pydev : how to push my new code?Eclipse/pydev 上的 EGit/GitHub:如何推送我的新代码?
【发布时间】:2014-06-09 11:11:36
【问题描述】:

我正在使用 github/egit 和 eclipse。

今天我在做一个项目:

  • 我同步了工作区并解决了所有冲突(只是覆盖了本地更改)
  • 我参与了这个项目。在此期间没有其他人在研究它
  • 我提交了我的更改

现在我想推它。但我不知道怎么做。

“推送到上游”给我一条错误消息:

master:master [rejected - non-fast-forward]

如果我尝试同步,我看到的唯一更改是远程 github 代码和我的代码是我今天刚刚所做的修改。 “从上游获取”确认一切都是最新的。 访问 github 网站确认存储库不是最新的我的新代码。

有什么建议吗?

编辑: 另一个症状:当我“拉”项目时,我得到:

 Updated Results:
 Result : Failed
 Failed Paths : DIRTY_WORKTREE [project_name]/[file_name]

[file_name] 是一个 *.pyc 我没有提交。

【问题讨论】:

    标签: eclipse git github egit


    【解决方案1】:

    当尝试推送到具有本地分支没有的提交的远程分支时,会发生“非快进”错误。拉(将进行合并)然后推送应该可以解决这个问题。

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

    附带说明,最好不要对编译产生的二进制文件(在您的情况下为 *.pyc)进行版本控制。 Git 无法区分它们,从长远来看,它们只会造成麻烦。此外,它们可以通过重新编译项目来重现,因此无需保留它们。

    希望对你有帮助,

    -凯乌斯

    【讨论】:

      猜你喜欢
      • 2014-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-04
      • 2017-11-16
      • 2019-07-19
      • 2011-09-15
      相关资源
      最近更新 更多