本地出现的问题:无法从远程库pull代码
出问题之前做了下面的操作:
第一是现在另一台机子上配置了一个新的github密钥放在了github上
第二是在同一台机子上clone了两个项目分别是A B,具体操作如下:
现在有两个git库,一个库A,另一个库B,库B是从库A fork过来的,然后我把两个库都在机子C上clone了一份CA, CB。为了保证B库的代码能与A库同步,需要在CB目录下执行以下两条命令:
1、git remote add upstream git@github.com:A.git(A的github地址) (参考https://help.github.com/articles/fork-a-repo对upstream的说明)
2、git pull --rebase upstream master
命令1只需执行一次
同步B和A参考https://help.github.com/articles/syncing-a-fork
命令2就是把upstream的代码更新到本地CB分支,CB执行push把更新的代码放到远程库B里,这样B和A就可以同步了
在本地的CB库执行了命令 1 2,然后去本地的CA库执行 git pull --rebase报下面的错误:
GIT pull issue: please make sure you have the correct access rights
参考网站(http://stackoverflow.com/questions/4089430/how-can-i-determine-the-url-that-a-local-git-repo-was-originally-cloned-from)列出几种可能出现这个问题的原因:
1、可能正在pull 一个错误的仓库(检查一下当前pull 的库的url是否正确)
2、可能是用的密钥不对
3、可能用了https协议
我先检查git库是否正确,用的命令是: git remote show origin;信息如下
remote origin
Fetch URL: git@github.com:MoodeKehutong/weixin_kehutong.git
Push URL: git@github.com:MoodeKehutong/weixin_kehutong.git
HEAD branch: master
Local branches configured for 'git pull’:
Local refs configured for 'git push’:
发现url没有问题,然后按提示给的配置“git pull”重新拉代码,发现可以成功拉下代码来,整个过程我没修改过任何配置,它就自己好了,挺奇怪的
查看本地某个库的clone地址,可以参考 http://stackoverflow.com/questions/4089430/how-can-i-determine-the-url-that-a-local-git-repo-was-originally-cloned-from 列出的一些命令如下: