本文作者
作者:wildma
链接:
https://www.jianshu.com/p/059ed1e01229
本文由作者授权发布。
记得刚上班那会,利用Git不停不敢merge代码,每次merge都是找同事资助,最蠢的事变大概就是发生辩论后,重新拉取的一下最新代码,然后在将本身的改动挪已往,再提交。
别的本文作者还基于GitLab,在公司很多时间公司都会有code托管平台,但是团体操纵是相近的。
假如你只关心如安在AS中利用Git,直接跳转到第5末节。
1
媒介
从前项目版本管理工具不停用的都是SVN,如今换成Git,而且项目托管平台利用的是GitLab。固然常常用GitHub,但是却很少利用到分支,由于都是本身在写,也不消开辟版与发布版、打Tag那些,以是这篇文章重要讲下GitLab与Git的利用。
这篇文章还是会按我从前的写作风格,写的普通易懂,而且全程本身操纵一遍,目标是为了初学者也能看懂。
2
简介
Git:Git是一个开源的分布式版本控制体系,可以有效、高速的处理惩罚从很小到非常大的项目版本管理。简单说,它就是一个管理项目版本的工具。
GitLab:GitLab是一个用于堆栈管理体系的开源项目,利用Git作为代码管理工具,并在此底子上搭建起来的web服务。简单说,GitLab的性子是和GitHub一样的,都是用来存储项目标堆栈。
3
预备Git
3.1安装Git
下载地点:
https://git-scm.com/download/
安装步调:双击安装,按默认选项一起下去即可。
安装完成后,在开始菜单里找到“Git”--“GitBash”,出现如下图,就阐明Git安装乐成!
3.2设置信息
在上图下令行中输入你的用户名与邮箱
$gitconfig--globaluser.name"YourName"
$gitconfig--globaluser.email"email@example.com"
下令中的--global参数表现你这台呆板上全部的Git堆栈都会利用这个设置。
3.3AndroidStudio中设置Git
在AndroidStudio中点击Settings--VersionControl--Git,然后在PathToGitexecutable上输入你刚刚安装Git的位置,末了点击Test按钮出现Gitexecutedsuccessfully阐明设置乐成,如下图:
4
GitLab利用
4.1注册账号
这里说下注册账号的时间必要留意的事项。
假如注册账号的时间提示如下错误
therewasanerrorwiththereCAPTCHA,pleasesolvethereCAPTCHAagain
那是由于注册时必要验证码验证,就是reCAPTCHA,是一个图形验证码。但是这个验证码必要FQ才华看得到,否则你不停都注册不了。如图:
4.2GitLab账户设置SSHKeys
4.2.1起首必要查抄你电脑是否已经有SSHKeys
在GitBash客户端,输入如下代码:
$cd~/.ssh
$ls
如下阐明已经存在,存在就可以忽略步调4.2.2,直接进入步调4.2.3
4.2.2创建一个SSHKeys
在GitBash客户端,输入如下代码:
$ssh-keygen-trsa-C"your_email"
然后根据提示举行相应操纵,如下图所示:
第一个Enter表现Keys存储的位置,默认按回车键即可。第二个和第三个Enter表现Push文件的时间要输入的暗码,不必要暗码就默认按回车键即可,然后出现如图底部信息就阐明创建乐成了!
4.2.3GitLab设置SSHKeys
进入上图所示存储id_rsa.pub的文件夹拷贝该文件中的内容,然后登录你的GitLab账号,点击网页右上角的头像--Settings,点击左边菜单栏的SSHKeys进入页面添加SSHkey。如下操纵:
4.3创建项目
在GitLab网站点击导航条上的“+”即可进入创建项目标页面,然后根据提示填写相应信息,如下图:
Projectpath:项目路径
Projectname:项目名称
Projectdeion(optional):项目形貌(可选项)
VisibilityLevel:可见登记,Private表现私有的,只有你本身大概组内的成员能访问,Internal表现全部登录的用户,Public表现公开的,全部人都可以访问。
创建完成后是如许的:
5
AndroidStudio中利用Git
5.1将项目上传到GitLab
本地已创建好的项目为WildmaGit
5.1.1设置忽略文件
AndroidStudio创建项目后会主动天生.gitignore文件,这个文件可以用来忽略那些不消参加到堆栈的文件。项目根目次下与module目次下都会天生该文件,如下:
一样平常环境下我们只必要将项目根目次下的/.idea/workspace.xml与/.idea/libraries改成.idea即可,其他没有特别要求就用默认的。如下:
修改前:
修改后:
5.1.2初始化本地Git堆栈
点击AndroidStudio顶部菜单栏上的VCS--ImportintoVersionControl--CreateGitRepository,如图:
然后选择必要初始化的项目根目次,如图:
初始化之后发现文件名由原来的白色变成了赤色,这表现文件已经被git跟踪了,但是并没有添加到堆栈中。如图:
5.1.3将本地Git堆栈已与长途堆栈举行关联
打开项目文件夹,在该文件夹中打开GitBash。输入如下下令后就代表本地Git堆栈已与长途堆栈举行关联了。
gitremoteaddorigingit@gitlab.com:wildma/WildmaGit.git
具体步调见下图:
此中git@gitlab.com:wildma/WildmaGit.git为我们项目标长途地点,可以到我们前面创建项目中复制,如下:
5.1.4添加文件
选中项目标根目次,点击AndroidStudio顶部菜单栏上的VCS--Git--Add...,如下图:
添加文件后发现文件名由原来的赤色变成了绿色,阐明已经将文件添加进堆栈了。如下图:
5.1.5提交文件
每次提交前必要先更新项目,缘故起因是假如是多人相助的项目,必要先将长途堆栈中他人提交的最新代码更新到本地堆栈。如图:
然后选中Merge,点击OK,假如本地代码与长途代码有辩论就会弹出辩论提示,根据需求Merge即可,如图:
Update后就可以提交文件了,选中项目标根目次,点击AndroidStudio顶部菜单栏上的VCS--Git--CommitDirectory...,如图:
然后会弹出如下提交框,这里可以选择你要提交的文件和填写提交信息,如图:
提交文件后发现文件名由原来的绿色又变成了最开始的白色,阐明已经将文件提交上堆栈了。如图:
5.1.6将提交的文件推送到长途堆栈
选中项目标根目次,点击AndroidStudio顶部菜单栏上的VCS--Git--Push...,如下图:
然后会弹出如下推送框
点击Push后,就可以在GitLab上看到刚刚推送的内容了。如下图:
5.2从GitLab上clone项目
起首到GitLab上复制项目标地点,如图:
然后点击AndroidStudio顶部菜单栏上的VCS--CheckoutfromVersionControl--Git,如图:
末了填写相应的信息即可,如下图:
GitRepositoryURL:填写刚刚复制的项目地点
ParentDirectory:项目路径
DirectoryName:项目文件夹名称
点击clone后,项目就clone下来了!
5.3分支管理
5.3.1分支战略
在实际开辟中,我们会用到很多分支。这里说下各分支的作用。
master分支:最稳固的分支,生存必要发布的版本,不在该分支上做任何开辟。
dev分支:开辟分支,生存最新的代码,平常开辟就在该分支上。当某个版本开辟完成后就归并到master分支,然后在master分支举行版本发布。
bug分支:用来修复bug的分支,一样平常是线上版出现bug的时间,从master分支创建一个新的bug分支举行bug修复,修复完成归并到master分支和dev分支(包管master分支与dev分支同步),然后删除该bug分支。
实际开辟中我重要用到这三个分支,固然每个人都差别,有些人还会细分到功能分支,预发分支。此中master分支与dev分支都必要推送到长途,为了其他成员能共同开辟,bug分支则放在本地即可,你本身修复完bug删掉即可。
5.3.2分支操纵
1.创建分支
点击AndroidStudio顶部菜单栏上的VCS--Git--Branches...,如图:
然后选择NewBranch,输入分支的名字,比方“dev”,如图:
点击OK,分支dev就创建乐成了,而且默认切换到该分支。重复上面的步调可以看到当前分支表现的是dev,如图:
2.推送分支到长途
这时间我们在dev分支上修改内容,然后按照前面说的提交文件(步调5.1.5),将提交的文件推送到长途堆栈(步调5.1.6)即可。如图:
点击push,然后就可以到Gitlab上看到我们刚刚推送的dev分支了,如图:
3.切换分支
dev分支上版本V1.0开辟完了,必要将代码归并到master上举行发布。由于当前在dev分支,以是必要先切换到master分支,点击AndroidStudio顶部菜单栏上的VCS--Git--Branches...,打开GitBranches窗口,然后选择本地分支栏下的master-origin/master,然后点击Checkout。如图:
4.归并分支
第三步已经将分支切换到master了,如今举行分支归并。点击AndroidStudio顶部菜单栏上的VCS--Git--Branches...,打开GitBranches窗口,然后选择长途分支栏下的origin/dev,然后点击Merge。如图:
这个时间到GitLab上却发现master分支上并没有归并到dev分支修改的内容,那是由于刚刚只是将长途dev分支的内容归并到本地master分支,本地master分支还没有push到长途,push一下就可以啦~如图:
这个时间发现GitLab上master分支与dev分支是保持同等的了。然后将最新的master分支打包发布即可!
5.删除分支
删除本地分支:
点击AndroidStudio顶部菜单栏上的VCS--Git--Branches...,打开GitBranches窗口,选中本地dev分支,选择Delete即可。如图:
删除长途分支:
点击AndroidStudio顶部菜单栏上的VCS--Git--Branches...,打开GitBranches窗口,选中长途dev分支,选择Delete即可。如图:
5.4标签(Tag)管理
标签一样平常是用于标记某个发布的版本,比方你发布了版本v1.0,这个时间会打一个v1.0的Tag,重要是方便以后查察和管理某个版本的代码。
1.创建标签
点击AndroidStudio顶部菜单栏上的VCS--Git--Tag...,如图:
然后填写Tag名称与Tag信息,点击CreateTag即可创建本地标签。此中Commit可填写从前某次提交记录的id,表现在该次提交上打Tag。假如不填表现Tag打在最新提交的commit上。如图:
2.推送标签到长途
点击AndroidStudio顶部菜单栏上的VCS--Git--Push...,如图:
然后弹出Push框,选中PushTags,点击Push即可推送到长途。如图:
末了到GitLab就可以看到刚刚创建的Tag了,如图:
3.checkout某个标签的代码
点击AndroidStudio顶部菜单栏上的VCS--Git--Branches...,如图:
然后选择CheckoutTagorRevision...,末了在弹出的Checkout框中填入Tag的名称即可。如图:
4.删除标签
在AndroidStudio中没找到删除Tag的操纵,以是这里用Git下令。(有发现的小搭档可以告诉我)
查察本地标签:
gittag
删除本地标签:
gittag-dtagName
删除长途标签:
gitpushorigin:refs/tags/tagName
以上下令必要在AndroidStudio自带的下令行中输入,如图:
盼望这种图文连合的方式各人都能看懂吧!写的不好的地方请多交换~
项目地点:
https://gitlab.com/wildma/WildmaGit
我要评论