MAC环境下,上传Android项目到Gitlab

MAC环境下,上传Android项目到Gitlab

创建Gitlab账号

官网地址:https://gitlab.com/users/sign_in

创建一个Gitlab的账号

创建服务器项目

登录进去后,点击 New project

我之前已经创建过项目了,所以是这个界面,如果是新用户的话,可能会有一个引导,跟着走创建项目即可。

在这里创建项目

  • 标记为1的是项目名称
  • 标记为2的是权限
  • 标记为3的是,如果勾选了项目创建时会创建一个README文件(这个地方有个坑),如果不勾选则为空项目。

项目创建成功后,会有一个本项目的URL

这里可以选择SSH协议,和HTTPS协议,建议使用SSH协议。

使用SSH协议,需要添加SSH key。

在搜索框搜索SSH,点击进入SSH key添加界面。

我们先生成一下SSH key,有可能你需要配置多个SSH key,下面会对你有一些帮助,以Gitee,和Gitlab为例

1.生成SSH key

ssh-keygen -t rsa -C "[email protected]"

这个地方是让你输入文件名称,如果不输入直接回车,只会在~/.ssh/ 目录下生成 id_rsa 和 id_rsa.pub 两个文件,如果你不需要多SSH key的配置,建议一路回车,名称使用默认的,密码不填。

为了区分,我们在第一个回车后设置路径:

Enter file in which to save the key (/root/.ssh/id_rsa):~/.ssh/id_rsa_gitee

这一步是让输入密码,建议不输入,直接回车。

由此我们分别为gerrit和github生成对应的公钥和私钥,完成后的目录

id_rsa_gitee
id_rsa_gitee.pub
id_rsa_gitlab
id_rsa_gitlab.pub

生成成功后,可以使用一下命令查看

cat ~/.ssh/id_rsa_gitee.pub 
cat ~/.ssh/id_rsa_gitlab.pub

然后打开.ssh文件目录创建config文件,来管理多SSH。也可以使用命令处理

创建config文件

 touch ~/.ssh/config

编辑config文件

vi ~/.ssh/config

添加一下内容

# gitee 
Host gitee.com 
HostName gitee.com 
PreferredAuthentications publickey 
IdentityFile ~/.ssh/id_rsa_gitee 
user gerrit 

# gitlab 
Host gitlab.com 
HostName gitlab.com 
PreferredAuthentications publickey 
IdentityFile ~/.ssh/id_rsa_gitlab
user git

测试

ssh -T [email protected]
ssh -T [email protected]

如果出现

Welcome to Gitee.com, yourname!

Welcome to Gitlab.com, yourname!

说明成功了

本地项目上传到服务

在项目中使用下面命令,把本地内容推送到服务端,提交之前别忘了add,commit。

git push --set-upstream [email protected]:xxx/xxx.git master

在这一步中可能会出现错误

To gitlab.com:qbb_android/QBBUI.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to '[email protected]:qbb_android/QBBUI.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

这是因为我们服务端创建的项目中有一个README文件,而本地没有。

使用下面git命令可以解决

git pull --rebase origin master
git push -u origin master

 

猜你喜欢

转载自blog.csdn.net/weixin_42710085/article/details/81132826