如何把OC项目托管到GitHub

来源:互联网 发布:asp无组件上传源码 编辑:程序博客网 时间:2024/06/05 02:16

iOS开发拓展篇——如何把项目托管到GitHub

说明:本文主要介绍如何把一个OC项目托管到Github,重操作轻理论。

第一步:先注册一个Github的账号,这是必须的

注册地址:Github官网注册入口

第二步:准备工作

gitHub网站使用Git版本管理工具来对仓库进行管理,注意它们并不等同。

gitHub是全球最大的第三方开源库集散地,Git是一款分布式的版本管理控制工具(除了git之外还有一些其他的版本管理控制工具如SVN等)。

关于Git的基本介绍以及基本使用这里不会做更多介绍,如有需要请参考:Git教程。

关于Git使用的相关书籍:Git版本控制管理(第2版)| Git权威指南(电子版下载地址

关于Github的介绍和说明可以参考书籍GitHub入门与实践(部分内容已经过时暂无电子版提供下载)或者直接通过官网的帮助页面查看。

第三步:在github上面建立空的仓库(repositories)

我们假设你已经拥有了一个github的账号,并且登录成功,那么你将能够找到下面这样的一个界面。


简单说明下:

其中第1块区域会显示你的个人信息,比如昵称,头像,联系方式等等。

第2块区域展示的相关的一些第三方库。

第3块区域显示你在github网站上面的活跃度,分别以各色的方块来表示,其中一个小格子表示一天(人生说白了就是三万多个小格子,说到这里赶紧算算还剩几个没用的),颜色越深表示活跃度越高。

第4块区域可以做一些配置操作等等的。

看到这个界面之后,点击上图箭头所指的+,选择new repositories选项会跳转到如下界面,简单配置后即可创建一个空的仓库。


上图中使用红色线条框起来的地方是需要注意的,在创建仓库的时候需要对该仓库进行简单的配置,如仓库名称等等的。

其中repositories name处需要填写的是仓库的名称。

Description (optional)处填写对该仓库的简单描述,主要是介绍下仓库的功能等(当然如果比较懒的话可以不写)。

接下来是两个选项(Public|private)表示你创建的仓库是公开的还是私有的。Public和private有什么不同呢?如果仓库是公开的那么意味着任何人都可以无条件的获得你整个仓库的内容,免费。如果仓库是私有的,那么别人无法访问你的私有仓库,条件是需要花钱交保护费,保护费不贵每月7$而已。在这里我仅做演示选择public仓库即可。

Initialize this repository with a README表示在初始化仓库的时候,是否生成一个readMe文件。我们在查看别人框架的时候,在框架主页上会有对该框架版本信息,作用使用方法等等的介绍,这个文件就是readMe文件,在这里选择勾上。

Add .gitignore按钮,点击之后会出现一个下拉框,问你是否要设置仓库的忽略文件。这个看你自己的需要,通常如果你的仓库和代码项目有关系,那么最好选择相应的忽略文件(如OC项目可以选择Object-C,swift项目可以选择Swift),至于为什么请参考GIT的基本使用。

Add a license按钮,点击之后会出现一个下拉框,需要你选择一种开源协议,开源协议有很多种用的比较多的有MIT的或者是Apache的,不同的开源协议对项目的使用方式等有不同的规定,详情可以参考Choose an open source license。

上面的信息都设置好之后,接下来只需要轻轻点击Create respository按钮即可创建一个空的仓库。

第四步:了解仓库主界面

至此,一个空的仓库就已经创建完成了,你将看到如下界面。


这里先简单介绍下这个仓库的页面信息。

其中第1块区域是该仓库的名称,你创建仓库后别人可以通过搜索仓库名的方式找到该仓库。

第2块区域是和仓库相关的一些信息,比如Code选项列出仓库的内容(文件),ISSues选项会列出其他人对该仓库的疑问,Pull Request选项提供其他开发者在对该仓库进行维护时请求合并的入口,Setting选项列出对该仓库可以进行的一些操作如删除等等。

第3块区域列出该仓库的提交次数、tag版本等等。

第4块区域列出该仓库的内容,当前仓库中只有三个文件,分别是.gitignore忽略文件,LICENSE开源协议以及初始化生成的ReadMe文件。在该区域右上角有一个clone or download按钮,点击Download Zip按钮即可把该仓库下载到本地。

第5块区域展示ReadMe.md文件的内容。

第6块区域列出有多少人关注该仓库,仓库的受欢迎程度,以及被fork的次数等。我们看一个框架是否受欢迎可以通过查看该仓库Star的个数以及被fork的次数。

上面是对github自动生成空白仓库进行的简单介绍,有了这个空白的仓库之后我们才可以进行后面的操作。

第五步:连接远程仓库

连接远程仓库的方式有很多种,可以使用第三方的GIT管理图形界面工具如sourceTree,也可以使用终端(命令行),或者是XCode。在这里就选择使用XCode来完成该操作。

把MAC 上面的XCode打开,打开之后,左上角菜单选择Xcode->Preference选项,如下图所示:


进入到XCode的配置信息窗口。


切换到Accounts菜单,点击左下角的+号,选择Add Respository添加仓库。出现如下界面,需要进行配置。


Address需要输入要连接的远程仓库地址,其实要连接远程仓库有两种方式可以选择一种是HTTPS请求的,一种是SSH密钥对。在这里,我们先讲解HTTPS请求应该如何处理,如何获得仓库地址呢?选择clone with https后拷贝输出框中地址,如下图所示:


Type:表示使用的版本管理方式可以选择GIT和SVN,在这里只能选择Git(因为GIThub只支持git的方式来管理)

Authentication:表示认证的方式即验证身份的,Github提供两种验证方式,HTTPS和SSH,我们当前选择的是HTTPS的方式,所以此处选择User Name and Password.

User Name和passWord两处填入github网站登录的用户名和密码即可。

配置完成之后,点击add按钮,出现下面的窗口,则说明连接仓库成功。


第六步:把远程仓库下载到本地

连接上远程仓库之后,接下来我们把远程仓库下载到本地,如图选择菜单栏的source control->check out。


之后会弹出如下界面,找到要下载的仓库(通常在最后),点击Next


点击Next按钮之后,需要你选择仓库下载后的存储位置,然后点击Finsh完成即可。把仓库下载完成之后,可以发现内部有一个.git的隐藏文件,即git的版本库。

补充:可以在终端输入如下命令来显示或者是不显示隐藏文件

# 显示隐藏文件$defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder

# 不显示隐藏文件$defaults write com.apple.finder AppleShowAllFiles No && killall Finder


第七步:添加OC项目到仓库中并推送到远程服务器

1)首先先新建一个项目,假设为Test,项目创建后保存到仓库路径下(和.git文件同级)如下图


