「Do.007」Android实战项目(2)——使用Github进行版本管理

image

首发公众号: Android程序员日记
做者: 贤榆的榆
若是你以为有帮助欢迎 关注、赞扬、转发
阅读时间:2128字 6分钟

1、版本控制介绍

要开始写代码,那么这些问题咱们须要考虑一下了android

  • 那么若是有多人协做,该怎么合并和管理代码?
  • 若是须要在一个模块开发完成了以后作一个标记,我该怎么操做?
  • 若是已经线上的应用遇到bug,我该如何找到线上的那份代码去修复bug?
  • ...

答案就在小标题中——咱们须要版本控制
简单来讲版本控制就是,对咱们代码的增、删、改、查进行管理,经过提交的动做来记录咱们在这份代码中留下的每个足迹。除此以外,它的另外一大功能就让你和你的小伙伴能够协做开发,这没什么好解释的了,若是没有它,难道要你和你的小伙伴人肉合代码吗?那太残忍了。git

2、版本控制工具备哪些?

目前市面上最多见,也是各大公司最经常使用的版本控制分为两大类(固然早起还有CVS、RCS等等,这些基本要绝迹了咱们就不谈了):程序员

  1. Svn:集中式版本控制
  2. Git: 分布式版本控制

而它们之间最大的区别也已经体如今了上面的解释上面了,分布和集中
集中式,就是全部的代码提交都会依赖于一台中心服务器才能操做,每一次操做也只是对本地正在修改的分支的拉取和提交。当咱们没法链接svn的服务器时,咱们将没法进行版本操做。github

而分布式:每一个开发人员手中都有一套完整的版本控制系统,不须要依赖远程服务器,就能够进行版本控制管理。在链接了"服务器"以后,只是合并同步了整个版本库。之因此给服务器打上了双引号,是由于,在分布的版本控制中,每个终端均可以做为那台所谓的“服务器”存在。这就是去中心化!windows

这里放两张图给你们直观的感觉一下(图片来自网络)
图片来自网络
图片来自网络
最后简单一句话:版本控制——不管是svn仍是git 都是一台code的时光机器,它记录了咱们每个重要的时间节点,能够随时带咱们回到那个节点!xcode

3、github安装及初步使用

github是一个目前市面上最大的基于git(分布式版本控制)面向开源及私有项目的软件项目的托管平台。但他的做用和使命都远不止成为一个免费的托管平台。只是目前咱们先了解它做为一个免费的Git版本控制仓库的该如何使用。因此别纠结,这里咱们暂且将github=git来看待,后面应该会有机会给你们介绍github真正的强大服务器

3.1 安装配置Git环境

Mac版地址: https://gitforwindows.org/
Win版地址: https://gitforwindows.org/

第一步:安装网络

mac上若是你装了xcode ,那么也能够省去你一部分工做了,Xcode 里面已经咱们集成了Git。
win 安装完成以后须要环境变量,而后打开cmd终端,输入git --version 但你看到对应版本号时,说明安装成功了!ssh

第二步:配置用户明和邮箱分布式

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

说明:git config命令的--global参数,用了这个参数,表示你这台机器上全部的Git仓库都作了该配置。可是对于公司的项目你想要配置公司的邮箱,那么你能够在公司的版本控制目录下去掉--global参数对该单个项目进行从新配置!

第三步:给AndroidStudio 配置git
win:打开File–>Settings–>Version Control–>Git
win的图片
mac:打开AndroidStudio–>Preference–>Version Control–>Git
image
配的地址就以前git的安装路径,点击test能够测试是否匹配成功
image

3.2 github建立仓库

gitbhub官网: https://github.com/

前面两步注册和登陆没有太大的技巧性,就是你品尝注册其余的帐号没有太大的区别,这里放两张图意思一下,就再也不赘述了!

一、先注册

注册页面

二、登陆

登陆页面

三、在github中添加ssh Key

