一.同一客户端下使用多个git账号
当本地git仓库和github上的仓库进行通信的时候,必须得双方建立连接才行,而SSH keys就是两者建立连接的一把钥匙
1生成新的SSH keys
在window环境下,在C:\Users\用户名.ssh 目录下打开gitbash进行操作
ssh-keygen -t rsa -C "new email"
回车,默认生成id_rsa和id_rsa.pub。这里特别需要注意,
出现提示输入文件名的时候(Enter file in which to save the key (~/.ssh/id_rsa): id_rsa_new)输入新的SSH keys的名称。
2添加SSH keys
ssh-add ~/.ssh/新的SSH key
如果出现Could not open a connection to your authentication agent的错误,就试着用以下命令:
ssh-agent bashssh-add ~/.ssh/新的SSH key
3. 配置~/.ssh/config文件
如果没有config文件,在~/.ssh/目录创建一个。
说明:
重点!!!!!
1.Host是别名,自己建的gitlab Host名不用加 git@,最好和地址一样
2.HostName不要带端口号,要另外用Port行来写
3.如果你的域名是有端口号的,不用写到SSH的config文件来。这里的Port是指SSH的端口号,注意区分。如果更改了服务器SSH端口号,务必在config文件加上Port。
下面是一个sample:
# 这是github的配置
Host git@github.com
HostName https://github.com
User git
IdentityFile ~/.ssh/id_rsa
# 这是gitlab的配置
Host XXX #公司的gitlab Host
HostName git@XXX #公司的gitlab
Port XXX #没有修改ssh默认端口的此行可以不加
User git
IdentityFile ~/.ssh/新的SSH key
4. 将配置好的SSH key 更新到Gitlab。
5 测试是否连接成功
ssh -T git@xxxxxx.com
6 连接ssh的会一直询问密码的情况
输入密码后,出现
出现这种情况一般是.ssh/config文件写错了。
比如.ssh/id_rsa或.ssh/权限不对,
比如.ssh/config中配置的是Host和这里的不匹配
Host不匹配的情况可以参考第三步操作的端口配置说明.
二. 确保SSH能连接你的电脑和Gitlab之后就可以上传项目到Gitlab上了。
1. 在 gitlab上创建项目。
然后有两种方式可以把已经存在项目上传到Gitlab上,省略了具体步骤,只记录了大概的思路和遇到的问题。
方式一:可以在android studio IDE 下push到远程仓库。
出现以下问题,尝试下面的解决办法
方式二:利用Gitbash。
cd existing_folder
git initgit remote add origin git@gitlab.com:USERNAME/PROJECTNAME.git
git push -u origin master
三。在Android studio上导入git的项目。
1.拿到git的地址ssh
2.打开as:
3.填入ssh地址,完成导入
参考资料:
http://blog.devzeng.com/blog/simple-usage-of-gitlab.html
http://www.jianshu.com/p/89cb26e5c3e8