You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何将重新初始化的本地Git仓库更新至原有GitHub远程仓库?

解决重新初始化仓库后推送到原GitHub远程仓库的问题

别担心,这种误删.git文件夹后重新初始化仓库的情况很常见,按以下步骤操作就能把你的变更同步到原远程仓库:

  • 关联原远程仓库地址
    先把新初始化的本地仓库和你原来的GitHub仓库关联起来,在终端里运行:

    git remote add origin <你的GitHub仓库完整URL>
    

    记得把<你的GitHub仓库完整URL>替换成你之前用的那个仓库地址,比如git@github.com:你的用户名/仓库X.git或者HTTPS格式的地址。

  • 拉取远程仓库的历史记录
    因为新仓库的提交历史和原远程仓库完全无关,直接拉取会报错,所以需要加上允许无关历史合并的参数:

    git pull origin main --allow-unrelated-histories
    

    如果你的原仓库默认分支是master,就把main换成master

  • 解决合并冲突(如果有的话)
    拉取过程中可能会出现文件冲突,这时候你需要打开冲突的文件,手动修改保留需要的内容(冲突部分会用<<<<<<<=======>>>>>>>标记出来)。解决完所有冲突后,执行:

    git add .
    git commit -m "合并远程仓库历史与本地最新修改"
    
  • 推送本地变更到远程仓库
    最后把合并后的内容推送到原远程仓库:

    git push origin main
    

    同样,分支名要和你远程仓库的默认分支保持一致。

额外提醒

如果你确定不需要保留原远程仓库的历史记录(不推荐,除非你明确知道自己在做什么),可以用强制推送覆盖远程内容:

git push origin main --force

但这种操作会丢失原仓库的历史提交,一定要谨慎使用!

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

火山引擎 最新活动