首先简单介绍一下Git和Github


集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )。这类系统,诸如 CVS,Subversion 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。

分布式版本控制系统( Distributed Version Control System,简称 DVCS )。在这类系统中,像 Git,Mercurial,Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。

GitHub是一个用于使用Git版本控制系统的项目的基于互联网的存取服务。它是由GitHub公司(先前被称作用Logical Awesome)的开发者Chris Wanstrath, PJ Hyett, 和 Tom Preston-Werner 使用Ruby on Rails写成的。GitHub同时提供商业账户和为开源项目提供的免费账户。根据在2009年的Git用户调查,GitHub是最流行的Git存取站点。

它提供了像 feeds,followers 和显示开发者们怎样在他们的版本库的版本上工作的网络图表。简单来说,git是一个版本控制工具,github是一个用git做版本控制的项目托管平台。

现在介绍下详细步骤


1、git安装

  1. 这里介绍图形化安装方式,下载地址(http://git-scm.com/download
  2. 下载后打开.dmg,双击.pkg文件即可完成安装。
  3. 终端下可用which git(查看git的安装目录)和git --version(查看git的安装版本)测试是否安装成功。
  4. 如果显示  /usr/bin/git   或者    git version 2.3.2 (Apple Git-55) 说明安装成功。

2、git本地仓库使用

   1)cd到你本地的工程根目录

   2)git init  初始git使用环境,当前目录下会创建一个.git目录。

我这是之前init过了,所以会提示reinit。

   3)$ git add .  添加当前目录的所有文件到版本库,把文件添加到git本地管理目录中,这类似Svn的add操作,实际上,还没有提交到本地管理仓库,通过$ git status可以查看状态

   4)$ git commit -m '你的注释说明'  这样就把文件提交到本地仓库

    

    当然,你可以再运行$ git status,看一下,还有没有没提交的代码。现在本地仓库的提交已完成,下节会讲到如何把本地仓库和远程Github仓库相关联。

3、git远程仓库使用

    先注册github账号,由于你的本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置:

1)创建SSH Key

       1、在用户主目录下,看看有没有.ssh目录 

$ cd ~/.ssh

       2、如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,则直接跳过下面一步

$ ls

        3、如果没有的话,打开命令行,输入如下命令:

$ ssh -keygen -t rsa –C “xxxx@email.com”

         这里的 xxxx@email.com 就是你注册github时的邮箱地址,比如我的是 1755059481@qq.com

         然后一直回车,直到这样

如果要修改ssh生成目录,在粗体位置处输入要生成的路径,选择默认的话,会生成在 ~/.ssh下

    2)在github上添加ssh

      1、登陆github,选择Account Settings-->SSH  Keys 添加ssh

      

        Title:xxxxx@gmail.com

        Key:打开你生成的id_rsa.pub文件,将其中内容拷贝至此

         找不到id_rsa.pub 的话就将你刚才的位置,也就是/Users/tangaofeng/.ssh/id_rsa.pub,通过文本编辑器打开id_rsa.pub

      

      2、打开终端,先测试一下你的帐号跟github连上没有:

       $ ssh -T git@github.com
       如果出现如下提示,表示你连已经连上了.(因为有了第一步,所以不用自己做过多的连接github的操作了,另外,下一次要连接github的时候记得打开第一步的工具).    
       Hi gaofengtan! You've successfully authenticated, but GitHub does not provide shell access.
     3)接下来就可以上传你的代码了,在github下建自己的Repository。添加一个远程库Repository name你自己建的工程的名字  
  1. Repository name:你自己建的工程的名字
  2. Description:对你上传工程的一个简单的描述
  3. Public选择的是所有人都可见 
  4. Private:可以设置你指定的人可见

这里我们一般选择的就是Public,根据自己需要你可以选择Private 
    下面的  Initialize this repository with a README: 就是给你的工程初始化一个README(工程的用法简介之类的)的一个文件,这里我们不选,到后面自己创建。

    然后点击Create repository到下个界面

    

