提问人:Eliseo 提问时间:10/9/2023 更新时间:10/9/2023 访问量:62
无法执行 git pull 或 git push
Can't do a git pull or a git push
问:
当我在 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.
请帮帮我!
答:
1赞
akseli
10/9/2023
#1
首先需要通过运行以下命令来确保本地分支引用上游分支:git branch --set-upstream-to=origin/<branch> master
之后,您需要执行从上游分支获取缺少的更改。git pull
一旦你有了这些变化,你将能够执行一个 ,但也有可能你必须执行一个,以解决你所做的改变和上游分支中存在的那些变化引起的任何冲突。git push
manual 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 提示您它应该使用什么策略来进一步将更改从远程拉取到本地计算机。它可能是其中之一
- 合并/变基
根据您的偏好,您必须通过输入将在控制台中显示该消息的命令来设置它。
评论