Linux软件 github,Linux下使用GitHub记

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

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

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

(3)创建第一个版本Create A Repo。

我遇到的困难是在Step3 Push your commit,执行:

$ 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 -T git@github.com

Hi hevakelcj! You've successfully authenticated, but GitHub does not provide shell access.

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

$ 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,使用私密。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值