4、关联本地仓库

     目前,在GitHub上的这个 test 仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。

    1)连接远程仓库并建了一个名叫:origin的别 

        $ git remote add origin https://github.com/gaofengtan/CABasicAnimation.git

    2)将本地仓库的东西提交到地址是origin的地址,master分支下

        $ git push -u origin master

   到这里,整个工程就添加上去了,刷新一下github的页面,如下图,说明成功了

5、更新你的github工程

    用github客户端来做这件事将是一件非常简单的事情

1)首先下载github客户端,点击github右下角的Clone in Desktop

2)下载完成后安装,安装好之后点击左上角的+

    3)选择你在github上已有的项目,clone到桌面

      

    4)然后我向里面添加一张图片

      

5)然后看看我的github客户端点击changes,就会发现新增了一个图片,然后填上描述(比如我这里写的是second commit 和 add picture)提交

6)然后就如图点击History就可以看到你的历史提交记录,这里我们会发现我刚才提交的也就是second commit 后面有一个圆圈,这个的意思就是还没有同步到github上去,点击右上角的Sync,就可以同步了,这一步不要忘记,不然你在github上看不到你的更新,如图

7)然后刷新我们的工程主页,就可以看到提交的更新了

     

疑难问题分析和解决


1、如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git

提示出错信息:fatal: remote origin already exists.

    解决办法如下:

    1、先输入$ git remote rm origin

    2、再输入$ git remote add origin git@github.com:djqiang/gitdemo.git 就不会报错了!

    3、如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section 'remote.origin'. 我们需要修改gitconfig文件的内容

    4、找到你的github的安装路径,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc

    5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!

2、如果输入$ ssh -T git@github.com

出现错误提示:Permission denied (publickey).因为新生成的key不能加入ssh就会导致连接不上github。

    解决办法如下:

    1、先输入$ ssh-agent,再输入$ ssh-add ~/.ssh/id_key,这样就可以了。

    2、如果还是不行的话,输入ssh-add ~/.ssh/id_key 命令后出现报错Could not open a connection to your authentication agent.解决方法是key用Git Gui的ssh工具生成,这样生成的时候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行来做。

    3、最好检查一下在你复制id_rsa.pub文件的内容时有没有产生多余的空格或空行,有些编辑器会帮你添加这些的。

3、如果输入$ git push origin master

提示出错信息:error:failed to push som refs to .......

    解决办法如下:

    1、先输入$ git pull origin master //先把远程服务器github上面的文件拉下来

    2、再输入$ git push origin master

    3、如果出现报错 fatal: Couldn't find remote ref master或者fatal: 'origin' does not appear to be a git repository以及fatal: Could not read from remote repository.

    4、则需要重新输入$ git remote add origingit@github.com:djqiang/gitdemo.git

到这里,代码就托管到github上了!欢迎关注我的github主页 https://github.com/gaofengtan,如有问题请留言!

参考文章:

http://www.tuicool.com/articles/NrMV73

http://www.07net01.com/2015/08/895617.html

转载于:https://www.cnblogs.com/tangaofeng/p/4866525.html

