You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将数据库服务器上的单个文件添加至远程Git仓库?

轻松搞定单个SQL脚本推送到远程Git仓库的方法

嘿,你遇到的这个问题很常见——远程仓库的master分支已经有自己的提交历史了,而你的本地仓库是全新初始化的,两者没有任何共享的提交记录,所以直接推送就被拒绝了(就是那个non-fast-forward错误)。下面给你几个简单的操作方案,按需选就行:

方案一:稳妥合并远程内容(推荐,适合远程有需要保留的内容)

如果远程仓库里已经有你不想丢的东西,就用这个方法:

  • 先把远程的内容拉到本地,同时强制合并两个独立的提交历史(因为本地和远程本来没关系,默认不让合并):
    git pull origin master --allow-unrelated-histories
    
  • 如果拉取时出现冲突(比如远程也有个schema.sql),打开文件把冲突内容调整好,然后执行:
    git add schema.sql
    git commit -m "合并远程内容并添加schema.sql"
    
  • 最后推送到远程就行:
    git push origin master
    

方案二:强制覆盖远程内容(仅当远程内容完全没用时用!)

要是远程仓库里的东西对你来说完全不重要,想直接用本地的版本把远程覆盖掉,就执行这条命令:

git push origin master --force

⚠️ 敲黑板:这个操作会把远程master分支上的所有内容都删掉,换成你本地的提交,一定要确认远程没东西要留再用!

方案三:从头来更省心(适合远程仓库刚创建的情况)

如果远程仓库是刚建的,其实可以换个更简单的流程,避免历史冲突:

  • 先删掉本地的.git文件夹(把之前的初始化操作清掉):
    rm -rf .git
    
  • 把远程仓库克隆到本地:
    git clone https://my@bitbucket.org/me/myproject.git
    
  • 进入克隆好的文件夹,把你的schema.sql复制进去,然后执行:
    git add schema.sql
    git commit -m "added schema.sql"
    git push origin master
    

这种方式完全不会有冲突问题,因为是基于远程的历史来操作的,新手友好。

内容的提问来源于stack exchange,提问作者david

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:17:00