Git 拒绝非快进

问题描述 投票:0回答:1

我在 StackOverflow 上看到了几篇与此问题相关的帖子,但仍找不到解决方案:

帖子示例:

我正在使用 gitlab,在一个我是唯一用户的分支中,每次我尝试使用 Eclipse 提交/推送更改时,都会遇到相同的错误:

enter image description here

我在尝试提交/推送之前检查过的事情:

  • “git pull”返回:
    Already up to date.
  • “git status”返回:
    On branch main Your branch is up to date with 'origin/main'. nothing to commit, working tree clean
  • “git Remote -v”返回:
    origin  https://xxxx/yyyy.git (fetch) origin  https://xxxx/yyyy.git (push)
  • “gitk --all”返回(在这里你可以看到这个问题正在创建的怪物树): enter image description here

树中显示的每个合并都包含:

enter image description here

这是我的配置:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    ignorecase = true
[remote "origin"]
    url = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    fetch = +refs/heads/*:refs/remotes/origin/*
    puttykeyfile = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    push = HEAD:refs/heads/main
[branch "main"]
    remote = origin
    merge = refs/heads/main
    rebase = false
[gui]
    wmstate = zoomed
    geometry = 893x435+104+104 227 196

错误发生后,我执行了

git pull
,它给我带来了引入错误的提交和具有 0 更改的合并提交,在这个位置我实际上可以推送这两个提交并继续工作。下次我必须提交/推送更改时,整个事情将会重演。将显示错误,我必须在提交后执行
git pull
,它会给我带来 0 更改的“幽灵”合并,然后我将能够推送两个提交。这是拉力的结果:

enter image description here

  • 第一次提交是我尝试做的。
  • 第二次提交是神奇地出现的。

我多年来一直在 github 上的一个项目中使用 git,没有出现任何问题,但自从我开始在工作中使用 gitlab 以来,我的每个项目都遇到了完全相同的问题,而且我们找不到解决方案(我们已经使用 SVN 多年,所以我们是 GIT/gitlab 世界的初学者)。

git gitlab
1个回答
0
投票

终于找到问题了,感谢@knittl的耐心。

问题是 Egit 会自动检查每次提交的“修改(编辑上一条评论)”选项,而不是创建新的提交。

enter image description here

这绝对是初学者的错误,当我们开始使用 Git 时,我们甚至不知道该选项是什么(甚至没有注意到每次提交都会检查它)。取消选中它后,“问题”就完全消失了。

© www.soinside.com 2019 - 2024. All rights reserved.