若是你不想每次将本地仓库的内容推送到github上时都输入密码。那么你有两个选择

  • 在AndroidStudio中配置github的帐号密码,像前面配置git同样
    image
  • 第二个就是配置ssh key

第一步:生成public/private rsa key pair
在命令行中输入

ssh-keygen -t rsa -C "your_email@example.com"

默认会在相应路径下(/your_home_path)生成id_rsa和id_rsa.pub两个文件

第二步:粘贴ssh key
用下面的命令将sshkey的内容复制到剪贴板
mac

pbcopy < ~/.ssh/id_rsa.pub

win

clip < ~/.ssh/id_rsa.pub

第三步:添加sshkey到github中
image

四、建立新的仓库

登陆后,点击主页右上角的➕号,而后选择New repository
新建仓库
跳转到以下界面后,咱们填写仓库的相关信息
image
注:
Publi:建立一个开源库,对全部开放。
private:建立一个私有库,尽本身可见,这是一个收费项。
initialize this repository with a README:建立仓库的同时生成一个readme文件。

五、初始化本地仓库并同步到刚刚创建的github远程仓库

image
咱们根绝上图中红色框内的提示,用令行去建立一个新的repository并将其同步到远程仓库
初始化一个本地仓库并同步远程
此时咱们刷新github的网页,是会这样的:
查看github上的newApp项目
这样咱们就成功在github上面,管理了咱们的第一个文件README

3.3 建立develop分支并推送至github

一、介绍一些git经常使用命令

//从当前所在分支切出一个名为develop的分支
 //不加-b 就是直接切换分支,若是没有改分支,命令行会提醒你的
git checkout -b develop

//检查项目中是否有未进行版本控制和已修改的文件
git status 

//将项目当前目录下全部文件到暂存区
git add .

//提交暂存取里的代码到本地库
git commit -m"提交log"

//同步本地分支到远程仓库,若是远端没有develop会自动建立!
git push origin develop

二、不想提交的文件添加.ignore文件

在咱们项目当中总有一些文件时咱们不须要提交的,那么咱们能够将它们添加到一个.ignore文件中。那么在咱们执行git add 的时候就会忽略倒着写文件。
.ignore文件内容
固然在咱们建立好项目的时候这个文件git已经帮我建立好了,因此暂时咱们什么都不用动。

三、实战练习

从master新开develop分支并同步到github

这回打脸,你们会看到当我运行了git status以后,你看到了idea文件夹,其实这个文件夹是不必提交的。仔细看了一下ignore文件发现,默认的ignore文件只是帮我把idea中的三个文件加入到了忽略文件中。因而我修改了上面的.ignore文件。

/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml

改成了

/.idea

而后才进行了后面的操做,因此git status 必定要常常用,实时产看咱们项目中文件的状态。

咱们再次打开咱们的github中newApp的项目会看到,在Branch master这里点击一下能够看到咱们刚才提交的同步的develop分支。
查看github上更新的develop分支

好了这篇github进行版本管理就先到这里,下一篇不出意外应该会写《Git分支管理模型》,和你们分享一下实战项目中的分支管理(固然主要仍是站在了前人的肩膀上,看了下一篇你就明白了!)

4、写在最后

写完这文章,才知道。不少东西,很难作到不分大小的面面俱到。不管是我自觉得能够忽略而故意忽略的地方,仍是彻底没有想到而无心之下就忽略的地方。在文中应该都会有出现,若是你们有什么问题,能够评论也能够在公众号后台留言。望你们见谅。

最后你们可能会发现大家的主题和个人主题不太同样,我用了一个Aandroid Studio 的插件Material Theme UI ,另外选择了AndroidStudio的黑色主题,因此看起来和大家的不太同样!

若是你喜欢能够在公众号后台回复「Settings」,就能够得到个人AndroidStudio的Settings 。我已经将个人Settings导出来了,里面还有不少咱们经常使用到的很好用的插件(可能在(4)到时候会专门讲一讲这些插件)。

拿到jar包后,按照File-> Import Settings便可导入了

欢迎你们关注个人公众号

相关文章
相关标签/搜索