GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。
作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。
下面就由我来给大家介绍Linux系统中如何将代码托管到github
操作系统:Ubuntu19.10
一、注册github账号
该步骤和其他网站注册操作基本一致,在此我就不过多赘述。
二、生成SSH key
SSH key提供了一种与GitHub通信的方式,通过这种方式,能够在不输入密码的情况下,将GitHub作为自己的remote端服务器,进行版本控制。
1.检测主目录内是否存在SSH key
在主目录里搜索是否有名为.ssh的文件名,且里面包含id_rsa和id_rsa.pub两个文件。若存在,可直接跳到安装后的步骤
2.若不存在SSH key,则创建SSH key
ssh-keygen -t rsa -C "你的邮箱地址"
输入上述代码,将双引号之间的内容换成自己的邮箱地址,后面的输入行全部按回车键,也会出现一次输入密码界面,输入用户密码即可。
安装成功如下图所示:
然后打开主文件夹,勾选上面的显示隐藏文件选项,就可以看见.ssh文件已经下载到我们的主目录中了
3.登录github,点击设置,找到设置下的选项---SSH和GPG密钥被(SSH密钥下应该是空白的,因为我之前添加过,所以这里会有一个密钥)
4.点击右上角---新的SSH密钥
5.标题可随便输入,打开之前下载好的.ssh文件,打开其中的id_rsa.pub文件,将其中的内容复制到《键》中
(id_rsa.pub是公钥,可以对外展示;id_rsa是私钥,不要对外公开)
6.点击《添加SSH秘钥》,SSH密钥就设置成功了,就可以看到SSH密钥下多出一个密钥
三、上传项目
在终端输入 git 命令
若出现下图字样,则表示未安装git
输入下列命令安装git
sudo apt-get install git
输入密码,输入y,按下回车等待安装完成
安装完成后再次输入 git 出现下列样式表示安装成功
安装好git环境后,就可以开始上传项目了
1.从终端进入要上传项目的文件夹,在该路径下输入下列命令进行初始化
git init
2.添加要上传的文件
git add 文件名
将该处文件名替换成想要上传的文件名
如果想要上传整个文件夹,输入如下命令
git add ./
3.检查文件是否上传到git库内
在终端输入
git status
可看到我们刚刚添加的文件/文件夹
4.将缓存区的修改提交到本地仓库
将缓存区新增的文件提交到仓库
git commit -m "文本注释"
其中文本注释更改成项目相关,方便今后找到这个项目
若输入命令后出现错误
错误解决方案:因为在上面的操作中已经生成了一个.git隐藏文件,需要对文件进行修改才可以执行上一步的操作。
cd ./.git
vim ./.git
进入编辑模式后,在文件末尾插入文本
[user]
email = xxx //填上你的邮箱地址
name = xxx //填上你的用户名
ps:此时若还是报错,则是因为user添加的不正确,可以尝试手动输入连接github,分别输入以下的命令
git config --global user.email "邮箱地址"
git config --global user.name "用户名"
再重新输入
git commit -m "对文件的注释"
成功后可看到如下样式
四、构建一个仓库
点击右上角的个人头像,选择---您的存储库
进入之后选择新建
自定义仓库名称,下面的选项选择---公开(选择私有需要充值)
点击创建仓库,新的仓库就已经创建好了
五、添加文件到远程库
点击仓库名称进入仓库
如果我们想在仓库中存储内容,必须先获得仓库的SSH密钥
点击右边的克隆或下载
复制搜索框里面的内容
接着创建一个名为origin远程仓库
git remote add origin 刚复制的SSH密钥
添加文件到远程库
git remote set-url origin 刚复制的SSH密钥
为了保证上传到github的文件可以上传成功,先要将所有的文件缓存到,再使用push一并传上去
git pull --rebase origin master
使用push指令上传文件
git push origin master
若更新内容,则输入
git push
此时我们再打开github,刷新一下就可以发现仓库中多出来了我们刚刚上传的文件
到此为止我们就已经在github上成功上传了一个文件,如果我们只是想要将github作为我们保管文件的数据库,就不需要过多的深究他的原理,只要可以熟练使用语句来执行上传和修改操作就已经足够我们的学习和工作所用。