iOS开发源代码管理之GIT简介及创建Github代码仓库和HTTPs验证

      在我的上一篇文章《iOS开发源代码管理之SVN简介以及SVN服务器搭建》中,简单的介绍了集中式源代码管理工具SVN,那么本文就来介绍一下目前比较流行的一种开源源代码管理工具git.

      GIT在国外非常流行,在国内也慢慢普遍,使用率越来越高。它是一种分布式的管理工具,那么这里有两个概念,什么是集中式,什么又是分布式?

1.集中式

ComputerA想要服务器最新的代码直接通过checkout向服务器下载

ComputerA在本地修改代码后,直接提交到服务器

ComputerB想要服务器最新的代码直接通过checkout向服务器下载

ComputerB在本地修改代码后,直接提交到服务器

所有的内容统一交给服务器来进行管理


2.分布式

服务器本地有个代码仓库,从服务器更新代码,上传代码

ComputerA想要服务器最新的代码由本地代码仓库将服务器的代码下载下来,再通过本地代码仓库的项目下载到ComputerA

ComputerA在本地修改完代码后先提交到本地的代码仓库,再由本地的代码仓库提交到服务器

ComputerB操作与ComputerA相似

代码的提交与更新首先会通过本地代码仓库,本地代码仓库再通过服务器,并不是直接交给服务器来进行管理

分布式和集中式的对比

     1. 在速度上,git可以先提交给本地,然后再提交给代码仓库,而SVN只能直接提交给代码仓库,所以在网络出现状况时,git就表现出了绝对优势。

     2.SVN使用分支比较笨拙,需要先从tags中将代码拷贝过来,修改后备份到分支,分支再与主干的项目合并。

     3.git可以轻松拥有无限个分支,轻松的在各个分支随意切换。

     4. 旧版本的SVN会在每一个目录置放一个.svn(目前svn1.7的只有一个.svn),git只会在根目录拥有一个.git。  

GIT的使用的2种方法

1.命令行:常用的命令简单且不多,直接使用命令行就行

2.图形化界面工具

  SourceTree GitHub(SourceTree GitHub 3.xcode xcode对git的集成非常非常好,一般情况下,   直接使用xcode就行)

GIT的常用指令

git help:git指令帮助手册        查看其他指令的做法:githelp其他指令

git config:git的配置信息相关(修改的是.git/config文件)

                配置用户名:git config “user.name”用户名(用于跟踪修改记录)

                配置邮箱:git config “user.email”邮箱(用于多人开发间的沟通)

                设置指令的别名:git config alias.别名原指令名称

                将此设置应用到整个系统中:gitconfig––gloabal

                查看配置信息:gitconfig–l

                编辑配置信息:gitconfig–e(用vim编辑,:wq是退出vim编辑器)

git status:查文件的状态

                查看某个文件的状态:git status文件名

                查看当前路径所有文件的状态:git status

git log:查看文件的修改日志

                查看某个文件的修改日志:git log文件名

                查看当前路径所有文件的修改日志:git log

                用一行的方式查看简单的日志信息:git log – –pretty=oneline

                查看最近的N次修改:git log –N(N是一个整数)

git diff:查看文件最新改动的地方

               查看某个文件的最新改动的地方:git diff 文件名

               查看当前路径所有文件最新改动的地方:git diff

git init:初始化一个空的本地仓库,生成一个.git目录,用于维护版本信息

               在当前路径初始化仓库:git init

               在其他路径初始化仓库:git init 仓库路径

git add:将工作区的文件保存到暂缓区

               保存某个文件到暂缓区:git add 文件名

               保存当前路径的所有文件到暂缓区:git add .(注意,最后是一个点.)

git commit:将暂缓区的文件提交到当前分支

               提交某个文件到分支:git commit -m ”注释”文件名

               保存当前路径的所有文件到分支:git commit -m ”注释”

git reset:版本回退(建议加上––hard参数,git支持无限次后悔)

               回退到上一个版本:git reset – –hard HEAD^

               回退到上上一个版本:git reset – –hard HEAD^^

               回退到上N个版本:git reset – –hard HEAD~N(N是一个整数)

               回退到任意一个版本:git reset – –hard 版本号(版本号用7位即可)

git reflog:查看指令使用记录(能够查看所有的版本号)

git rm:删除文件(删完之后要进行commit操作,才能同步到版本库)

git clone:下载远程仓库到本地

               下载远程仓库到当前路径:git clone 仓库的URL

              下载远程仓库到特定路径:git clone 仓库的URL存放仓库的路径

git pull:下载远程仓库的最新信息到本地仓库

git push:将本地的仓库信息推送到远程仓库

git rm:删除文件(删完之后要进行commit操作,才能同步到版本库)

GIT的工作原理


1.svn开发工作在主干进行,git开发工作在分支中进行

2.通过add命令可以将工作目录没有被添加到暂缓区的文件添加到暂缓区


3.通过commit命令将暂缓区的所有内容上传到当前分支,提交成功后清空暂缓区内容


远程仓库

  GIT服务器的搭建非常繁琐,如果是多人团队开发,最好还是搭建一个远程仓库

   搭建远程仓库的途径

   1.自己搭建一个git服务器:费时费力

   2.在GitHub上托管项目:公开项目免费、私有项目收费,很多第三方开源项目

   3.在oschina上托管项目:完全免费,在国内访问速度快(推荐使用)

 创建Github代码仓库和HTTPs验证

   一.前提准备

   1.在GIT中创建一个Github文件夹演练的github

   二.登陆github网站github

三.创建远程仓库

1.点击+ ->New repository

2.创建远程代码仓库

3.创建后会来到此界面,将https的url复制下来

四.在Xcode中添加远程仓库

1.点击Xcode的偏好设置

2.点击添加仓库

3.填写服务器地址,源代码管理类型,认证方式以及帐号密码

4.看到以下界面说明认证成功

五.初始化项目

1.点击Source Control -> checkout

2.选择刚刚创建远程仓库

3.下载到指定位置

4.查看下载的内容

5.创建项目放到meituan工作目录

6.将项目commit并push到远程仓库(Source Control -> commit)

7.浏览器查看仓库里是否有该项目

六.开始开发

1.创建dog类commit并push到远程仓库(Source Control -> commit)

2.浏览器查看仓库里是否有Dog类

创建代码仓库的时候选择需要忽略的语言文件,在提交到服务器的时候,如果网络不太好,可以先commit,之后再push到远程服务器

推荐阅读更多精彩内容