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

时间:2022-05-22 12:14:32

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

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

附个下载链接:链接: 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的),如下图:

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

b、输入命令 ssh-keygen -t rsa ,指定rsa算法生成密钥,接着连续三次回车键(不需要输入密码),然后就会生成两个文件 id_rsa 和 id_rsa.pub ,而 id_rsa 是密钥,id_rsa.pub 是公钥,这两个文件默认是在 ~/.ssh下生成的,可在Finder中前往:如下图

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

点击前往,进入如下界面:

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

c、接着添加ssh,我们先回到Github上,按照下面的截图即可:

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

点击a,再点击b,选择 SSH and GPG keys 选项,会看到如下界面:(这是我上传成功后的样式)

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

未上传Key之前的页面如下图:

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

注:Title 这个东西我也没弄明白,写与不写都行,反正都能成功,我填写的是自己注册Github时的账号(我用的是QQ邮箱)

Key 这个才是重点:生成Key哩所需要的东西:

1)在终端继续输入命令 cd ~/.ssh (先输入这个),cat id_rsa.pub (再输入这个),如下图:

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

然后再讲终端输输出的信息(红框中的信息)复制到Key中,最后直接点击 Add SSH key 即可完成SSH配置,这样设备就有权向Github上传代码了。

这里的话,key刚上传的进去的时候,如下图,红框里面的要是是黑色的,然后我上传代码成功后,就变成绿色了,可能有延迟!

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

现在,咱们再打开终端,验证一下是否添加ssh成功了,输入命令: ssh -T git@github.com

如果输出successfully,则表示成功,这个比较简单,只要命令不输错,一般一次就成功了!

5、在Github上创建仓库,按照下面的步骤走即可:

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

Mac下,如何把项目托管到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按钮即可创建一个空的仓库。进入下图:

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

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

  其中第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、首先创建个新项目,随便创建个就行,选择箭头指的位置:

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

进入如下界面:

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

1 Address指的是你再Github上面所创建仓库的地址,如下图:

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

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

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

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

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

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

接下来,打开x-code,如下图箭头指示操作:

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

check out的位置可以自定义,默认是在Document里面,我就是直接默认的地址,如下图:

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

至此,准备工作全部做完!

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

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

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

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

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

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

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

此时进行add操作,add过后,上图红框中的文件会变成绿色,如下图:

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

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

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

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

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

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

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

到这,就结束了!

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

我现在在Test项目里面给vc添加了一个背景颜色,需要重新提交,然后把修改提交到git暂缓区,提交到本地的git版本库之后,再推送到远程的仓库。操作步骤如下,照着步骤走就可以:

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

继续:

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

git add   .命令表示添加多个文件;

最后,是添加描述和推送的操作,如下图:

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

最后,再来个Github主页展示的:

Mac下,如何把项目托管到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,如下图:

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

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

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

上面的命令行~

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

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

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

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

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

如出现上图所示,则表示设置版本成功;

最后来张主页的图,如下:

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

点击release,进去看到如下界面:

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

相关总结

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的更多相关文章

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

    iOS开发拓展篇——如何把项目托管到GitHub 说明:本文主要介绍如何把一个OC项目托管到Github,重操作轻理论. 第一步:先注册一个Github的账号,这是必须的 注册地址:Github官网注 ...

  2. vs2012快速将项目托管到github

    vs2012快速将项目托管到github   在VS2012中使用GitHub 注册GitHub账号(DeanZhouLin) https://github.com/ 向GitHub中添加一个仓库(T ...

  3. Hexo快速构建个人小站-Hexo初始化和将项目托管在Github(一)

    背景交代 相信每个程序员都有自己做过个人网站,博客之类的项目了,但是现在还在维护吗?反正我前前后后做过2到3个了,维护一段时间后因为一些不可逆的原因(主要是懒)都没有维护了,购买的一些域名和服务器信息 ...

  4. Mac下,如何把项目托管到Github上(Github Desktop的使用)

    在上一篇中,详细讲解了使用X-code和终端配合上传代码的方法,这种方法比较传统,中间会有坑,英文看起来也费劲,不过Github官方提供了一个Mac版的客户端,如下图:

  5. 将项目托管到GitHub实现步骤

    修改于:2017.1.14 第一步:先注册一个Github的账号 注册地址:Github官网注册入口 第二步:准备工作 gitHub网站使用Git版本管理工具来对仓库进行管理,但是它们并不等同. gi ...

  6. 如何把项目托管到GitHub

    第一步:先注册一个Github的账号,这是必须的 注册地址:Github官网注册入口 第二步:准备工作 gitHub网站使用Git版本管理工具来对仓库进行管理,注意它们并不等同. gitHub是全球最 ...

  7. 本地项目托管到github上

    一,步骤 1.在github上新建一个仓库 2.进入我的项目目录, git init //初始化本地仓库 3.git add . //把修改的代码提交到暂存区 4.git status 该命令会把你本 ...

  8. 将maven项目托管到github

    1.下载安装git 并通过 git config --global user.name "",和git config --global user.email "&quot ...

  9. 将本地项目托管到github 并预览

    本地文件上传到github的步骤 1.先在github上建立一个仓库 2.将此仓库download 3.在此文件夹中git bash here 4.进行如下git操作 git git init git ...

随机推荐

  1. Discuz X3.2 网站快照被劫持的解决方法

    附上另一个人的解决方法:http://www.discuz.net/thread-3549930-3-1.html 问题如下: 快照被劫持,无论怎么申诉,怎么更新快照,都无法消除此问题,第一次打开网站 ...

  2. ExtJs Grid 删除,编辑,查看详细等超链接处理

    在网上查了好多资料,关于ExtJs处理操作栏的“删除”.“编辑”.“查看详细”的处理,原来项目都是这么处理: 操作栏:{ text:'操作', xtype:'actioncolumn', items ...

  3. Resume InlineHookSSDT

    在InlineHook中修改了zwOpenProcess函数的中的指令 与Resume HookSSDT同理 找出一个正确的值覆盖上去就行. 突发奇想  有没有可能上去一个驱动或者程序  直接卸载掉I ...

  4. 转:vim----复制粘贴

    vim有12个粘贴板,分别是0.1.2.....9.a.“.+:用:reg命令可以查看各个粘贴板里的内容.在vim中简单用y只是复制到“(双引号)粘贴板里,同样用p粘贴的也是这个粘贴板里的内容: 要将 ...

  5. (java) Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.

    /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * Lis ...

  6. 【XSY2469】graph 分治 并查集

    题目大意 给你一张\(n\)个点\(m\)条边的无向图,问删去每个点后,原图是不是二分图. \(n,m\leq 100000\) 题解 一个图是二分图\(\Longleftrightarrow\)该图 ...

  7. div锚点链接跳转

    a标签href可跳转到知道dom节点(通过id) 代码 <!DOCTYPE html> <html> <head> <meta name="view ...

  8. Python&plus;Selenium笔记(十四)鼠标与键盘事件

     (一) 前言 Webdriver高级应用的API,允许我们模拟简单到复杂的键盘和鼠标事件,如拖拽操作.快捷键组合.长按以及鼠标右键操作,都是通过使用webdriver的Python API 中的Ac ...

  9. svn图文教程-宋正河整理

    下载地址:http://download.csdn.net/download/songzhengdong82/4433476 在线浏览:http://wenku.baidu.com/view/07f1 ...

  10. oracle&colon; sql语句报ora-01461&sol;ora-00911错误

    oracle: sql语句报ora-01461/ora-00911错误 ora-00911:sql语句中可能含有特殊字符,或者sql语句中不能用";"分号结尾. sql语句报ora ...