1、GitHub
GitHub为开发者提供Git仓库的托管服务,能够进行代码共享、团队协同开发,建立了社会化(social coding)编程的概念。git
2、GitHub与Git的区别
开发者将源代码存入“Git”仓库,而GitHub则在网络上提供Git仓库服务。github
3、Git与SVN的区别
相同点: 均可以进行版本管理,即管理更新的历史记录,例如记录添加或更改源代码的过程,回滚到特定阶段,恢复误删除文件等均可以进行版本管理,即管理更新的历史记录,例如记录添加或更改源代码的过程,回滚到特定阶段,恢复误删除文件等web
不一样点:编程
Git为集中式版本控制,只有中心服务器拥有一份代码,而Git为分布式版本控制,每一个人的电脑上就有一份完整的代码。
集中式版本控制有安全性问题,当中心服务器挂了全部人都没办法工做了。
集中式版本控制须要连网才能工做,若是网速过慢,那么提交一个文件的会慢的没法让人忍受。而分布式版本控制不须要连网就能工做。
分布式版本控制新建分支、合并分支操做速度很是快,而集中式版本控制新建一个分支至关于复制一份完整代码。
4、GitHub的特点服务
Pull Request 开发者在本地对源码进行修改后(例如修复Bug、添加新功能),能够经过Pull Request请求仓库全部者容许把修改合并到Git仓库中。开发者在本地对源码进行修改后(例如修复Bug、添加新功能),能够经过Pull Request请求仓库全部者容许把修改合并到Git仓库中。浏览器
Issue 将一个任务或问题分配给一个Issue进行追踪、管理、交流,缓存
GitHub Flavored Markdown 在GitHub上,全部设计文字输入的地方(如Issue、评论、Wiki)均可以用Markdown语法安全
News Feed 将感兴趣的仓库添加到Watch中,就能够在News Feed及时看到仓库更新信息服务器
Wiki 经过Wiki,任何人均可以对一篇文章进行修改,经常使用于开发文档或手册的编写网络
下面咱们经过一个实例进行讲解,分为三部分:框架
在Github上建立一个仓库
并在本地新建一个Xcode项目
把新建的Xcode项目提交到Github上的仓库
6、在Github建立Git仓库
浏览器中打开https://github.com,点击Sign up进行注册,若是已经注册则点击Sign in进行登陆,这里就不详细说注册流程了。
点击New,开始新建Git仓库
输入Git仓库初始化信息: Repository name :仓库名称,我通常直接使用项目名称 Description (optional) :仓库的说明(可选填) Public/Private :是否公开,Private私有是收费服务,通常开源项目选择Public(若是想无偿使用私有Git,能够选择码云提供的Git服务:http://git.oschina.net ) Initialize this repository with a README :若是钩上,GitHub会自动初始化仓库并设置README文件(显示在仓库首页中的内容,通常包含项目概要、使用方法、许可协议等),让用户能够当即clone这个仓库。若是要向Github添加已有的Git仓库,建议不勾选。咱们这里不勾选。 Add .gitignore :下拉选择,能够在初始化时自动生成.gitignore文件,gitignore文件用以记录不须要在Git仓库进行版本管理的文件。下拉菜单包含了主要的语言及框架,选择从此将要使用的便可。咱们这里不作选择。 Add a license :下拉菜单能够选择要添加的许可协议文件。若是仓库中包含的代码已经肯定了许可协议,则选择便可。这里咱们也不作选择。
点击Create Repository完成仓库建立。
7、建立Xcode项目
Xcode建立项目时,直接勾选Create Git repository on my Mac,即在本地项目中建立了git仓库
6、Git命令
git init (初始化仓库) 若是在上一步建立项目时,没选择建立git仓库,那么须要想经过命令初始化git仓库
git init
git status (查看仓库状态) Untracked files后面红色部分文件为未添加到git控制下的文件。
git status
git add 经过“git add +文件名”,能够将指定文件加入到Git仓库暂存区中,"git add ."表示将目录下全部文件加入Git仓库暂存区。
git add .
git commit -m '' 将当前缓存区中的文件实际保存到仓库的历史记录中。经过这些记录,咱们就能够在工做树中恢复文件。m后面‘’中文字为提交信息,是对这个提交的概述。
git commit -m 'First commit'
git remote add 添加远程仓库
将本地仓库关联到第六步建立的Github远程仓库,如图复制Github远程仓库的地址,执行git remote add <项目名称> <远程地址>
git remote add origin https://github.com/dolacmeng/demo.git
git push 推送到远程仓库 执行git push命令便可将当前本地的内容推送至远程仓库origin的master分支,首次push时,添加-u origin master表示将origin仓库的master分支设置为本地仓库当前分支的upstream(上游)
git push -u origin master
此时要求咱们依次输入GitHub的用户名和密码,输入后回车等待上传完,而后咱们能够看到github上的仓库已经有咱们提交的文件:
git clone从远程仓库克隆 前面咱们已经把在GitHub上新建的仓库设置为远程仓库,并向这个仓库push了本地代码。如今咱们能够在新的电脑中把项目完整地克隆到本地,这样即可以让新的开发者协同开发同一个项目。
git clone https://github.com/dolacmeng/demo.git
git pull拉取最新的远程仓库分支 经过git pull命令拉取Github上仓库的最新代码,便可同步其余开发中提交的代码。