0

有时当我尝试将代码推送到 github 时会遇到一些问题。让我解释一下场景:

我只使用 master 分支(因为我的产品处于早期阶段,目前不需要创建功能分支)。我的远程仓库在 github,我是唯一一个在做这个项目的人,所以没有对 master 分支进行并行修改。

然后我写了一些代码,在我编码的所有测试都是绿色的之后,我使用 egit 提交到我的本地存储库和 github。没问题,所有更改都被推送到 github,但有时,不知道确切原因,因为我的“理论”(或者至少对我来说是这样的)egit(实际上是 git)不允许我推送声称的更改master:master [rejected] 错误。在推送到窗口中,我将 [master] 分支作为源引用和目标引用,并添加“所有分支规范”。当然,在这种情况下,我必须从远程提取并合并代码,然后再次重新提交。我理解为什么会发生这种情况的理论,当前分支在远程分支之后,但是如果我是唯一以线性方式修改代码的人,为什么会发生这种情况?

它在大多数情况下都有效,但为什么有时会发生此错误?我可以理解如果我们是一个开发人员团队推送到同一个 github 帐户,但事实并非如此。

4

1 回答 1

0

如果您在主分支上进行变基或重置,则可能会发生这种情况。这些操作改变了一个分支的历史,使得 github master 分支的尖端不再在你本地 master 分支的行中。因此,您会收到“被拒绝”的错误消息。

于 2012-06-20T14:14:57.693 回答