git pull:无法快进。

12

你能帮我解决问题吗?当我尝试从“dev”分支拉取时出现错误。我查看了解决方案,它说我需要“rebase”,但对我来说不起作用。

CT+aohc@MP1GYWQA MINGW64 /c/TCO/source/RAPMD.Web.Frontend (web_feature/TCORAPD-122389-1)
$ git pull origin dev
From https://dev.azure.com/xxxx/xxxx/_git/TCO-FGP-Rapmd
 * branch                  dev        -> FETCH_HEAD
fatal: Not possible to fast-forward, aborting.

4
你在同一个分支上有本地更改吗?git status会告诉你什么? - Alexis Määttä Vinkler
4
你具体尝试了什么?是运行了git rebase origin/dev命令吗?而“没有成功”指的是什么?你是否遇到了错误或者发生了什么事情? - Jay
这个回答解决了你的问题吗?[致命错误: 无法快进,正在中止] (https://dev59.com/qWcs5IYBdhLWcg3wJQe7) - Vikram
4个回答

28
你可以按照以下步骤操作:
  • 运行 git pull --rebase origin dev
  • 如果出现冲突,则需要解决这些冲突并运行
    • git add <file_name>/ git add .
    • git rebase --continue
  • 重复第二步,直到解决所有冲突(请注意,rebase是逐个提交比较更改的)
    • 然后如果需要,运行 git rebase --skip
  • 成功应用 rebase 后,你需要强制推送更改
    • 运行 git push --force-with-lease origin dev (更加安全的强制推送方式) 或者 git push -f origin dev

参考链接:https://gitexplorer.com/


小心使用变基操作,否则可能会丢失你的工作。 - EugenSunic
@EugenSunic,是的,您只需要正确解决冲突即可。然后就不会删除任何代码了。 - Monish Khatri

24

最简单的方法,这对我有用:

git fetch origin dev
git merge origin dev

dev 替换为您想要拉取的 branch_name


2
问题已经被我解决了。 - IfeFromKolopay
以上两个命令与 git pull origin 相同。 - EugenSunic
同意 @EugenSunic - Harish Kulkarni
1
终于有个有效的东西了! - undefined

3

只需在您的 pull 命令后添加 --no-rebase,例如: git pull origin --no-rebase

这将带您进入合并状态,可能会打开编辑器。 输入:WQ 并按 Enter 键

现在您应该可以成功 pull 了。


-1

这太荒谬了!

我在Github上有一个公共存储库的分支。我们称之为“我的分支”,而我从中派生的“原始”存储库则称为“源分支” - 据我所知,这是相对标准的命名约定。

因此,我执行以下操作:

$ git remote -v
origin  https://github.com/ME/proj.git (fetch)
origin  https://github.com/ME/proj.git (push)
upstream    https://github.com/ORIG/proj (fetch)
upstream    https://github.com/ORIG/proj (push)

这看起来和我预期的一样。现在我这样做:

$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

好的,让我们看看更多信息:

    git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/bugfix
  remotes/origin/master
  remotes/upstream/master

看起来很正常,让我们确保我们是最新的:

 $ git pull origin
Already up to date.

现在,让我们尝试从上游拉取:

$ git pull upstream master
From https://github.com/ORIG/proj
 * branch            master     -> FETCH_HEAD
fatal: Not possible to fast-forward, aborting.

现在,我不知道问题出在哪里,也不知道该怎么继续。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接