前言

选修了移动GIS开发这门课,到目前为止已经快结课了。说实话,移动GIS这东西倒是没学到,只学了点Android开发。对于我来讲GIS开发就很抽象,很广,很杂,用手机显示个地图,计算个最短路径也算Gis开发吧……(自闭)
总之现在说一下遇到的问题以及如何解决吧。之前学到Android开发里的传感器,就突然产生了一个利用加速度传感器做一个,手摇鞭炮的Demo,偶然间看到一个随机图片的Api,就想做一个通过晃动换图的Demo,名字就叫手冲模拟器ShakePhone,做完后就觉得这么生草的主意应该上传到Github,用命令生成了一对密钥,并设置deploy keys后,发现没有权限,我也添加了write权限,为什么不行呢?

ssh-keygen

先来说一下生成密钥的命令

ssh-keygen -t tsa -C "youremail" -f keyname

-t tsa是加密方法
-C "youremail"是将邮箱加到密钥的后面,好像是为了方便识别
-f keyname就是设置保存的文件名和路径
如果不设置文件名会输出默认名
在Android Studio中设置中你会找到ssh设置,里面有密钥位置的字段(属性),初学Android,连GitHub也不太了解的我以为设置这个后用ssh连接远程仓库就会用这密钥(主要是以前都是用https连接)
其实是你的仓库名是git@github.com的时候它会使用默认名称的密钥,当有多个仓库或名称不是默认时需要设置config文件

Host github.com
  HostName github.com
  IdentityFile C:\Users\.ssh\id_rsa
  User git
Host hello
  HostName github.com
  IdentityFile C:\Users\.ssh\shakephone
  User git

相应的要使用shakephone密钥就要把远程仓库改成git@hello

结尾

看来要学的东西还有很多!