如何将重新初始化的本地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




