无法将 refs 推送到远程

Can't push refs to remote

提问人:Divik 提问时间:7/27/2023 最后编辑:vimuthDivik 更新时间:7/27/2023 访问量:80

问:

首先显示此错误,然后在输出终端中显示

Failed to execute git {

  "exitCode": 1,

  "gitErrorCode": "PushRejected",

  "gitCommand": "push",

  "stdout": "",

  "stderr": "To https://github.com/deepansh-divik/E-Commerce-Website\n ! [rejected]        main -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/deepansh-divik/E-Commerce-Website'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. Integrate the remote changes (e.g.\nhint: 'git pull ...') before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"

}

我一直在努力推动,但没有任何效果。 它说拉取集成,但是当我尝试拉取变基时 它说:当前分支没有跟踪信息。

帮我解决这个问题,我是 git 的乞丐,我正在用 vscode 做这件事。

我试图将我的文件推送到存储库,但它说它没有集成,我必须拉动才能集成,当我看到它说没有跟踪信息时。 我也试图将 main 发布到 github,但它被拒绝了,并且我在开头描述了错误。我正在使用 vs 代码,有人可以给我一个非常直接的方法来解决这个问题我是 git 的新手

git github visual-studio-code git-pull

评论

1赞 Brian61354270 7/27/2023
除非您的分支在上游设置了,否则无法拉取。1) 将分支的上游设置为远程分支,然后 ,或 2) 和 (假设您称为远程分支git pullgit fetchgit merge origin/mainorigin)

答:

1赞 PickledPenguins 7/27/2023 #1

对于第一个错误:最有可能的是,您的本地分支指向已更新的远程分支。这意味着,其他人可能已经将他们的更改推送到同一分支。因此,git 告诉你,在推送到远程之前,你需要将这些更改合并到你的分支中,这将通过调用“git pull”来启动。但是,由于第二个问题,您显然无法执行此操作。

第二个问题:调用 git pull 时,git 告诉你你没有跟踪信息。这通常意味着您所在的分支未链接到远程分支。要解决此问题,您可以使用:

git branch --set-upstream <remote repo name> <branch name>

然后再次调用 git pull。

你没有发布你的命令,所以这是基于很多猜测。例如,如果您没有将本地链接到远程,并且进行了以下调用(假设分支名为 mybranch,远程名为 origin),则会出现上述情况:

git push origin mybranch
(failed)
git pull
(failed)

有时,您也可以通过在拉取中指定遥控器来暂时解决这个问题:

git pull origin mybranch 

我不记得是否有办法在 vscode(gui 部分)中做到这一点。我发现 vs code 中的 git 功能有点缺乏我自己,所以如果我必须这样做,我会使用 vscode 中内置的终端并自己做。