2)打开项目,会发现在项目的导航栏中各个文件会显示不同的状态如?M等等,通过这种方法来初始化项目,项目本身已经被纳入到git版本库的管理范畴。


3)把修改提交到本地并推送到远程服务器。

XCode本身已经对git进行了很好的集成,点击菜单栏上面的source control选项可以看到如下视图:


其中check out等同于git 命令行中的clone指令,用于把远程仓库下载到本地。

commit等同于git命令行中的commit指令(无差别),用于把更改提交到本地git版本库。

push等同于git命令行中的push指令(无差别),用于把更改提交到远程的git仓库中。

pull指令等同于git命令行中pull指令(无差别),用于获取得到最新的远程仓库信息。

此处,我们需要先选择commit选项,先把更改提交到本地的版本库。选择commit之后出现如下界面:


其中,第1个区域表示要提交的内容,第2个区域输入对此次提交的说明(注释),第3个区域可以选择勾上,如果勾上的话,那么当点击右下角按钮的时候,会先把所有的更改提交到本地的git版本库,然后再把更改推送到远程的git仓库。

点击提交之后,即可刷新github上面仓库的主页,此时显示有新的更新,并且项目提交已经完成。如下图所示,点击可以查看项目文件。


第八步:命令行操作

上面所有演示都没有涉及到命令行,那如果不使用XCode而是使用命令行,应该如何处理增加、删除、提交等常见操作呢?

1)新创建文件,需要把创建的文件提交到本地的git版本库。

把终端打开,cd进入到仓库路径,然后创建一个NewFile文件,如下图所示:


