如何修改Git推送的远程仓库并提交到个人仓库指定文件夹
解决步骤
你遇到的remote: Permission to *** denied to myusername报错,是因为当前本地仓库的远程origin默认绑定的是你克隆的原作者仓库,你无对应推送权限,按以下操作即可推送到你的个人仓库对应目录:
前置检查
- 执行
git remote -v确认输出的origin地址为原作者的youtube parser仓库地址,确认后再进行后续操作。
方案一:无需保留原仓库提交记录(操作更简单)
适合只需要保存最终修改后代码的场景:
- 本地提前克隆好你的个人Projects仓库到任意目录,执行
git clone https://github.com/myusername/Projects.git - 把你修改好的原youtube parser仓库所有代码(无需带.git隐藏文件夹),复制到刚克隆的Projects仓库根目录下,新建的
youtube parser文件夹中 - 进入本地Projects仓库根目录,依次执行以下命令:
如果你的个人仓库默认分支为master,将上述命令中的main替换为master即可git add "youtube parser/" git commit -m "新增修改后的youtube parser代码" git push origin main
方案二:保留原仓库所有提交记录
适合需要留存原仓库提交历史、以及你自己的修改记录的场景:
- 在你当前修改后的原youtube parser本地仓库目录下,执行命令移除原有远程绑定:
git remote remove origin - 绑定你的个人Projects仓库为新的远程地址:
git remote add origin https://github.com/myusername/Projects.git - 拉取你个人Projects仓库的最新内容,避免后续推送冲突:
git pull origin main --allow-unrelated-histories - 新建
youtube parser目录,将当前所有代码移动到该目录下:
-k参数会自动跳过无法移动的.git等隐藏文件夹,无需手动过滤mkdir "youtube parser" git mv -k * "youtube parser/" - 提交修改后推送至远程仓库:
同样如果默认分支为master,替换命令中的main即可git add . git commit -m "导入带历史提交记录的修改版youtube parser" git push origin main
内容的提问来源于stack exchange,提问作者Timur
相关产品推荐
相关产品推荐

