Linux下使用GitHub记

    前几天捣置git,想将本身有用的代码上传到github去。本地git命令使用倒没有什么大的问题,就是这个push与poll操做老是搞不定。通过几天的查资料问人,今天总算搞通了。于此记录一下经验与心得。 linux

(1)获得github网站上去注个册。 git

(2)按照"Set Up Git"的说明安装git本地客户端。 github

(3)建立第一个版本Create A Repo
    我遇到的困难是在Step3 Push your commit,执行: shell

$ git push origin master
Permission denied (publickey).

    都会报"Permission denied (publickey)."我使过不少方法都没有解决直到找到 Generating SSH keys 说明网页。接下来我详细地讲一下问题缘由:
    是这样的,咱们本地git客户端与服务器通讯时经过SSH进行加密处理的。若是咱们没有这个,那么咱们就没有办法进行通讯了。 SSH的工做缘由是:生成一对密钥(私钥、公钥),私钥放在本地,公钥放到远程的服务器上。当咱们与远程服务器通讯时,中间的数据经过私钥加密后传到服务器,服务器再经过公钥进行解密。从而防止数据在网络传输过程当中被窃听。
    按 Generating SSH keys 所示生成SSH密钥。 期间SSH会要求咱们输入passphrase,是一个用户本身随便定义的短语,好比:"Today is sunny",或其它都行。这个短语别忘了,之后还要用到。 完成以后,SSH 在~/.ssh路径下生成了id_rsa与id_rsa.pub两个文件。前者为私钥文件,后者为公钥文件。咱们要将id_rsa.pub文件中的密文复制到github账户设置中去,告诉服务器要用这个公钥与咱们本地SSH通讯。
    我在 Step4 Test Everything out 中遇到点问题。
服务器

$ ssh -T git@github.com
Agent admitted failure to sign using the key

    没有获得预期的结果。问题缘由是:我们来没有告诉SSH本地使用的私钥是哪一个。执行如下命令:
网络

$ ssh-add ~/.ssh/id_rsa
Identity added: /home/hevake_lcj/.ssh/id_rsa (/home/hevake_lcj/.ssh/id_rsa)

    注:其中是要输入建立时的passphrase,验证经过了就成功了。
    但试一次: ssh

$ ssh -T git@github.com
Hi hevakelcj! You've successfully authenticated, but GitHub does not provide shell access.

   此次OK了。而后再尝试git pull命令从服务器上下载代码:
ide

$ git pull origin master

    记住:每次push前都要先pull,调试运行一下看有没有问题,确认没问题了再提交。
    接下来就能够正常使用了~~

从GitHub导代码方法:网站

(1)建一个目录,进入这个目录而后执行git init.加密

$ mkdir StateMachine
$ cd StateMachine
$ git init

(2)设置远程路径

  从GitHub复制工程地址,以下为:git@github.com:hevakelcj/StateMachine.git

$ git remote add origin git@github.com:hevakelcj/StateMachine.git

(3)导入代码

$ git pull origin master

  若是警告说Key的问题,则ssh-add,使用私密。

相关文章
相关标签/搜索