两种方式:
- 使用 HTTP 模式,项目必须为public的,否则无权限 pull 和 push 代码
-
重点介绍第二种 SSH 模式
如果你本地有直接输入即可,如果没有需要生成SSH,命令如下:
ssh-keygen -t rsa -C "your.email@example.com" -b 4096
然后会让你输入文件名,密码,如下图
切换到rsa文件所在的目录,打开 rsa.pub 文件,复制key,并在gitlab中配置即可
// 打开 rsa.pub 文件
cat rsa.pub
特殊的情况
我先用http模式链接到gitlab,然后才发现项目是private的(尴尬了...)
// http模式链接到gitlab
git remote add origin https://github.com/LibertyPhoenix/myLean.git
使用SSH再次绑定远程仓库时,报错如下:
fatal: remote origin already exists
解决方案
// 删除git配置文件中的远程仓库信息
git remote rm origin
可以用命令查看前后配置文件信息的对比:
vi .git/config
之后再使用命令绑定远程仓库即可
git remote add origin git@github.com/LibertyPhoenix/myLean.git
遇到的一些问题
已在本地和gitlab配置了SSH key,但是仍报错
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
这种情况的原因是没有权限直接对master分支进行操作
切换到develop分支
如果远程仓库有develop分支,而本地fetch后无法看到,说明没有和远程仓库关联上
解决方案
暴力方法,直接换一个目录,clone远程仓库代码(已配置SSH),就直接关联上了远程仓库,这时就能看到其他分支了
切换到develop分支
git checkout develop
然后提交代码即可
git add .
git commit -m "first"
git push
配置 gitignore
Android:
https://github.com/github/gitignore/blob/master/Android.gitignore