Mac下,如何把项目托管到github
以前一直使用的是svn,如下图:
附个下载链接:链接: https://pan.baidu.com/s/1nv6z5XJ 密码: pwqe;不太熟悉的小伙伴可以参考我写的一篇本地搭建svn服务器的博客,上面的步骤亲测无误的!
最近的一个项目需要要求使用git进行管理,因为公司的ios目前就我一个人,所以正好顺便学习了下,中间踩了不少坑,现在总结出来,希望能与人方便。
在这里我所要说的有2中方法,历时1.5天,参考了文顶顶和其他简书大神的博客,亲自操作,在篇尾会附上各位大神的参考博客:
一 、使用x-code和终端配合的方法,原谅我,对经常使用的终端命令还可以,其他的真的不熟悉呀,也兴趣的朋友可以参考我自己收藏的一篇博客,上面有终端的详细操作;好了,话不多说直接上步骤:
1、 先注册一个GIthub的账号
2、 Github说白了就是个仓库,不过人家开源了,全球的人都可以免费试用Git版本管理工具,也是全球最大的第三方开源库的集散地,有句老话:我们不生产代码,我们只是Github的搬运工,,说的就是这种“情怀”
3、我们知道Github上不是随便都能传代码上去的,而是通过一种网络协议--SSH来授权的,那么这个SSH就是个什么鬼:SSH是一种网络协议,用于计算机之间的加密登录。目前是每一台 Linux 电脑的标准配置。而大多数 Git 服务器都会选择使用 SSH 公钥来进行授权,所以想要在 GitHub 提交代码的第一步就是要先添加 SSH key 配置,
4、配置SSH
a、打开终端,直接输入命令 ssh 查看 (Mac一般都是默认安装了ssh的),如下图:
b、输入命令 ssh-keygen -t rsa ,指定rsa算法生成密钥,接着连续三次回车键(不需要输入密码),然后就会生成两个文件 id_rsa 和 id_rsa.pub ,而 id_rsa 是密钥,id_rsa.pub 是公钥,这两个文件默认是在 ~/.ssh下生成的,可在Finder中前往:如下图
点击前往,进入如下界面:
c、接着添加ssh,我们先回到Github上,按照下面的截图即可:
点击a,再点击b,选择 SSH and GPG keys 选项,会看到如下界面:(这是我上传成功后的样式)
未上传Key之前的页面如下图:
注:Title 这个东西我也没弄明白,写与不写都行,反正都能成功,我填写的是自己注册Github时的账号(我用的是QQ邮箱)
Key 这个才是重点:生成Key哩所需要的东西:
1)在终端继续输入命令 cd ~/.ssh (先输入这个),cat id_rsa.pub (再输入这个),如下图:
然后再讲终端输输出的信息(红框中的信息)复制到Key中,最后直接点击 Add SSH key 即可完成SSH配置,这样设备就有权向Github上传代码了。
这里的话,key刚上传的进去的时候,如下图,红框里面的要是是黑色的,然后我上传代码成功后,就变成绿色了,可能有延迟!
现在,咱们再打开终端,验证一下是否添加ssh成功了,输入命令: ssh -T git@github.com
如果输出successfully,则表示成功,这个比较简单,只要命令不输错,一般一次就成功了!
5、在Github上创建仓库,按照下面的步骤走即可:
注:
上图中使用红色线条框起来的地方是需要注意的,在创建仓库的时候需要对该仓库进行简单的配置,如仓库名称等等的。
其中repositories name处需要填写的是仓库的名称。
Description(optional) 处填写对该仓库的简单描述,就是介绍下仓库的功能,可写可不写。
接下来的两个选项(Public|private)表示你创建的仓库是公开的还是私有的,有什么区别呢,免费的就是所有人都可以无条件访问,私有的就是有偿访问了,这里选择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自动生成空白仓库进行的简单介绍,有了这个空白的仓库之后我们才可以进行后面的操作。
6、开始导入的操作,先创建个本地库:(这里有两种方式:a 结合X-code操作;b 结合终端操作)
a、首先创建个新项目,随便创建个就行,选择箭头指的位置:
进入如下界面:
1 Address指的是你再Github上面所创建仓库的地址,如下图:
2 Type:表示使用的版本管理方式可以选择GIT和SVN,在这里只能选择Git(因为GIThub只支持git的方式来管理)
3 Authentication:表示认证的方式即验证身份的,Github提供两种验证方式,HTTPS和SSH,我们当前选择的是HTTPS的方式,所以此处选择User Name and Password.
4 User Name 和passWord两处填入github网站登录的用户名和密码即可。
配置完成之后,点击add按钮,出现下面的窗口,则说明连接仓库成功。
接下来,打开x-code,如下图箭头指示操作:
check out的位置可以自定义,默认是在Document里面,我就是直接默认的地址,如下图:
至此,准备工作全部做完!
7、到这个步骤也是最重要的,上传代码,简单理解就是说远程关联本地仓库,本地仓库放入源代码,然后add,最后push到Github上,大体上就这个流程,具体操作如下:
a、cd到目标文件夹,就是刚才check out的文件夹,如下图:
b、然后我把要上传的项目,直接拖到目标文件夹下,输入 ls -la ,如下图:
c、如上图红框里面的所示,但是该文件默认并不会被Git版本库管理,(可以使用git status命令查看),需要使用add 命令先把指定的文件添加到git的暂缓区,然后再提交到git的版本库,如下图所示:
此时进行add操作,add过后,上图红框中的文件会变成绿色,如下图:
提交到本地仓库,添加一些注释:
最后,git push 一下,提交到Github服务器,如出现下图所示,则表示成功:
此时刷新你的Github主页,你会发现,刚刚上传的项目源代码:
到这,就结束了!
8、修改文件,并把修改操作提交到远程仓库。
我现在在Test项目里面给vc添加了一个背景颜色,需要重新提交,然后把修改提交到git暂缓区,提交到本地的git版本库之后,再推送到远程的仓库。操作步骤如下,照着步骤走就可以:
继续:
git add .命令表示添加多个文件;
最后,是添加描述和推送的操作,如下图:
最后,再来个Github主页展示的:
命令说明:
$ ls -l 以列表的方式显示当前目录下面的文件(NewFile文件为刚刚创建的)
$ git status 查看git仓库文件状态 (新文件状态为红色,表示未被git管理)
$ git add 新文件 把新文件添加到git的暂缓区中(如果需要一次性提交多个文件,那么可以使用git add .命令)
$ git status 重新查看状态(此时新文件状态为绿色,表示更改已经提交到了暂缓区)
$ git commit -m "创建了新文件" 新文件 表示把暂缓区中新文件文件对应的更改提交到本地的git版本库(如果要一次性提交所有的更改,那么可以直接把具体的文件省略即可)
$ git push 推送到远程仓库的操作
9、其他操作(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 标签名,具体操作如下图所示:
如出现上图所示,则表示设置版本成功;
最后来张主页的图,如下:
点击release,进去看到如下界面:
相关总结
1、要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;关联后,使用命令git push -u origin master第一次推送master分支的所有内容;此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
2、切记上传文件时,一定要先commit到本地仓库,才能进行push提交,否则会显示Everything up-to-date(意思就是目前的远程仓库的内容跟本地仓库对比后,没有做修改,是最新的);
3、初用Mac的童鞋可能还不知道终端在哪里,点击Finder旁边的Launchpad,在“其他”文件夹下。
4、在设置别名的时候,出现“fatal: remote
origin already exists.”错误,说明该别名已经存在,可以另外建一个别名,或者使用“git remote rm
origin”命令删除原来的别名,然后重新执行“git remote add origin
git@github.com:yourname/xxxx.git”;
5、在提交的时候,出现“error: failed to
push some refs to 'git@github.com:xxx/xxx.git' hint: Updates were
rejected because the remote contains work that you do not have
locally....”的错误,说明有冲突,远程仓库的版本比本地仓库的要信,所以要先进行更新,才能提交。使用“git
pull git@github.com:xxx/xxx.git”命令进行更新,地址自己相应替换掉。
这是相关问题的一些总结!亲测有效,希望能帮到大家!
参考资料:顶顶大神http://www.cnblogs.com/wendingding/p/5584310.html
http://blog.csdn.net/yyh352091626/article/details/50714880
http://www.jianshu.com/p/5d2374ee0242
git操作大全: https://git-scm.com/book/zh/v2
参考着大神们写的博客,一步一步自己尝试着,知道自己成功了几次,再花了几个小时的时间,把这些经验记录下来,方便自己,也希望能方便到他人!写的过程中,确实遇到很多的坑,不过好在最后都解决了!
Mac下,如何把项目托管到github的更多相关文章
- iOS开发拓展篇——如何把项目托管到GitHub
iOS开发拓展篇——如何把项目托管到GitHub 说明:本文主要介绍如何把一个OC项目托管到Github,重操作轻理论. 第一步:先注册一个Github的账号,这是必须的 注册地址:Github官网注 ...
- vs2012快速将项目托管到github
vs2012快速将项目托管到github 在VS2012中使用GitHub 注册GitHub账号(DeanZhouLin) https://github.com/ 向GitHub中添加一个仓库(T ...
- Hexo快速构建个人小站-Hexo初始化和将项目托管在Github(一)
背景交代 相信每个程序员都有自己做过个人网站,博客之类的项目了,但是现在还在维护吗?反正我前前后后做过2到3个了,维护一段时间后因为一些不可逆的原因(主要是懒)都没有维护了,购买的一些域名和服务器信息 ...
- Mac下,如何把项目托管到Github上(Github Desktop的使用)
在上一篇中,详细讲解了使用X-code和终端配合上传代码的方法,这种方法比较传统,中间会有坑,英文看起来也费劲,不过Github官方提供了一个Mac版的客户端,如下图:
- 将项目托管到GitHub实现步骤
修改于:2017.1.14 第一步:先注册一个Github的账号 注册地址:Github官网注册入口 第二步:准备工作 gitHub网站使用Git版本管理工具来对仓库进行管理,但是它们并不等同. gi ...
- 如何把项目托管到GitHub
第一步:先注册一个Github的账号,这是必须的 注册地址:Github官网注册入口 第二步:准备工作 gitHub网站使用Git版本管理工具来对仓库进行管理,注意它们并不等同. gitHub是全球最 ...
- 本地项目托管到github上
一,步骤 1.在github上新建一个仓库 2.进入我的项目目录, git init //初始化本地仓库 3.git add . //把修改的代码提交到暂存区 4.git status 该命令会把你本 ...
- 将maven项目托管到github
1.下载安装git 并通过 git config --global user.name "",和git config --global user.email "" ...
- 将本地项目托管到github 并预览
本地文件上传到github的步骤 1.先在github上建立一个仓库 2.将此仓库download 3.在此文件夹中git bash here 4.进行如下git操作 git git init git ...
随机推荐
- 从web到搭建ssm环境
1:我先建立了个web项目, (1)在pom.xml中添加了如下 <dependencies> <!-- Spring --> <depend ...
- Python内置GUI模块Tkinter的几点笔记
组件属性,用法 组件位置 更多
- modelform的操作以及验证
1,model的两个功能 1,数据库操作 2,验证只有一个clean方法作为钩子来操作,方法比较少 2,form(专门用来做验证的) 根据form里面写的类,类里面的字段,这些字段里有内置的的正则表达 ...
- python之抽象类
1什么是抽象类 与java一样,python也有抽象类的概念但是同样需要借助模块实现,抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化 2为什么要有抽象类 如果说类是从一堆对象中抽取相同 ...
- 【容斥】Four-tuples @山东省第九届省赛 F
时间限制: 10 Sec 内存限制: 128 MB 题目描述 Given l1,r1,l2,r2,l3,r3,l4,r4, please count the number of four-tuples ...
- JSOUP 请求JSON
JSOUP请求JSON Document doc = Jsoup .connect(Constant.DATA_URL) .header("Accept", "*/*&q ...
- 05、transformation操作开发实战
1.map:将集合中每个元素乘以2 2.filter:过滤出集合中的偶数 3.flatMap:将行拆分为单词 4.groupByKey:将每个班级的成绩进行分组 5.reduceByKey:统计每个班 ...
- Android_Printservice_API_部分翻译
文件夹 * package android.printservice * public abstract class PrintService * public abstract class Prin ...
- 对Rethinking ImageNet Pre-training的理解
Kaiming He的这篇论文提出了一个新问题,在目标检测.实例分割和人体关键点检测等领域,预训练的模型是否真的起了作用?通过实验,得出结论:迭代次数较少时,使用预训练模型效果更好:但是只要迭代次数充 ...
- maven error: element dependency can not have character children
就是Mavn pom.xml的解析错误,因为dependency这个标签中有不可见的垃圾字符,解决方法就是删掉重新打字进去就可以了. references: https://stackoverflow ...