什么是Git?
-
Git
分布式版本控制系统(Version Control System),是把代码仓库完整地镜像下来,相当于每个人的电脑都是一个完整的版本库,这样的话,任何一处协同工作的服务器出现故障,都可以用任何一个镜像出来的本地仓库恢复。并且,即便在网络环境比较差的情况下也不用担心,因为版本库就在本地电脑上。 -
工作原理/流程:
gitTheory.png
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
Git、Gitblit、GitHub、GitLab的区别
Gitblit
、GItHub
、Gitlab
这3个都是基于Git的版本控制系统。都可以通过Git软件来进行对代码管理的相关操作。
-
Github
:最流行的开源项目托管仓库,很多大神的开源框架都可以在上面找到,后被微软收购。 -
Gitblit
是使用钩子,通过钩子记录版本。是对同一个分支进行提交,之后再合并(目前公司在用,搭建的私有服务器)。 -
Gitlab
拥有GItHub
的一切,让团队对它们的repositories拥有更多的控制。可以设置project的权限,让用户分享一部分代码。提供了web界面,每个人通过创建的一个新分支来提交代码,一般用在企业、学校内部网络搭建git私服。
Git的基本使用
1. 安装Git:网上找到Git傻瓜式安装(略)Git下载地址
2. 创建本地代码仓库及相关操作:
①. 配置用户信息
鼠标右键找到Git Bash并打开,配置身份信息,这样在提交代码的时候Git就可以知道是谁提交的了。
②.创建本地仓库
给项目TestCode建立一个本地代码仓库,先进入到项目的目录下面
TestCode.png
接着在目下下面输入
git init
的命令,就创建好了本地代码仓库。
init.png
③. 删除本地仓库
仓库创建完成后,会在TestCode根目录下生成一个隐藏的
.git
文件夹,这个文件夹是用来记录本地所有的Git操作的,如想删除本地仓库,只需要删除这个文件夹就可以了。
.giepng
④.提交本地代码
add 用于把想要提交的代码先添加进来,而commit 则是真正地去执行提交操作。
git add .
添加所有文件,git commit -m "First 提交."
提交,在commit 命令的后面,我们一定要通过-m
参数来加上提交的描述信息,没有描述信息的提交被认为是不合法的。(git提交和修改多数在Android Studio中操作,暂不介绍如何在Git Bash进行操作和查看)
⑤. Git创建分支:
- 为什么要创建分支
在发布1.0版本的时候建立一个分支,然后在主干线上继续开发1.1版本的功能。当1.0版本上发现任何bug的时候,就在分支线上进行修改,然后发布新的1.0版本,并记得将修改后的代码合并到主干线上。这样的话,不仅可以轻松解决掉1.0版本存在的bug,而且保证了主干线上的代码也已经修复了这些bug,当1.1版本发布时就不会有同样的bug存在了。 - 查看和创建分支
git branch
查看当前版本库中属于哪个分支,git branch version1.0
创建名为version1.0的分支,使用git checkout version1.0
切换到version1.0的分支上。(merge:合并代码)
⑥.忽略文件
在项目根目录和app模块下的.gitignore
的文件中可以查看,忽略上传的文件。Android Studio自动生成的一些默认配置,通常情况下,这部分内容都是不用添加到版本控制当中的
⑦.查看修改内容、文件变动、撤销未提交修改、查看提交记录:git status
,git diff
,reset HEAD <file> 和 git checkout <file>
,git log
3. 与远程版本库协作
①.克隆代码
git clone <url>
②.本地代码推送到远程版本库
git push origin master
其中origin 部分指定的是远程版本库的Git地址,master 部分指定的是同步到哪一个分支上
③.同步远程版本库代码
-
git fetch origin master
,同步下来的代码并不会合并到任何分支上去,而是会存放到一个origin/master 分支上,用git diff origin/master
查看远程版本库修改了哪些东西,git merge origin/master
将origin/master分支上的修改合并到主分支上。 -
git pull origin master
pull命令则是相当于将fetch和merge这两个命令放在一起执行了,它可以从远程版本库上获取最新的代码并且合并到本地
GitBLit的使用
在csdn上找到很详细的一篇文章,包括创建项目,Colne,上传,提交等等这里就不赘述了。GitBlit的使用教程
Android Studio中使用Git
1. 在Android Studio中添加Git
在File-->Settings-->Version Control-->Git中添加git.exe的地址
2.update project
在VCS工具栏下点击update project,默认选择下面两个选项
update project
merge
合并:采用合并的方式来更新代码,此时会产生一个commit,这也是一般常用的默认的操作,这个的好处是能够在log中看到所有的操作记录,但是对于代码洁癖来说,可能会无法接受。Rebase
保留本地项目代码:简单来说就是所有的本地commit都是默认放到远程的commit记录的顶部,log也只会有一条记录线,简洁,但是有时候排查问题会不方便。Branch Default
默认分支:每个分支都可以设置自己的update方式,可以在config中设置,这个是选择分支默认的方式如果本地和远程仓库都有改动会进入到Merge页面
merge.png
点击apply后会将merge之后的代码保存到本地。
3.commit和Push
点击VCS选择Commit。 Commit.pngcommit之前一定先进行update project。
选择需要的改动事项后Commit and push。 commitWarning.png
提示你有错误或者警告,警告可以不用管继续点击Commit and Push push.png
此时进入到Push界面,会以时间降序的方式排位没有Push的Commit,右边是改动的文件,点击Push就可以提交到远程仓库了。如提示输入账号密码,输入之后就可以成功Push了。
其他参考使用说明
Git官方说明
结合Gitlab在Android Studio中使用
网友评论