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到远程服务器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容