GitHub与Git入门

一、GitHub

GitHub为开发者提供Git仓库的托管服务,可以进行代码共享、团队协同开发,创建了社会化(social coding)编程的概念。

二、GitHub与Git的区别

开发者将源代码存入“Git”仓库,而GitHub则在网络上提供Git仓库服务。

三、Git与SVN的区别

  1. 相同点:
    都可以进行版本管理,即管理更新的历史记录,例如记录添加或更改源代码的过程,回滚到特定阶段,恢复误删除文件等都可以进行版本管理,即管理更新的历史记录,例如记录添加或更改源代码的过程,回滚到特定阶段,恢复误删除文件等

  2. 不同点:

  • Git为集中式版本控制,只有中心服务器拥有一份代码,而Git为分布式版本控制,每个人的电脑上就有一份完整的代码。
  • 集中式版本控制有安全性问题,当中心服务器挂了所有人都没办法工作了。
  • 集中式版本控制需要连网才能工作,如果网速过慢,那么提交一个文件的会慢的无法让人忍受。而分布式版本控制不需要连网就能工作。
  • 分布式版本控制新建分支、合并分支操作速度非常快,而集中式版本控制新建一个分支相当于复制一份完整代码。

四、GitHub的特色服务

  1. Pull Request
    开发者在本地对源码进行修改后(例如修复Bug、添加新功能),可以通过Pull Request请求仓库所有者允许把修改合并到Git仓库中。开发者在本地对源码进行修改后(例如修复Bug、添加新功能),可以通过Pull Request请求仓库所有者允许把修改合并到Git仓库中。

  2. Issue
    将一个任务或问题分配给一个Issue进行追踪、管理、交流,

  3. GitHub Flavored Markdown
    在GitHub上,所有设计文字输入的地方(如Issue、评论、Wiki)都可以用Markdown语法

  4. News Feed
    将感兴趣的仓库添加到Watch中,就可以在News Feed及时看到仓库更新信息

  5. Wiki
    通过Wiki,任何人都可以对一篇文章进行修改,常用于开发文档或手册的编写


下面我们通过一个实例进行讲解,分为三部分:

  • 在Github上创建一个仓库
  • 并在本地新建一个Xcode项目
  • 把新建的Xcode项目提交到Github上的仓库

六、在Github创建Git仓库

  1. 浏览器中打开https://github.com,点击Sign up进行注册,如果已经注册则点击Sign in进行登录,这里就不详细说注册流程了。
  2. 点击New,开始新建Git仓库
  3. 输入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:下拉菜单可以选择要添加的许可协议文件。如果仓库中包含的代码已经确定了许可协议,则选择即可。这里我们也不做选择。
  4. 点击Create Repository完成仓库创建。

七、创建Xcode项目

Xcode创建项目时,直接勾选Create Git repository on my Mac,即在本地项目中创建了git仓库
GitHub与Git入门_第1张图片

六、Git命令

  1. git init (初始化仓库)
    如果在上一步创建项目时,没选择创建git仓库,那么需要想通过命令初始化git仓库
git init 
  1. git status (查看仓库状态)
    Untracked files后面红色部分文件为未添加到git控制下的文件。
git status

GitHub与Git入门_第2张图片

  1. git add
    通过“git add +文件名”,可以将指定文件加入到Git仓库暂存区中,"git add ."表示将目录下所有文件加入Git仓库暂存区。
git add .

GitHub与Git入门_第3张图片

  1. git commit -m ''
    将当前缓存区中的文件实际保存到仓库的历史记录中。通过这些记录,我们就可以在工作树中恢复文件。m后面‘’中文字为提交信息,是对这个提交的概述。
git commit -m 'First commit'
  1. git remote add 添加远程仓库

将本地仓库关联到第六步创建的Github远程仓库,如图复制Github远程仓库的地址,执行git remote add <项目名称> <远程地址>
GitHub与Git入门_第4张图片

git remote  add origin https://github.com/dolacmeng/demo.git
  1. git push 推送到远程仓库
    执行git push命令即可将当前本地的内容推送至远程仓库origin的master分支,首次push时,添加-u origin master表示将origin仓库的master分支设置为本地仓库当前分支的upstream(上游)
git push -u origin master

此时要求我们依次输入GitHub的用户名和密码,输入后回车等待上传完,然后我们可以看到github上的仓库已经有我们提交的文件:
GitHub与Git入门_第5张图片

  1. git clone从远程仓库克隆
    前面我们已经把在GitHub上新建的仓库设置为远程仓库,并向这个仓库push了本地代码。现在我们可以在新的电脑中把项目完整地克隆到本地,这样便可以让新的开发者协同开发同一个项目。
git clone https://github.com/dolacmeng/demo.git
  1. git pull拉取最新的远程仓库分支
    通过git pull命令拉取Github上仓库的最新代码,即可同步其他开发中提交的代码。

你可能感兴趣的:(iOS)