我创建了一个新的repo,克隆它,将文件添加到目录中,使用add -A添加它们,提交更改,当我尝试使用git push <repo name> master时,我得到:

提示:更新被拒绝,因为远程包含您在本地没有的工作。这通常是由另一个存储库推送到相同的引用引起的。您可能希望首先合并远程更改(例如, 提示:'git pull'),然后再次推。

这似乎没有意义,因为它是一个新的回购,只包含一个自述文件。


当前回答

提供的答案对我不起作用。

我在GitHub上有一个空的回购,只有许可证文件和一个本地提交。奏效的方法是:

$ git fetch
$ git merge --allow-unrelated-histories
Merge made by the 'recursive' strategy.
 LICENSE | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 LICENSE

在合并之前,你可能想:

$ git branch --set-upstream-to origin/master
Branch 'master' set up to track remote branch 'master' from 'origin'.

其他回答

你可以参考:如何处理“拒绝合并不相关的历史”错误:

$ git pull --allow-unrelated-histories
$ git push -f origin master

提供的答案对我不起作用。

我在GitHub上有一个空的回购,只有许可证文件和一个本地提交。奏效的方法是:

$ git fetch
$ git merge --allow-unrelated-histories
Merge made by the 'recursive' strategy.
 LICENSE | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 LICENSE

在合并之前,你可能想:

$ git branch --set-upstream-to origin/master
Branch 'master' set up to track remote branch 'master' from 'origin'.

简单地运行这些命令:

git拉 Git添加。 git commit -m 'Your comment' git推

如果你用README和/或LICENSE文件初始化了一个新的github repo,就会发生这种情况

git remote add origin [//your github url]

//pull those changes

git pull origin master 

// or optionally, 'git pull origin master --allow-unrelated-histories' if you have initialized repo in github and also committed locally

//now, push your work to your new repo

git push origin master

现在你可以将你的存储库推送到github了。基本上,您必须将这些新初始化的文件与您的工作合并。Git为你拉取和合并。如果适合你,你也可以获取和合并。

这个问题是因为本地并不是最新的主分支,这就是为什么我们应该在将代码推到git之前将其拉出

git add .
git commit -m 'Comments to be added'
git pull origin master
git push origin master