Android知识Android开发Android技术知识

git多仓库多账号配置与androidstudio提交githu

2017-03-02  本文已影响1109人  我是李戴表

填坑背景:公司有内网连接 gitlab项目库,但是有时闲的时候想在公司研究一个技术,写完一半有可能就回家了。周末想在家弄弄就按原始人的套路u盘拷贝,自己感觉太low了,会被笑话。这时就想到了github多仓库多账号支持的问题。就这么一鼓捣,百度谷歌一阵折腾,开始了填坑一下午的苦逼经历。以下:



1.生成针对github密钥
做这个的前提是:大家在这之前已经配置甚至全局(global)配置过公司的gitlab或者其他git仓库了,再打算弄一个自己的库玩玩。所以对git都能基础的用用,我也是只会基础的用用。公司电脑win的,so mac的童鞋们自己鼓捣好本地路径和系统区别的命令啥的O(∩_∩)O~

我自定义的叫:github_rsa。如果不输入文件名,默认会生成 id_rsa.pub(公钥)、id_rsa(私钥)。我之前图省事,公司的git配置就没自定义,一会能在我文件目录里看到这俩默认密钥。
生成密钥图示如下:



输入自定义密钥文件名后,其他要求输入密码啥的提示就不用管啦,直接空的一路回车就行。如果想要密码的也可以自己弄,不过设置了密码以后有啥坑就不知道了。最后会在之前命令行提示的路径下.ssh里面,找到了我们新生成的密钥文件啦。我的文件目录是下面这样的:


github打头的就是我刚刚生成的俩个东西了。另两个id打头的是我公司git用的。 config配置一会说到,很重要。另一个konw_hosts貌似是自动生成的,作用暂时不知道,反正不会动它了

# gitlab(公司用的id_rsa)
Host gitlab.com
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa
# github(配置给github用的)
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_rsa
$ git config --global user.name "xxxxx"
$ git config --global user.email "xxxxx@xx.com"
$ git config --list (这个很有用,可以去每个git项目目录试一下,能看到这个项目的账户配置,免得搞乱呀)

之前配了全局的,所以新建的项目想分享到github就坑比了,注定不能用公司的邮箱那个配置啊。咋办呢,就是git终端去到我们测试项目的根目录配置一个这项目的账户:

$ git config user.name "gihbub的用户名,随便取"
$ git config user.email "github登录的邮箱"
$ git config --list(查看下,是否跟全局的不一样了,不一样了就对了,你成功了!)

这里有个不确定的问题 , 网上查了很多资料说,应该把之前全局的配置删掉,每个项目都单独配账户设置,说全局的配置会影响其他的。我这里测试的是没有这个情况的,因为git会首先去项目根目录去找git配置,找不到了才会去读全局的。如果连全局配置都木有就挂逼了。我这里的全局环境就是公司的git账户配置,私人项目就在项目根目录里照上面那样配置就行

以上就是配置的全部内容了。现在童鞋们就可以把androidstudio的新项目share到github上管理了,这样回家想看看了就不要跟原始人一样的u盘拷贝了。至于还有不清楚怎么从androidstudio分享到github,就去拜读这位大神的博客吧。百度还是给力的,瞧不起百度的就有点装逼过度了。
androidstudio工程share到github大神教程,点我点我!



这里为什么隔断呢,还加粗呢。因为后面我share成功了,确实在github提交了这个测试项目。但是,发现只有目录,工程内容木有提交上去。提示下面这样的信息:Failed with error:fatal:unable to access. xxx一堆文件信息 error setting certifacate verify locations:

我当时是懵逼的,心情又回到了上面苦逼状态:


这时没办法啦,百度虽然牛,但是节操欠费啊。求万能的谷歌大神吧。找到一堆stackoverflow的网页。不管英语是何其的烂吧,反正内心凌乱的找到了我想要的东西,其他英文分析是看不懂。但是评论下发都是一堆thanks还是看得很懂的,这必须妥妥的解决了。就是一个git终端命令,如下:
git config --global http.sslverify "false"

看着意思貌似是不验证这个什么http的sll认证?原理是真不清楚,反正git终端撸了一下,完美提交更新,公司的库,个人的库两不相干。OVER!。有大神知道啥原因的,可以留言指导下我们小学生,在此感谢大神了。



上一篇 下一篇

猜你喜欢

热点阅读