GitHub 推送失败 - 拒绝 - 无法将 refs 推送到 github

时间:2021-06-12 05:56:50

标签: git github

所以,我有一个本地项目文件夹,我在其中启动了 github 版本控制。我在 GitHub 上为它创建了一个 repo,并将我的所有文件推送到它上面。一切都很好,直到我注意到 github 在我的贡献中没有显示任何内容。

经过调查,我发现这是因为默认分支是“main”。我进入GitHub上的项目设置并将默认分支更改为“Master”。一旦我这样做了,我最近的所有提交就开始显示在我个人资料的贡献部分。

虽然解决了一个问题,却导致了另一个大问题。现在,我无法将任何内容从本地存储库推送到远程存储库。每当我尝试这样做时,它都会说:

To github.com:divyamdhadwal.........
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:divyamdhadwal......'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

现在我尝试使用 git pull 但即使我这样做,我也无法在执行后将本地数据推送到我的远程 github 存储库。

我对 github 有基本的了解,但此时我根本不知道如何解决这个问题。我希望一切都再次同步,并且我能够像以前一样将我的更改从本地推送到远程,但将“master”作为远程的默认分支(我已经使用设置完成了)

请帮忙。

2 个答案:

答案 0 :(得分:1)

您需要将 upsteam 设置为本地存储库上的正确分支。
既然你推到了主人,它就会一直推到那个。要更改此设置,请尝试在推送时使用 --set-upstream-to 标志。

<块引用>

如果你已经有一个本地分支并且想将其设置为远程 你刚刚拉下来的分支,或者想改变上游分支 您正在跟踪,您可以使用 -u--set-upstream-to 选项来 git branch 随时显式设置它。

$ git branch -u origin/serverfix 分支服务器修复设置为跟踪 来自源的远程分支服务器修复。

来自Git's section about tracking branches。您可以使用 git push --helpman git-push 查看您的软件手册以了解更多详情。

所以您要查找的命令是 git push -u origin/main,它将设置上游并一次性推送。

在一个不相关的注释中,请区分 Git 和 GitHub。

答案 1 :(得分:0)

首先,我要感谢所有帮助我解决这个问题的人。这是我为解决此问题所做的工作:

 1. Ran git pull origin master
 2. Removed all the merge conflicts manually.
 3. Ran git add .
 4. Did git commit
 5. Pushed my code again.

这次成功了..我认为 git 会自动合并冲突(保留最近的提交并丢弃以前的提交),尽管它没有发生。我去了每个文件并选择了我想要保留/放弃的更改。

现在已解决,因为 git status 现在显示我的本地 git repo 与 origin/master 同步。干杯!