Mac在github中管理自己的代码(入门篇)相关推荐

  1. 简单使用Git和Github来管理自己的代码和读书笔记

    简单使用Git和Github来管理自己的代码和读书笔记 以前不知道使用代码管理工具,最后写的一些东西都没有了,由于硬盘坏了或者不小心格式化了之类的,后来使用了Git 和Github来托管自己的代码和读 ...

  2. 使用Git和Github来管理自己的代码和笔记

    使用Git和Github来管理自己的代码和笔记 一.Github注册 1.先注册github.com的账号,官方网站: https://github.com/ 2.登录 3.创建仓库,仓库分公开的和私 ...

  3. 【转】内存中找怪物之代码注入篇

    导读: 网上看了N多的文章,对内存中找怪极少有详细介绍,大多数人搞定人物内存中的有关参数后,止步于内存中的找怪.人物只有一个,而怪有各种各样的,数量又同时出现多个,比在内存中找人物坐标难度要大得多. ...

  4. 如何从GitHub中下载别人的代码

    在本地找到你想放文件的路径,右键打开GitHub窗口, 在GitHub中找到别人的项目路径,复制. 输入 git clone 复制的链接 ,如图所示: 然后就可打开文件夹看到已经取下来了. git常用 ...

  5. RISC-V嵌入式开发入门篇2:RISC-V汇编语言程序设计(中)

    原文出处:https://mp.weixin.qq.com/s/3RHss3vhfK004-TtM8fpeA 随着国内第一本RISC-V中文书籍<手把手教你设计CPU--RISC-V处理器篇&g ...

  6. 在PhpStorm中管理GitHub代码仓库的使用方法

    2019独角兽企业重金招聘Python工程师标准>>> 1.简介: PhpStorm是一个轻量级且便捷的PHP IDE,其提供的智能代码补全,快速导航以及即时错误检查等功能大大提高了 ...

  7. 手把手教你把代码丢入github 中

    手把手教你把代码丢入github 中 作为一个小运维一步步教你们怎么把代码放入到github 中 首先呢我们下载一个git的客户端 https://git-scm.com/downloads/  下载 ...

  8. android git项目管理,Android Studio中如何使用Git和Github来管理项目

    Android Studio中如何使用Git和Github来管理项目 原创 http://blog.csdn.net/wei18359100306/article/details/45645145 标 ...

  9. Git(2)-- Git安装后首次配置与第一次使用Git和Github管理自己的代码(超详细纯小白图文教程)

    文章目录 0.写在前面: 一.注册Github 1.注册Github: 2.登录 3.创建仓库 二.安装Git 三.配置Git和Github(Git安装好后首次使用需要配置完成后才可以使用) 1.打开 ...

  10. 【错误记录】PyCharm 中从 GitHub 中 Clone 代码到本地报错 ( OpenSSL SSL_read: Connection was reset, errno 10054 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 PyCharm 中从 GitHub 中 Clone 代码到本地报错 : 10:01:37.091: [C:\Users\octop\Pychar ...

最新文章

  1. linux 读取大量图片 内存,10 张图帮你搞定 TensorFlow 数据读取机制
  2. jittor和pytorch生成网络对比之dragan
  3. SSM 实现支付宝支付功能(图文详解+完整代码)
  4. 深度学习-Tensorflow2基础知识
  5. 简单的一道题 背包问题
  6. 【Android开发坑系列】之事件
  7. 查看dataloader的大小_一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
  8. python 归并排序算法_python基本算法之实现归并排序(Merge sort)
  9. 类型的权限已失败 SqlClientPermission
  10. C#语法之event关键字
  11. 我问你as3中 0.2 + 0.1 ==?
  12. 如何用yolov5训练自己的图片
  13. 计算机病毒没有文件名是靠什么识别的,电脑病毒文件怎么样识别
  14. js去空格、去重函数
  15. 本草纲目pdf彩图版下载_本草纲目pdf下载|本草纲目彩色插图版PDF完整版_ - 极光下载站...
  16. 什么是P2P和它的应用
  17. Tokio教程之深入异步
  18. C语言基础知识(学习笔记)
  19. 佳能LBP2900打印机无法正常打印.用32位驱动安装正常
  20. codeforces 158B

热门文章

  1. Android 手机的坐标
  2. 75道常见AI面试题,看看你的知识盲点在哪?(附解析,包括机器学习、深度学习、苹果Google面试等)...
  3. 机器学习面试-其他重要算法
  4. 读《scikiit-learn机器学习》黄永昌第三章
  5. 每日算法系列【LeetCode 376】摆动序列
  6. 百面机器学习—1.特征工程
  7. numpy——numpy.ravel(a,order=‘C)
  8. 时间序列-Auto-ARIMA模型
  9. 词性标注-隐马尔可夫模型
  10. 《数源思维》提问工具之“语法套”