Git仓库推送故障求助:从GitLab克隆项目后推送时指向GitHub仓库导致权限被拒
解决Git远程仓库配置混乱与权限问题
看起来你遇到的核心问题是本地仓库的远程配置完全混乱,导致推送时错误指向了GitHub仓库而非目标GitLab仓库,我们一步步来修复:
1. 先理清当前远程仓库状态
你执行git remote -v后,输出里只有名为composer的远程指向GitHub仓库,这说明你的本地仓库里根本没有默认的origin远程分支(正常克隆项目时Git会自动创建origin指向克隆源)——这就是为什么你修改origin的URL后毫无效果,推送时还跑到GitHub去碰权限墙的原因。
2. 正确配置GitLab目标远程仓库
首先添加(或修正)指向GitLab项目的origin远程:
# 如果本地还没有origin远程,执行添加命令 git remote add origin https://gitlab.com/project/project-api.git # 如果之前已经存在origin但地址错误,才用修改命令 git remote set-url origin https://gitlab.com/project/project-api.git
执行完后再次检查远程状态:
git remote -v
此时你应该能看到origin的fetch和push地址都指向目标GitLab项目的URL。
3. 推送代码到正确的远程分支
现在执行推送命令:
git push -u origin feature/my-first-work
如果用HTTPS方式,会提示你输入GitLab的凭据(因为你用GitHub账号登录GitLab,直接输入GitLab的账号密码或个人访问令牌即可);如果想用SSH方式,确保你的SSH密钥已经添加到GitLab的账号设置中(你提到密钥在其他项目可用,只要该密钥关联了你的GitLab账号就没问题)。
额外说明:为什么会出现GitHub权限错误?
你看到的GitHub权限提示,是因为之前的操作可能误指定了composer远程(比如不小心输入git push composer ...),或者仓库里存在其他关联的GitHub远程分支,但这不是当前的核心问题——只要把origin配置正确,就能正常推送到目标GitLab仓库了。
内容的提问来源于stack exchange,提问作者dispera05
相关产品推荐
相关产品推荐

