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



目录
相关文章
|
5月前
|
Ubuntu Linux Shell
github用存在的私钥在Linux上配置免密登录
在Linux上配置GitHub免密登录,使用已有的私钥。系统环境为Ubuntu 22.04.3 LTS。步骤包括:1) 将名为`github`的私钥文件上传至`~/.ssh/github`;2) 设置正确权限`chmod 600 ~/.ssh/github`和`chmod 700 ~/.ssh`;3) 启动SSH代理并添加私钥`ssh-agent -s`和`ssh-add ~/.ssh/github`。完成上述步骤后,可以无缝使用GitHub。
70 0
|
3月前
|
Linux 网络安全 API
【Azure 应用服务】App Service For Linux 环境中,如何从App Service中获取GitHub私有库(Private Repos)的Deploy Key(RSA key)呢?
【Azure 应用服务】App Service For Linux 环境中,如何从App Service中获取GitHub私有库(Private Repos)的Deploy Key(RSA key)呢?
|
4月前
|
网络协议 Unix Linux
网安人必须人手一份的《Linux私房教程》,GitHub星标286K!
Linux是一套免费使用和自由传播的操作系统内核,是一个基于POSIX和Unix的多用户、多任务支持多线程和多CPU的操作系统内核。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统内核。 作为网络安全的初学者,Linux基础知识和常用命令是我们的必备技能,我们不能只会操作Windows相关的工具。一方面很多网站都是基于Linux环境搭建,比如LAMP,其安全性更好;另一方面,很多命令或工具都集成在了Linux相关环境中,比如Kali等。 今天给小伙伴们分享一份Linux私房教程,这份
|
缓存 网络协议 Linux
牛客网论坛最具争议的Linux内核成神笔记,GitHub已下载量已过百万(下)
牛客网论坛最具争议的Linux内核成神笔记,GitHub已下载量已过百万
|
存储 算法 Linux
牛客网论坛最具争议的Linux内核成神笔记,GitHub已下载量已过百万(上)
牛客网论坛最具争议的Linux内核成神笔记,GitHub已下载量已过百万
牛客网论坛最具争议的Linux内核成神笔记,GitHub已下载量已过百万(上)
|
运维 安全 Linux
GitHub点击量已破千万!世界级运维专家手写:793页Linux实战笔记
我们知道Linux这玩意儿是在计算机上面运行的,所以说Linux就是一组软件。问题是这个软件是操作系统还是应用程序? Linux可以在哪些种类的计算机硬件上面运行?而Linux源自哪里?为什么使用Linux还不用花钱?这些我们都得先来谈—谈! 免得下次人家问你,为什么复制软件不会违法时,你会答不出来!
|
Ubuntu Linux 网络安全
教你Linux如何安装git并配置参数以及如何上传下载GitHub代码(超详细)
教你Linux如何安装git并配置参数以及如何上传下载GitHub代码(超详细)
944 0
|
SQL 关系型数据库 MySQL
清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+ 下
清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+ 下
188 0
清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+   下
|
缓存 搜索推荐 容灾
清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+ 中
清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+ 中
105 0
清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+   中
|
运维 Ubuntu Linux
清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+ 上
清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+ 上
137 0
清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+  上