Mac下,如何把项目托管到github

之前一直使用的是svn,以下图:html

附个下载连接:连接: https://pan.baidu.com/s/1nv6z5XJ 密码: pwqe;不太熟悉的小伙伴能够参考我写的一篇本地搭建svn服务器的博客,上面的步骤亲测无误的!ios

最近的一个项目须要要求使用git进行管理,由于公司的ios目前就我一我的,因此正好顺便学习了下,中间踩了很多坑,如今总结出来,但愿能与人方便。git

在这里我所要说的有2中方法,历时1.5天,参考了文顶顶和其余简书大神的博客,亲自操做,在篇尾会附上各位大神的参考博客:github

一 、使用x-code和终端配合的方法,原谅我,对常用的终端命令还能够,其余的真的不熟悉呀,也兴趣的朋友能够参考我本身收藏的一篇博客,上面有终端的详细操做;好了,话很少说直接上步骤:算法

一、 先注册一个GIthub的帐号swift

传送门服务器

二、 Github说白了就是个仓库,不过人家开源了,全球的人均可以避免费试用Git版本管理工具,也是全球最大的第三方开源库的集散地,有句老话:咱们不生产代码,咱们只是Github的搬运工,,说的就是这种“情怀”网络

三、咱们知道Github上不是随便都能传代码上去的,而是经过一种网络协议--SSH来受权的,那么这个SSH就是个什么鬼:SSH是一种网络协议,用于计算机之间的加密登陆。目前是每一台 Linux 电脑的标准配置。而大多数 Git 服务器都会选择使用 SSH 公钥来进行受权,因此想要在 GitHub 提交代码的第一步就是要先添加 SSH key 配置,框架

四、配置SSHssh

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,则表示成功,这个比较简单,只要命令不输错,通常一次就成功了!

 

五、在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自动生成空白仓库进行的简单介绍,有了这个空白的仓库以后咱们才能够进行后面的操做。

 六、开始导入的操做,先建立个本地库:(这里有两种方式: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里面,我就是直接默认的地址,以下图:

至此,准备工做所有作完!

 

七、到这个步骤也是最重要的,上传代码,简单理解就是说远程关联本地仓库,本地仓库放入源代码,而后add,最后push到Github上,大致上就这个流程,具体操做以下:

 a、cd到目标文件夹,就是刚才check out的文件夹,以下图:

b、而后我把要上传的项目,直接拖到目标文件夹下,输入 ls -la ,以下图:

c、如上图红框里面的所示,可是该文件默认并不会被Git版本库管理,(可使用git status命令查看),须要使用add 命令先把指定的文件添加到git的暂缓区,而后再提交到git的版本库,以下图所示:

 

 此时进行add操做,add事后,上图红框中的文件会变成绿色,以下图:

提交到本地仓库,添加一些注释:

最后,git push 一下,提交到Github服务器,如出现下图所示,则表示成功:

此时刷新你的Github主页,你会发现,刚刚上传的项目源代码:

 

 到这,就结束了!

 八、修改文件,并把修改操做提交到远程仓库。

我如今在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  推送到远程仓库的操做

九、其余操做(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,进去看到以下界面:

相关总结

一、要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;关联后,使用命令git push -u origin master第一次推送master分支的全部内容;此后,每次本地提交后,只要有必要,就可使用命令git push origin master推送最新修改;

二、切记上传文件时,必定要先commit到本地仓库,才能进行push提交,不然会显示Everything up-to-date(意思就是目前的远程仓库的内容跟本地仓库对比后,没有作修改,是最新的);

三、初用Mac的童鞋可能还不知道终端在哪里,点击Finder旁边的Launchpad,在“其余”文件夹下。

四、在设置别名的时候,出现“fatal: remote origin already exists.”错误,说明该别名已经存在,能够另外建一个别名,或者使用“git remote rm origin”命令删除原来的别名,而后从新执行“git remote add origin git@github.com:yourname/xxxx.git”;

五、在提交的时候,出现“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

参考着大神们写的博客,一步一步本身尝试着,知道本身成功了几回,再花了几个小时的时间,把这些经验记录下来,方便本身,也但愿能方便到他人!写的过程当中,确实遇到不少的坑,不过好在最后都解决了!

相关文章
相关标签/搜索