由于GitHub实在太有用了~~ ,各种源代码,开源工程,经常需要下载下来使用和学习,或者自己的代码需要上传之类的,尽管有“GitHub for Mac”工具,但是作为一名程序猿!!还是研究一下终端命令的用法!! 这样显得高端大气上档次! 哈哈!

首先: 创建GitHub账号:

 https://github.com/  ---> Pricing and Signup ---> Create a free account

创建SSH公钥:

打开终端

$cd ~/.ssh  //检查是否已经存在ssh

如果存在,先将已有的ssh备份,或者将新建的ssh生成到另外的目录下

如果不存在,通过默认的参数直接生成ssh

$ssh-keygen -t rsa -C xxxxx@xxxx.com(注册github时的email)
Generating public/private rsa key pair.
        Enter file in which to save the key (/Users/twer/.ssh/id_rsa): /users/rdc-hankang/Desktop/某一个文件夹
(此处最好直接回车!!!有时候需要保存在/Users/twer/.ssh/目录下才可以,否则最后始终无法连接上GetHub官网,可能和使用黑苹果有关,使用MAC 的cp命令将.pub文件拷贝出来复制key粘贴于github官网,key和ssh关联的时候使用另一个,即没有.pub后缀的)

        Enter passphrase (empty for no passphrase): 创建一个密码
        Enter same passphrase again: 重复密码
        Your identification has been saved in /Users/twer/.ssh/id_rsa.
Your public key has been saved in /Users/twer/.ssh/id_rsa.pub.
The key fingerprint is:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx@xxxx.com
The key's randomart image is:
+--[ RSA 2048]----+
|.r.+-=+= |
|.rro.+. . |
| ..* = A . |
| o = + E |
| . S o |
| . |
| |
| |
| |
+-----------------+

在github中添加ssh

       登陆github,选择Account Settings-->SSH  Keys 添加ssh
       Title:xxxxx@xxxx.com //不知道这边有什么用,不确定是一个新邮箱还是注册gitHub的邮箱,感觉没什么关系
       Key:打开你生成的id_rsa.pub文件,将其中所有的内容拷贝至此,需要用文本开打。像下面这样
ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQDAR+fdAAGdaRG8J1M+JpkjSOnMMyVee7Lq5BaABZpdCRaKgYWLlSLkEYjXZelXkdT2yZImb41fjqCvzZkzhzK0GnldY8xD5umCmkjOY2eF0kjR0y7ZLU/bLtt5tA6niVz49MKSBTgsjYVBcyv16oNcUa9sOKPjgv7EDIznWjvAOWJaH4eDbpoFAMz8wHWnOpOchJDI3WLZ7OFKW5/Wj5d0TVVt9KnU0ZCwZGRfPmVEQC1chKw8ePicNJtJrtyw0VlNgRoZev67aTvZICQx7uLOmNa78tNEfZSeyupByDbr6jEpIFLxZHmvbPM4TDZi/UnDf+Z1jQjYplkzjiyU2lr/ xxxxxxx@qq.com
 

测试账号与GitHub的链接情况:

      ssh -T git@github.com 此处是GitHub官网,如果出现如下提示,表示你连已经连上了.
Hi HaleyHan! You've successfully authenticated, but GitHub does not provide shell access.
 
接下来就可以管理你的代码。
 

远程建工程并与本地交互:

在github下建自己的Repository。Create a New Repository如下:

  • Repository name:通常就写自己自己要建的工程名。
  • Description:就是你对工程的描述了。
  • 选择Public。
  • 点击 “Create repository”,出现如下图:

常用命令及用法一览:

当电脑第一次使用(意思是输入一次,本电脑终身有用):
  1. git init  //git 初始化 (进本地目录以后)
  1. git remote add origin url     //url : 新建工程的url

提交:

  1. git add .   //本目录下所有修改工程提交至本地仓库
  1. git commit -m "up"  //必须步骤,为更新做描述
  1. git push origin master  //将本地仓库更新至远程仓库

添加新文件:

  1. git add .     //添加本目录下所有新添加的文件
  1. git commit -m "up"  //描述添加文件
  1. git push origin master   //更新

删除文件:

  1. git add .   //添加本目录下所有新更新的文件
  1. git commit -m "de"    //描述文件
  1. git rm "文件"    //删除文件
  1. git push origin master //更新
下载工程:
  1. git clone url   //url 是远程url

远程相对本地的更新:

  1. git pull origin master
以上命令基本够用了~~
 

