本文总结了如何:

  1. 清除当前项目记录的 Git 远程地址
  2. 更新为新的 GitHub 仓库地址
  3. 将本地项目推送到 GitHub
  4. 解决常见的 SSH / HTTPS 鉴权问题

一、查看当前 Git 远程地址

先进入你的项目目录:

cd 你的项目目录

查看当前远程仓库地址:

git remote -v

示例输出:

origin  https://github.com/old-user/old-repo.git (fetch)
origin  https://github.com/old-user/old-repo.git (push)

二、清除当前的 Git 地址记录

方法 1:删除当前远程仓库记录

git remote remove origin

删除后再检查:

git remote -v

如果没有任何输出,说明当前远程地址已经清除成功。


三、设置新的 GitHub 仓库地址

1. 使用 SSH 地址(推荐)

git remote add origin git@github.com:你的用户名/你的仓库名.git

例如:

git remote add origin git@github.com:saivla/saivla-0.git

2. 检查是否设置成功

git remote -v

示例输出:

origin  git@github.com:saivla/saivla-0.git (fetch)
origin  git@github.com:saivla/saivla-0.git (push)

四、如果只是想修改 origin 地址,也可以直接改

如果不想先删除再添加,可以直接修改:

git remote set-url origin git@github.com:你的用户名/你的仓库名.git

例如:

git remote set-url origin git@github.com:saivla/saivla-0.git

五、推送项目到 GitHub

1. 先查看当前分支名

git branch

如果你想统一使用 main 分支:

git branch -M main

2. 推送到 GitHub

git push -u origin main

如果是后续强制覆盖推送:

git push -f origin main

说明:

  • -u:把本地分支和远程分支建立跟踪关系,之后可直接用 git push
  • -f:强制推送,会覆盖远程分支历史,谨慎使用

六、如果当前仓库还没有提交记录

如果你还没有提交过代码,需要先执行:

git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin git@github.com:你的用户名/你的仓库名.git
git push -u origin main

七、如果你想清空历史记录后再推送

如果你的目标是:

  • 保留代码文件
  • 删除之前所有 commit 历史
  • 重新作为一个新仓库推送到 GitHub

操作如下:

1. 删除本地 Git 历史

rm -rf .git

2. 重新初始化仓库

git init
git add .
git commit -m "Initial commit"

3. 重新绑定新的 GitHub 地址

git remote add origin git@github.com:你的用户名/你的仓库名.git

4. 推送到 GitHub

git branch -M main
git push -f origin main

八、SSH 和 HTTPS 的区别

HTTPS 地址示例

https://github.com/saivla/saivla-0.git

特点:

  • 会走用户名 / token 认证
  • GitHub 不支持密码直接推送
  • 容易出现鉴权失败

SSH 地址示例

git@github.com:saivla/saivla-0.git

特点:

  • 走 SSH key 认证
  • 更适合长期开发
  • 不需要每次输入用户名密码

九、常见报错与解决方法

报错 1:Password authentication is not supported

示例:

remote: Invalid username or token. Password authentication is not supported for Git operations.
fatal: Authentication failed

原因:

  • 你使用的是 HTTPS 地址
  • GitHub 不再支持密码推送

解决方法:

改成 SSH 地址:

git remote set-url origin git@github.com:你的用户名/你的仓库名.git

然后重新推送:

git push -u origin main

报错 2:Permission denied (publickey)

原因:

  • 本机 SSH key 没有配置
  • 或 GitHub 没有添加你的公钥

解决方法:

先测试 SSH:

ssh -T git@github.com

如果失败,检查本地 key:

ls ~/.ssh

常见 key 文件:

  • id_rsa
  • id_rsa.pub
  • id_ed25519
  • id_ed25519.pub

如果已有 key,可加入 ssh-agent:

ssh-add ~/.ssh/id_ed25519

或:

ssh-add ~/.ssh/id_rsa

然后把对应的 .pub 公钥内容添加到 GitHub 的 SSH Keys 页面。


十、推荐的一套完整流程

适用于:

  • 更换仓库地址
  • 使用 SSH 推送
  • 避免 HTTPS 鉴权问题
git remote remove origin
git remote add origin git@github.com:你的用户名/你的仓库名.git
git branch -M main
git push -u origin main

如果需要强制覆盖远程:

git push -f origin main

十一、你的场景可直接参考

如果你的新仓库地址是:

git@github.com:saivla/saivla-0.git

那么操作可以直接写成:

git remote remove origin
git remote add origin git@github.com:saivla/saivla-0.git
git branch -M main
git push -f origin main

十二、总结

清除旧地址

git remote remove origin

添加新地址

git remote add origin git@github.com:用户名/仓库名.git

推送到 GitHub

git branch -M main
git push -u origin main

强制覆盖推送

git push -f origin main

十三、建议

推荐始终使用 SSH 地址,原因是:

  • 更稳定
  • 不需要密码
  • 更适合日常开发
  • 避免 GitHub HTTPS 鉴权失败

SSH 地址格式:

git@github.com:用户名/仓库名.git
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