实习生入职第一课
学习使用GitLab,熟悉Git版本控制工具
下面是我的学习笔记,希望能帮助到需要的人!
目录
一、注册你的GitLab账号
二、安装Git
三、在Android studio中配置Git
四、GitLab账户配置SSH Keys
五、GitLab账号创建项目
六、将Android项目上传到GitLab
七、从GitLab上clone项目
八、 分支管理
九、标签(Tag)管理
一、注册你的GitLab账号
网址:https://gitlab.com/users/sign_in
二、安装Git
1.安装Git
下载地址:Git - Downloads
安装步骤:双击安装,按默认选项一路下去即可。
安装完成后,在开始菜单里找到“Git”-->“Git Bash”,
输入
git --version
出现如下图,就说明Git安装成功!
2.配置git信息
在上图命令行中输入你的用户名与邮箱 ,其中Your Name和email@example.com的内容你自己定义。
-
$ git config --global user.name "Your Name"
-
$ git config --global user.email "email@example.com"
命令中的 --global 参数表示你这台机器上所有的Git仓库都会使用这个配置。
三、在Android studio中配置Git
在Android Studio中点击Settings-->Version Control --> Git,然后在Path To Git executable上输入你刚刚安装Git的位置,最后点击Test按钮出现Git version is x.x.x说明配置成功,如下图:
四、GitLab账户配置SSH Keys
1 .首先需要检查你电脑是否已经有 SSH Keys
在Git Bash客户端 ,输入如下代码:
-
$ cd ~/.ssh
-
$ ls
如下说明已经存在,存在就可以忽略下面创建SSH Keys的步骤,否则接着下面步骤
2.创建一个 SSH Keys
在Git Bash 客户端输入如下代码:
$ ssh-keygen -t rsa -C "your_email"
然后根据提示进行相应操作,如下图所示:
第一个Enter表示Keys存储的位置,默认按回车键即可。第二个和第三个Enter表示Push文件的时候要输入的密码,不需要密码就默认按回车键即可,然后出现如图底部信息就说明创建成功了!
3.GitLab配置SSH Keys
进入上图所示的C/Users/2585936316/.ssh存储的 id_rsa.pub 的文件夹拷贝该文件中的内容。
然后登录你的GitLab账号,点击搜索,搜索SSH,选择SSH密钥进入页面
将 id_rsa.pub 的文件夹拷贝的内容填入密钥,添加 SSH key。如下操作:
点击添加密钥
五、GitLab账号创建项目
点击账号左边侧边框的项目->创建空白项目
点击新建项目后
六、将Android项目上传到GitLab
本地已创建好的项目
(1)配置忽略文件
Android Studio创建项目后会自动生成.gitignore文件,这个文件可以用来忽略那些不用加入到仓库的文件。项目根目录下与module目录下都会生成该文件,如下:
一般情况下我们只需要将项目根目录下的/.idea/xxx改成.idea即可,其他没有特殊要求就用默认的。如下:
修改前:
修改后:
(2)初始化本地Git仓库
点击Android Studio顶部菜单栏上的VCS-->Create Git Repository,如图:
然后选择需要初始化的项目根目录,如图:
初始化之后发现文件名由原来的白色变成了红色,这表示文件已经被git跟踪了,但是并没有添加到仓库中。如图:
(3) 将本地Git仓库已与远程仓库进行关联
在创建的项目那里可知道SSH,点击克隆
打开项目文件夹,对该文件夹MyTest右键打开Git Bash。输入如下命令后就代表本地Git仓库已与远程仓库进行关联了。
git remote add origin3 git@gitlab.com:Bookonpillow/mytest.git
具体步骤见下图:
(4) 添加文件
在Android studio中右键选中项目的根目录,Git-->Add,如下图:
添加文件后发现文件名由原来的红色变成了绿色,说明已经将文件添加进仓库了。如下图:
(5 )提交文件
每次提交前需要先更新项目,原因是如果是多人合作的项目,需要先将远程仓库中他人提交的最新代码更新到本地仓库。如图:
然后选中Merge,点击OK,如果本地代码与远程代码有冲突就会弹出冲突提示,根据需求Merge即可,如图:
Update后就可以提交文件了,选中项目的根目录,点击Android Studio顶部菜单栏上的Git-->Commit Directory...,如图:
然后会弹出如下提交框,这里可以选择你要提交的文件和填写提交信息,如图:
提交文件后发现文件名由原来的绿色又变成了最开始的白色,说明已经将文件提交上仓库了。如图:
(6) 将提交的文件推送到远程仓库
点击Android Studio顶部菜单栏上的Git-->Push...,如下图:
然后会弹出如下推送框
点击Push后,就可以在GitLab上看到刚刚推送的内容了。如下图:
七、从GitLab上clone项目
首先到GitLab上复制组长的项目的SSH,如图:
然后点击Android Studio顶部菜单栏上的VCS-->Checkout from Version Control,如图:
最后填写相应的信息即可,如下图:
- URL:填写刚刚复制的项目地址
- Directory:存放项目的文件路径
点击clone后,项目就clone下来了!
出现问题:没有gradle
我的做法:
- 知道该项目原本的gradle版本
- 点击File->Project Structure->Project ,设置 gradle版本
-
做一次Gradle同步,点击File -> Sync Project with Gradle Files
-
出现问题::Run configuration app is not supported in the curent project. Cannot obtain the package.,我重启,然后去app添加Gradle-aware Make
可查看是否建立连接
八、 分支管理
1.分支策略
在实际开发中,我们会用到很多分支。这里说下各分支的作用。
- master分支:最稳定的分支,保存需要发布的版本,不在该分支上做任何开发。
- dev分支:开发分支,保存最新的代码,平时开发就在该分支上。当某个版本开发完成后就合并到master分支,然后在master分支进行版本发布。
- bug分支:用来修复bug的分支,一般是线上版出现bug的时候,从master分支创建一个新的bug分支进行bug修复,修复完成合并到master分支和dev分支(保证master分支与dev分支同步),然后删除该bug分支。
实际开发中我主要用到这三个分支,当然每个人都不同,有些人还会细分到功能分支,预发分支。其中master分支与dev分支都需要推送到远程,为了其他成员能共同开发,bug分支则放在本地即可,你自己修复完bug删掉即可。
2. 分支操作
(1)创建分支
点击Android Studio顶部菜单栏上的Git-->Branches...,如图:
然后选择New Branch,输入分支的名字,例如“dev”,如图:
点击OK,分支dev就创建成功了,并且切换到该分支。重复上面的步骤可以看到当前分支显示的是dev,如图:
切换分支之前记得commit,这样才会保存你的修改!!!
(2)推送分支到远程
这时候我们在dev分支上修改内容,然后按照前面说的提交文件,将提交的文件推送到远程仓库即可。如图:
点击push,然后就可以到Gitlab上看到我们刚刚推送的dev分支了,如图:
(3)切换分支
dev分支上版本V1.0开发完了,需要将代码合并到master上进行发布。因为当前在dev分支,所以需要先切换到master分支,点击Android Studio顶部菜单栏上的Git-->Branches...,打开Git Branches窗口,然后选择本地分支栏下的master->origin/master,然后点击Checkout。如图:
(4)合并分支
第(3)步切换分支已经将分支切换到master了,现在进行分支合并。点击Android Studio顶部菜单栏上的Git-->Branches...,打开Git Branches窗口,然后选择远程分支栏下的origin/dev,然后点击Merge’origin/dev‘into’master‘。如图:
这个时候到GitLab上却发现master分支上并没有合并到dev分支修改的内容,那是因为刚刚只是将远程dev分支的内容合并到本地master分支,本地master分支还没有push到远程,push一下就可以了,如图:
这个时候发现GitLab上master分支与dev分支是保持一致的了。然后将最新的master分支打包发布即可!
(5)删除分支
- 删除本地分支:
点击Android Studio顶部菜单栏上的Git-->Branches...,打开Git Branches窗口,选中本地dev分支,选择Delete即可。如图:
- 删除远程分支:
点击Android Studio顶部菜单栏上的Git-->Branches...,打开Git Branches窗口,选中远程dev分支,选择Delete即可。如图:
九、标签(Tag)管理
标签一般是用于标记某个发布的版本, 例如你发布了版本v1.0,这个时候会打一个v1.0的Tag,主要是方便以后查看和管理某个版本的代码。
1.创建标签
点击Android Studio顶部菜单栏上的VCS-->Git-->Tag...,如图:
然后填写Tag名称与Tag信息,点击Create Tag即可创建本地标签。其中Commit可填写以前某次提交记录的id,表示在该次提交上打Tag。如果不填表示Tag打在最新提交的commit上。如图:
2.推送标签到远程
点击Android Studio顶部菜单栏上的Git-->Push...,如图:
然后弹出Push框,选中Push Tags,点击Push即可推送到远程。如图:
最后到GitLab就可以看到刚刚创建的Tag了,如图:
3.checkout某个标签的代码
点击Android Studio顶部菜单栏上的Git-->Branches...,如图:
然后选择Checkout Tag or Revision...,最后在弹出的Checkout框中填入Tag的名称即可。如图:
4.删除标签
在Android Studio中没找到删除Tag的操作,所以这里用Git命令。
查看本地标签:
git tag
删除本地标签:
git tag -d tagName
删除远程标签:
git push origin :refs/tags/tagName
以上命令需要在Android Studio自带的命令行中输入,如图:
参考:详细讲解Android Studio中使用Git——结合GitLab_androidstudio gitlab-CSDN博客