过程中的BUG解决方法:

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

在新建Xcode工程时,如果发现目录下有.svn和.git ,可选择性的删除:

//删除文件夹下的所有 .svn 文件

find . -name ".svn" | xargs rm -Rf

//删除文件夹下的所有 .git 文件
 
find . -name ".git" | xargs rm -Rf
 

-转载

MAC下GitHub命令操作的更多相关文章

  1. MAC下的命令操作

    打印环境变量:echo $PATH设置环境变量:export PATH=$PATH:/usr/local/git/bin应用:在git-scm下载git2.0.1版本,图形安装后,直接在终端敲giv ...

  2. mac下使用命令行安装、卸载ipa包、查看日志

    mac下使用命令行安装.卸载ipa包.查看日志 https://www.cnblogs.com/lily1989/p/8383916.html

  3. Mac下GitHub以及GitHub Desktop使用实战

    Hub是一个面向开源及私有软件项目的托管平台.开源代码库以及版本控制系统,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub.通常在Windows下使用GitHub的教程是非常多的, ...

  4. Mac下用命令行直接批量转换文本编码到UTF8

    由于近期在Mac下写Android程序,下载的一些Demo由于编码问题源码里的汉字出现乱码,文件比较多,所以想批量解决下文件的编码问题. Mac下有以下两种方式可以解决: A. 文件名的编码:Mac的 ...

  5. 解决Mac下sed命令报错的问题

    在Mac上准备批量替换一些文字,使用sed命令,如下: sed -i 's/xxx/yyy/g' file 同样的命令在Linux上是可以成功运行的,注意Mac下man sed中-i参数的说明: 原来 ...

  6. Mac 下locate命令使用问题WARNING: The locate database (/var/db/locate.database) does not exist.

    想在Mac下使用locate时,提醒数据库没创建: WARNING: The locate database (/var/db/locate.database) does not exist. To ...

  7. mac下的一些操作

    mac 下修改Hosts文件 : http://www.cnblogs.com/zhangqs008/p/3773623.html mac下装Tomcat服务器: 在苹果系统安装Tomcat:首先下载 ...

  8. Mac 下使用sourcetree操作git教程

    SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,同时也是Mercurial和Subversion版本控制系统工具.支持创建.克隆.提交.push.pu ...

  9. Mac下github项目检出与提交

    项目检出 如果你的git还没有代码仓库,可以用过git的代码仓库页面新建一个你的仓库 创建git上的仓库后,我们还需要建立本地的仓库,所以打开Mac终端,建立本地仓库文件夹(这里我用HelloC),然 ...

随机推荐

  1. 将Centos的yum源更换为阿里云源

    阿里云Linux安装软件镜像源 阿里云是最近新出的一个镜像源.得益与阿里云的高速发展,这么大的需求,肯定会推出自己的镜像源.阿里云Linux安装镜像源地址:http://mirrors.aliyun. ...

  2. scoll滚动

    [前端性能]高性能滚动 scroll 及页面渲染优化   最近在研究页面渲染及web动画的性能问题,以及拜读<CSS SECRET>(CSS揭秘)这本大作. 本文主要想谈谈页面优化之滚动优 ...

  3. JQuery的Ajax跨域请求的解决方案

    客户端调用代码示例: var myurl = "http://js.yingdoo.com/embed/CAPTCHA.ashx?m=" + phone_val + "& ...

  4. MRC

    MRC 关于NSString,retainCount为-1 C方法中含有Copy的方法名, 都要释放 例如CFRealse(ref) 字符串常量,因为one为字符串常量,系统不会回收,也不会对其作引用 ...

  5. Android学习笔记(十二)——实战:制作一个聊天界面

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 运用简单的布局知识,我们可以来尝试制作一个聊天界面. 一.制作 Nine-Patch 图片 : Nine-Pa ...

  6. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  7. Sqli-LABS通关笔录-7[文件写入函数Outfile]

    该关卡最主要的就是想要我们学习到Outfile函数(文件写入函数)的使用. 通过源代码我们很容易的写出了payload.倘若我们一个个去尝试的话,说实话,不容易. http://127.0.0.1/s ...

  8. Delphi Dll 消息处理

    转载:http://blog.csdn.net/lailai186/article/details/8770643 事情的导火线是GIF图片的显示. 在应用程序中, 利用三方的GIFImage.pas ...

  9. 8 延时队列相关类——Live555源码阅读(一)基本组件类

    这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso ...

  10. Linux下编译安装Apache Http Server

    Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...