新创建了NewFile文件之后,该文件默认并不会被git版本库管理(可以使用git status命令查看),需要使用add 命令先把指定的文件添加到git的暂缓区,然后再提交到git的版本库,如下图所示。


命令说明:

$ ls -l 以列表的方式显示当前目录下面的文件(NewFile文件为刚刚创建的)

$ git status 查看git仓库文件状态 (NewFile文件状态为红色,表示未被git管理)

$ git add NewFile 把NewFile文件添加到git的暂缓区中(如果需要一次性提交多个文件,那么可以使用git add .命令)

$ git status 重新查看状态(此时NewFile文件状态为绿色,表示更改已经提交到了暂缓区)

$ git commit -m "创建了NewFile文件"  NewFile 表示把暂缓区中NewFile文件对应的更改提交到本地的git版本库(如果要一次性提交所有的更改,那么可以直接把具体的文件省略即可)

2)把文件提交到远程(github)的仓库


说明:使用git push指令把本地的更改推送到远程仓库。

此时重新刷新下github网站上该仓库的主页,可以发现NewFile文件已经提交。


3)修改文件,并把修改操作提交到远程仓库。

假设我们修改了NewFile文件,然后把修改提交到git暂缓区,提交到本地的git版本库之后,再推送到远程的仓库。


第九步:其他操作(tag标记)

如果你的项目已经完成了里程碑开发,那么可以确定为一个新的版本,比如说发布为正式的1.0版本,而后续可能接着发布1.1.0或者是2.0版本等等,那么使用github托管的项目如何确定为一个新的版本呢?或者是如何进行tag标记。

如果仓库没有发布特定的版本,那么release处显示为0.


假设当前的项目已经完成了阶段性的开发,需要正式确定为Test1.0版本,那么应该如何处理?如下图所示:


上面的命令行~

(1)先使用git tag指令查看当前被打上tag标签的版本,最开始的时候无

(2)然后把当前的仓库打上tag标签,为Test1.0版本,并添加注释

(3)再使用git tag指令查看,即可以发现有Test1.0版本

确定了新版本之后,还需要把标签推送到远程服务器,命令行为git push origin 标签名,具体操作如下图所示:


推送到远程仓库之后,刷新github上面该仓库主页,发现release处变为1,点击该按钮可以看到如下界面(提供标记版本的压缩下载)

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 兔兔助手描述文件变了存档怎么办 扣扣没有绑手机被盗了怎么办 我的扣扣被盗了好友也被删了怎么办 小孩不胖但脖子黑怎么办呢 小孩喜欢歪头斜眼看东西怎么办 苹果x屏幕截图发送后成文字怎么办 小朋友照相照出老太脸是怎么办 照相把脸照的很长怎么办 小猫咪下半身不能动不吃不喝怎么办 画个火柴人2主页面进不了怎么办? 火柴人联盟2的衣厨怎么办 偶尔犯了一次错误很自责怎么办 房间已经装修好但想加线条怎么办 自己的房间特别乱却不想收拾怎么办 素描中当阴影面正对着自己怎么办 相爱的俩个人却不能在一起怎么办 苹果手机爱思助手下不了东西怎么办 苹果手机在爱思助手刷坏了怎么办 美团外卖摔坏我的奶茶怎么办 米兔定位电话头像突然调换了怎么办 还在气头上时孩子就来撒娇了怎么办 老公把老婆微信屏蔽了老婆该怎么办 魅族手机有质量问题不给退款怎么办 屏幕点不动锁屏密码无法点怎么办 在嘴巴和鼻翼周围长痘该怎么办 小孩嘴巴被蚊虫咬的红肿怎么办 每次洗头都掉好多头发该怎么办 关于宝宝脾不好胃口却很好怎么办 高中生掉发严重怎么办该看什么科 脱头发如何治疗 掉头发厉害怎么办 头发上突然秃了一小块怎么办 全秃过后长出来白色头发怎么办 高三学生喜欢打球影响学习怎么办 高三学生受同学搔挠学习怎么办 烫完头发掉头发很厉害怎么办 烫头发后掉头发很厉害怎么办 十八岁了下门牙活动疼痛怎么办 烫完头发后掉头发很厉害怎么办 16岁的孩孑得了肺炎怎么办 我的头发掉的很厉害怎么办 八个月宝宝头后面没头发怎么办