我创建了一个新的repo,克隆它,将文件添加到目录,添加了它们add -A
,提交了更改,当我尝试使用时,git push <repo name> master
我得到"更新被拒绝,因为遥控器包含你没有的工作".
这似乎没有意义,因为它是一个新的repo并且只包含一个自述文件.
pal*_*dot 257
如果使用README
和/或LICENSE
文件初始化新的github存储库,则会发生这种情况
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
Run Code Online (Sandbox Code Playgroud)
现在,您将能够将存储库推送到github.基本上,您必须将这些新的初始化文件与您的工作合并.git pull
为您提取并合并.如果适合你,你也可以获取和合并.
小智 90
错误可能是因为您提交的代码的结构不同而且存在于GitHub上.它会产生可以通过解决的冲突
git pull
Run Code Online (Sandbox Code Playgroud)
合并冲突解决:
git push
Run Code Online (Sandbox Code Playgroud)
如果您确认您的新代码一切正常,您可以使用:
git push -f origin master
Run Code Online (Sandbox Code Playgroud)
当-f
代表"逼犯".
Mah*_*yar 12
如果这是你的第一次推动
只是改变了
git push <repo name> master
Run Code Online (Sandbox Code Playgroud)
像这样改变它!
git push -f <repo name> master
Run Code Online (Sandbox Code Playgroud)
Che*_*ana 12
您可以参考:如何处理“拒绝合并无关历史”错误:
$ git pull --allow-unrelated-histories
$ git push -f origin master
Run Code Online (Sandbox Code Playgroud)
如果您有浅克隆,也可能会发生这种情况。在这种情况下,从技术上讲,\xe2\x80\x9c 远程包含您本地没有的工作总是正确的,\xe2\x80\x9d 因为您的提交集有限,而远程可能具有完整的历史记录。如果本地存储库只有一个新提交\xe2\x80\x94,这可能发生在 CI 系统\xe2\x80\x94 上,这会导致问题,因为没有共同的提交,并且git
无法推送。
一种解决方案是执行较浅的克隆。
\n对于 Github Actions,您可以设置fetch-depth: 0
为拉取所有标签和分支的 \xe2\x80\x9 调用历史记录。\xe2\x80\x9d 对于大型存储库,您可能需要对其进行调整,例如,在git fetch --shallow-since=<date>
浅克隆之后运行,但对于小回购应该没问题。
steps:\n - uses: actions/checkout@v3\n with:\n fetch-depth: 0\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
180309 次 |
最近记录: |