使用usethis向已有GitHub仓库推送新文件时遇错误求助
解决使用usethis向已有GitHub仓库推送新文件的问题
错误原因分析
你之前的操作存在两个核心问题:
- 误用
use_github():该函数的作用是从本地仓库创建新的GitHub仓库并完成关联,但你的场景是要推送到已存在的个人GitHub仓库,因此调用该函数会触发“仓库已存在”的错误。 - 错误修改远程仓库配置:将
origin设为空后再次调用use_github(),函数会尝试创建同名仓库,自然因仓库已存在而报错。
正确操作步骤
1. 确认本地仓库与远程配置
先检查当前仓库的远程仓库信息:
library(usethis) # 查看当前远程仓库 git_remotes()
或使用Git命令:
git remote -v
2. 关联个人GitHub仓库作为远程源
如果你已经在GitHub上创建了roro999999/BaseDatos仓库,直接将本地仓库的origin设置为个人仓库地址:
# 覆盖原有origin,关联个人GitHub仓库 use_git_remote("origin", url = "https://github.com/roro999999/BaseDatos.git", overwrite = TRUE)
或用Git命令:
git remote set-url origin https://github.com/roro999999/BaseDatos.git
3. 提交本地新文件
若尚未完成本地提交,执行以下命令:
# 添加所有未跟踪的文件 git_add() # 提交修改,自定义提交信息 git_commit(message = "Archivos subidos por Rodrigo")
4. 推送到个人GitHub仓库
直接执行推送命令即可,无需再调用use_github():
git_push()
或用Git命令:
git push origin main
可选:基于上游仓库的 Fork 工作流
如果你是想基于上游仓库site99999/BaseDatos做修改并推送到个人仓库,更规范的流程是:
- 先在GitHub网页端fork
site99999/BaseDatos到个人账号下; - 克隆自己fork后的仓库到本地:
create_from_github("roro999999/BaseDatos")
- 添加上游仓库(用于同步上游更新):
use_git_remote("upstream", url = "https://github.com/site99999/BaseDatos.git")
- 提交本地修改并推送到个人仓库:
git_add() git_commit(message = "Archivos subidos por Rodrigo") git_push()
内容的提问来源于stack exchange,提问作者Rodrigo Badilla
相关产品推荐
相关产品推荐

