无法执行 git pull 或 git push

Can't do a git pull or a git push

提问人:Eliseo 提问时间:10/9/2023 更新时间:10/9/2023 访问量:62

问:

当我在 master 分支中执行 a 时,git 显示以下消息:git pull

There is no tracking information for the current branch.
Please specify which branch you want to merge to.
See git-pull(1) for details.

git pull <remote> <branch>

If you want to set up the tracing information for this branch, you can do it with:
git branch --set-upstream-to=origin/<branch> master

当我在 master 分支中执行时,git 显示以下消息:git push

fatal: The current master branch does not have an upstream branch.
To push the current branch and set the remote as upstream, use

git push --set-upstream origin master

所以我这样做,git 显示这条消息:git push --set-upstream origin master

To <my-server-name>
! [rejected] master -> master (non-fast-forward)
error: failed to push some references to '<my-server-name>'.
help: Updates were rejected because the tip of your current branch is
help: behind its remote counterpart. Integrate remote changes (i.e.
help: 'git pull ...') before pushing again.
help: See 'Note about fast-forwards' in 'git push --help' for details.

请帮帮我!

git 终端 bitbucket git-push git-pull

评论


答:

1赞 akseli 10/9/2023 #1

首先需要通过运行以下命令来确保本地分支引用上游分支:git branch --set-upstream-to=origin/<branch> master

之后,您需要执行从上游分支获取缺少的更改。git pull

一旦你有了这些变化,你将能够执行一个 ,但也有可能你必须执行一个,以解决你所做的改变和上游分支中存在的那些变化引起的任何冲突。git pushmanual merge

0赞 big bob little 10/9/2023 #2

首先,您必须将本地代码库指向与远程 git 分支匹配。这可以通过在终端中输入来实现,如果您还没有。将 '<branch' 替换为 github/bitbucket 等中的分支名称,也称为 remote。如果您没有任何远程分支,它将默认为 master/main

git branch --set-upstream-to=origin/<branch> master

输入此命令后无法推送到 master 的第二部分

git push --set-upstream origin master

是因为当前不在本地计算机上的远程(例如 github)中发生了更改。因此,您必须拉取这些更改,以便您的本地分支和远程分支可以在推送回远程分支之前保持最新状态。

您可以使用以下任一方法执行此操作

git pull 
git pull origin master

您可能会看到的另一件事是 git 提示您它应该使用什么策略来进一步将更改从远程拉取到本地计算机。它可能是其中之一

  • 合并/变基

根据您的偏好,您必须通过输入将在控制台中显示该消息的命令来设置它。