推送至Fork的ChildRepo为何同步至ParentRepo?求技术解答
问题原因与解决方案
哈哈,这个问题我之前也踩过坑!核心原因很明确:你本地克隆的仓库关联的远程仓库是原ParentRepo,而不是你自己fork出来的ChildRepo,所以执行git push时,提交直接推送到了原仓库,导致两个仓库都出现了变更。
从你提供的git remote -v输出也能看出来:git@github.abc.com:cm/project_name.git这个地址应该是原ParentRepo的地址,而不是你的ChildRepo地址(通常你的fork地址会包含你的用户名,比如git@github.abc.com:你的用户名/project_name.git)。
解决步骤
先确认当前远程仓库信息(再次核对):
git remote -v如果输出里的地址确实是原ParentRepo的,继续下一步。
移除当前关联的远程仓库(默认远程名是
origin):git remote remove origin关联你自己的ChildRepo远程地址:
把下面的地址替换成你fork出来的ChildRepo的SSH/HTTPS地址:git remote add origin git@github.abc.com:你的用户名/project_name.git重新推送提交到你的ChildRepo:
git push origin develop
后续预防措施
以后fork仓库后,一定要克隆你自己fork出来的ChildRepo地址,而不是原ParentRepo的地址。这样本地仓库默认关联的远程就是你自己的fork,push操作只会影响你的ChildRepo,不会意外改动原仓库。
内容的提问来源于stack exchange,提问作者user3756799
相关产品推荐
相关产品推荐

