Git远程推送地址异常,如何重置为与拉取地址一致?
嘿,我来帮你搞定这个Git远程配置的问题~从你贴的git remote -v输出来看,你的origin远程仓库的拉取(fetch)和推送(push)地址被设置成不一样的了,这就是为啥你之前用git remote set-url没完全解决的原因——这个命令默认是同时设置fetch和push的URL,但如果之前push地址被单独配置过,就得单独调整它。
1. 重置推送origin与拉取origin一致
你需要单独指定重置push的URL,步骤很简单:
- 先确认当前push的配置地址:
git remote get-url --push origin - 然后把push的URL设置成和fetch一致的地址:
(如果你的fetch地址是HTTPS格式,就换成git remote set-url --push origin git@github.com:me/myrepo.githttps://github.com/me/myrepo.git) - 最后再执行
git remote -v验证,现在fetch和push的origin应该就都是同一个仓库地址了。
2. 无需配置URL,直接显式推送至指定仓库的简便方法
如果只是临时推送到某个仓库,完全不用提前配置remote,直接在push命令里指定目标仓库的URL就行:
- SSH格式的话:
比如推送到main分支就是git push git@github.com:me/myrepo.git 你的分支名git push git@github.com:me/myrepo.git main - HTTPS格式的话:
这种方式适合临时推送,不用改动本地的远程配置。git push https://github.com/me/myrepo.git 你的分支名
3. 重新克隆的方案
要是觉得配置太麻烦,直接重新克隆是最省心的方案:
- 先把本地仓库的修改备份好:可以把整个仓库文件夹复制到别的地方,或者用
git stash暂存当前未提交的修改 - 删除现在的本地仓库文件夹
- 重新克隆你自己的仓库:
git clone git@github.com:me/myrepo.git - 最后把之前备份的修改复制到新仓库里,或者用
git stash pop恢复暂存的修改,提交后就能正常推送了。
内容的提问来源于stack exchange,提问作者somejkuser
相关产品推荐
相关产品推荐

