Ubuntu下安装Git以及面向Github的简单教程
文章目录
安装Git
一开始,进入系统,打开终端,输入:
sudo apt-get update
sudo apt install git
中间询问你,是否安装,输入Y;安装完成后如下图所示:
Git命令的使用(配置+上传+下载)
1.配置
1.1 Github账户配置
也就是配置Github账户的用户名和邮箱以用于之后的提交。
在终端中输入以下命令
git config --global user.name "(这里填写你github上注册的名字)"
git config --global user.email “(这里填写你注册邮箱号)”
//之后:
git config --list
//回车就会显示你的注册名字和注册邮箱
1.2 SSH key的生成
你的PC如果要与GitHub进行通信,必须先生成一对SSH key,并且保证GitHub上存有你的公钥.
需要检查SSH
因为GitHub会用到SSH,因此需要在shell里检查是否可以连接到GitHub
ssh -T git@github.com
如果看到:
Warning: Permanently added ‘github.com,13.250.177.223’ (RSA) to the list of known hosts. Permission denied (publickey).
则说明可以连接。
(参考)
安装SSH keys(一定要在~/.ssh目录下操作)
在安装GitHub之前,需要先安装SSH keys
第一步:检查是否已井具有ssh keys,如果已经具有,则进行第二步,否则,进行第三步
cd ~/.ssh
ls
查看该目录下是否已经具有ssh keys,发现并没有id_rsa(私钥)和id_rsa.pub(公钥)这两个文件
第二步:备份并移除已经存在的ssh keys
mkdir key_backup
cp id_rsa* key_backup
rm id_rsa*
即将已经存在的id_rsa,id_rsa.pub文件备份到key_backup文件夹
第三步:执行如下命令(不具有ssh keys时)进行远程登录:
ssh-keygen -t rsa -C "你自己的github对应的邮箱地址"
//之后连续按三次回车就行了。
注1:“”是需要的!
注2:是在ssh目录下进行的!
运行的时候会出来输入文件名,就输入id_rsa就可以
接着又会提示你输入两次密码(该密码是你push文件的时候要输入的密码,而不是github管理者的密码),
当然,你也可以不输入密码,直接按回车。那么push的时候就不需要输入密码,直接提交到github上了
个人处理:终端中将返回以下信息时,要求输入信息时全部回车即可.
Generating public/private rsa key pair. Enter file in which to save the key (/home/zhe/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again:
完成后你的主目录下就会生成一个/home/zhe/.ssh/文件夹,其中包含着3个文件id_rsa
,id_rsa.pub
,known_hosts
,其中id_rsa
是私钥文件id_rsa.pub
就是公钥文件.
之后输入代码
cat ~/.ssh/id_rsa.pub
你会发现出现了我们不认识的代码(公钥文件),把显示出来的代码全都复制下来,之后登录github。
1.3公钥文件的上传
在GitHub主页上点击头像,然后点击弹出菜单的“settings“项,并在“settings“界面左侧菜单栏选择“SSH and GPG keys“



把从终端的复制的代码(公钥文件),粘贴在key表单中。title表单中,任意填写一个英文名字,之后,点击下方绿色选项。
回到终端,输入如下命令,验证是否连接成功:
ssh -T git@github.com
中间时候 询问你yes/no,输入yes。
The authenticity of host 'github.com (13.250.177.223)' can't be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no)? yes
如果看到如下所示,则表示添加成功:之后,显示如下:
Hi yibowangzhe! You've successfully authenticated, but GitHub does not provide shell access.
这样就显示你连接成功了。这就完成了使GitHub和本地PC可以实现通信的信任配置。
此时,发现github上已有了SSH keys
注1:之前在设置公钥时如果设置了密码,在该步骤会要求输入密码,那么,输入当时设置的密码即可。
注2:通过以上的设置之后,就能够通过SSH的方式,直接使用Git命令访问GitHub托管服务器了
注3:若在服务器添加完公钥后报错
sign_and_send_pubkey: signing failed: agent refused operation
这个时候我们只要执行下
eval "$(ssh-agent -s)"
ssh-add
就可以了
2.上传
这里举一个小例子
(1)在Github上创建一个仓库
登录GIthub网站,在界面右上角点击”+”号创建新的仓库,注意这个仓库的名字要跟本地仓库一样,比如在这里,名字就是”Myrepository”,将相关信息都填好之后,Github上的仓库就创建好了。
建议将Initialize this repository with的第一项勾选上创建后结果如下
(2)创建本地仓库
在本地创建一个文件夹用于存放要提交的文件,这个文件夹就叫做仓库(repository),我们假设将文件夹命名为”11"
接下来用cd命令进入”11”文件夹目录下
cd 11
git config --global user.name "(这里填写你github上注册的名字)"
git config --global user.email “(这里填写你注册邮箱号)”
git init
git add ./(或在git add *)
git status
git commit -m "新文件"
git remote add SLAM git@github.com:yibowangzhe/SLAM.git
git remote set-url SLAM git@github.com:yibowangzhe/SLAM.git
git push SLAM master
zhe@zhe-PowerEdge-T30:~/桌面/11$ sudo apt-get install git [sudo] zhe 的密码: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 git 已经是最新版 (1:2.17.1-1ubuntu0.8)。 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 80 个软件包未被升级。 zhe@zhe-PowerEdge-T30:~/桌面/11$ git init 已初始化空的 Git 仓库于 /home/zhe/桌面/11/.git/ zhe@zhe-PowerEdge-T30:~/桌面/11$ git add * zhe@zhe-PowerEdge-T30:~/桌面/11$ git status 位于分支 master 尚无提交 要提交的变更: (使用 "git rm --cached <文件>..." 以取消暂存) 新文件: hello.c 新文件: hello.h zhe@zhe-PowerEdge-T30:~/桌面/11$ git commit -m "新文件" [master (根提交) 382b1e4] 新文件 2 files changed, 6 insertions(+) create mode 100644 hello.c create mode 100644 hello.h zhe@zhe-PowerEdge-T30:~/桌面/11$ git remote add SLAM git@github.com:yibowangzhe/SLAM.git zhe@zhe-PowerEdge-T30:~/桌面/11$ git remote set-url SLAM git@github.com:yibowangzhe/SLAM.git zhe@zhe-PowerEdge-T30:~/桌面/11$ git push SLAM master 对象计数中: 4, 完成. Delta compression using up to 4 threads. 压缩对象中: 100% (3/3), 完成. 写入对象中: 100% (4/4), 366 bytes | 366.00 KiB/s, 完成. Total 4 (delta 0), reused 0 (delta 0) To github.com:yibowangzhe/SLAM.git * [new branch] master -> master
结果图如下
3.下载
这一步用git clone命令搞定,比如我现在要从github网站上的用户raulmur的仓库ORB_SLAM2中下载全部文件
只要在终端中,进入要存放代码的文件夹中,再用git clone命令+该仓库的网址(SSH或HTTP,在”clone or download”按钮的下拉菜单中选择网址复制即可),就可以完成。
git clone https://github.com/raulmur/ORB_SLAM2
终端会显示下载进度
文件下载结果