一.同一客戶端下使用多個(gè)git賬號(hào)
當(dāng)本地git倉(cāng)庫(kù)和github上的倉(cāng)庫(kù)進(jìn)行通信的時(shí)候代态,必須得雙方建立連接才行吗坚,而SSH keys就是兩者建立連接的一把鑰匙
1生成新的SSH keys
在window環(huán)境下,在C:\Users\用戶名.ssh 目錄下打開(kāi)gitbash進(jìn)行操作
ssh-keygen -t rsa -C "new email"
回車册倒,默認(rèn)生成id_rsa和id_rsa.pub完慧。這里特別需要注意,
出現(xiàn)提示輸入文件名的時(shí)候(Enter file in which to save the key (~/.ssh/id_rsa): id_rsa_new)輸入新的SSH keys的名稱剩失。
2添加SSH keys
ssh-add ~/.ssh/新的SSH key
如果出現(xiàn)Could not open a connection to your authentication agent的錯(cuò)誤屈尼,就試著用以下命令:
ssh-agent bashssh-add ~/.ssh/新的SSH key
3. 配置~/.ssh/config文件
如果沒(méi)有config文件,在~/.ssh/目錄創(chuàng)建一個(gè)拴孤。
說(shuō)明:
重點(diǎn)!!!!!
1.Host是別名脾歧,自己建的gitlab Host名不用加 git@,最好和地址一樣
2.HostName不要帶端口號(hào),要另外用Port行來(lái)寫
3.如果你的域名是有端口號(hào)的演熟,不用寫到SSH的config文件來(lái)鞭执。這里的Port是指SSH的端口號(hào)司顿,注意區(qū)分。如果更改了服務(wù)器SSH端口號(hào)兄纺,務(wù)必在config文件加上Port大溜。
下面是一個(gè)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 #沒(méi)有修改ssh默認(rèn)端口的此行可以不加
User git
IdentityFile ~/.ssh/新的SSH key
4. 將配置好的SSH key 更新到Gitlab。
5 測(cè)試是否連接成功
ssh -T git@xxxxxx.com
6 連接ssh的會(huì)一直詢問(wèn)密碼的情況
輸入密碼后估脆,出現(xiàn)
出現(xiàn)這種情況一般是.ssh/config文件寫錯(cuò)了钦奋。
比如.ssh/id_rsa或.ssh/權(quán)限不對(duì),
比如.ssh/config中配置的是Host和這里的不匹配
Host不匹配的情況可以參考第三步操作的端口配置說(shuō)明.
二. 確保SSH能連接你的電腦和Gitlab之后就可以上傳項(xiàng)目到Gitlab上了疙赠。
1. 在 gitlab上創(chuàng)建項(xiàng)目付材。
然后有兩種方式可以把已經(jīng)存在項(xiàng)目上傳到Gitlab上,省略了具體步驟圃阳,只記錄了大概的思路和遇到的問(wèn)題厌衔。
方式一:可以在android studio IDE 下push到遠(yuǎn)程倉(cāng)庫(kù)。
出現(xiàn)以下問(wèn)題捍岳,嘗試下面的解決辦法
方式二:利用Gitbash富寿。
cd existing_folder
git initgit remote add origin git@gitlab.com:USERNAME/PROJECTNAME.git
git push -u origin master
三。在Android studio上導(dǎo)入git的項(xiàng)目锣夹。
1.拿到git的地址ssh
2.打開(kāi)as:
3.填入ssh地址作喘,完成導(dǎo)入
參考資料:
http://blog.devzeng.com/blog/simple-usage-of-gitlab.html
http://www.reibang.com/p/89cb26e5c3e8