我创建了一个新的repo,克隆它,将文件添加到目录中,使用add -A添加它们,提交更改,当我尝试使用git push <repo name> master时,我得到:
提示:更新被拒绝,因为远程包含您在本地没有的工作。这通常是由另一个存储库推送到相同的引用引起的。您可能希望首先合并远程更改(例如, 提示:'git pull'),然后再次推。
这似乎没有意义,因为它是一个新的回购,只包含一个自述文件。
我创建了一个新的repo,克隆它,将文件添加到目录中,使用add -A添加它们,提交更改,当我尝试使用git push <repo name> master时,我得到:
提示:更新被拒绝,因为远程包含您在本地没有的工作。这通常是由另一个存储库推送到相同的引用引起的。您可能希望首先合并远程更改(例如, 提示:'git pull'),然后再次推。
这似乎没有意义,因为它是一个新的回购,只包含一个自述文件。
当前回答
我是这样做的:
拉主:
git pull origin master
这将同步你的本地回购与Github回购。添加新文件,然后:
git add .
提交更改:
git commit -m "adding new file Xyz"
最后,push origin master:
git push origin master
刷新你的Github回购,你会看到新添加的文件。
其他回答
如果您使用的是Visual S2019,请如下所示创建一个新的本地分支,然后将更改推到repo。
如果这是你的第一次尝试
只要把
git push <repo name> master
像这样改变它!
git push -f <repo name> master
我是这样做的:
拉主:
git pull origin master
这将同步你的本地回购与Github回购。添加新文件,然后:
git add .
提交更改:
git commit -m "adding new file Xyz"
最后,push origin master:
git push origin master
刷新你的Github回购,你会看到新添加的文件。
在最后一次提交后,我在repo中直接手动编辑了几个文件,结果得到了相同的错误。
使用git push -f origin master来强制更新而不是git push origin master。
只有当你确切地知道在回购中更改了什么,并且你100%确信你想让本地提交替换所有内容时,才建议这样做。我的项目是一个业余爱好,没有其他人在做,除了手动更改之外,没有从任何其他设备上进行其他提交。
你可以参考:如何处理“拒绝合并不相关的历史”错误:
$ git pull --allow-unrelated-histories
$ git push -f origin master