所以,我有一个本地项目文件夹,我在其中启动了 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”作为远程的默认分支(我已经使用设置完成了)
请帮忙。
答案 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 --help
或 man 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 同步。干杯!