Ubuntu18.04上传自己的项目到GitHub仓库
- 设置SSH Keys
- 创建SSH Keys
- GitHub网站设置SSH Keys
- 创建GitHub本地仓库
- 初始化本地git仓库
- 将要上传的文件添加进缓存区
- 将缓存区的项目提交到本地仓库
- 上传项目到GitHub仓库
- 创建Github仓库
- 添加文件到远程仓库
- 上传文件到GitHub仓库
博主最近稍微修改了自己以前优化的算法,准备传到GitHub上去,这边一并传一下如何使用Ubuntu将自己的本地项目传到GitHub仓库的教程吧
本教程有很大一部分参考了博客,并对其进行了修改和补充
参考环境:Ubuntu 18.04 LTS
设置SSH Keys
本地的Git仓库和GitHub网站的仓库传输是通过SSH进行加密传输的,因此我们需要设置一下SSH keys。
创建SSH Keys
- 首先查看~/.ssh目录下是否存在id_rsa和id_rsa.pub文件是否存在,如果存在说明你已经创建过SSH Keys了,若不存在,打开命令行,输入:
ssh-keygen -t rsa -C "[your_email]"
-t:指定秘钥类型,默认是rsa
-C:你SSH Keys的注释文字,博主这边使用的是自己的邮箱
- 接下来会让你指定保存秘钥的位置(默认是~/.ssh/id_rsa),这边直接回车即可
- 随后会需要你输入密码,这个密码是你push文件时要输入的密码,而并非你github管理员的密码,按照自己需求是否设定密码,若不需要直接回车即可
- 出现以上信息说明生成秘钥成功,再次检查文件下下已经生成了两个文件,左边的是你的SSH私钥,绝对不能泄露出去,右边是你的SSH公钥。关于公钥和私钥的差别和具体用途我这边post了一篇知乎专栏,讲的比较详细,大家感兴趣的可以去了解一下https://zhuanlan.zhihu.com/p/134349361
GitHub网站设置SSH Keys
- 进入官网https://github.com/,登录你的Github账号
- 点击右上角的头像,选择Settings,在左边栏Account settings下方选择SSH and GPG keys,点击New SSH key
- 进入Add new页面后,Title可以随便起名,Key则是将生成的id_rsa.pub文件中的内容(如果双击打不开可以用gedit或者vim文本编辑器打开)复制粘贴进去,完成后点击Add SSH key完成添加
创建GitHub本地仓库
在创建本地仓库之前首先要确认自己的Ubuntu是否存在git
- 打开命令行,输入git命令,如果有以下信息,则说明已经安装过了
初始化本地git仓库
- 进入要上传的项目目录,输入以下命令对项目进行git初始化
git init
- 这时该目录会变成git可以管理的仓库,然后我们就可以进行添加缓存区了
将要上传的文件添加进缓存区
- 在上传之前我们需要将文件添加进缓存区,如果你只添加单个文件或者目录,只需要输入
git add [file_name]
- 而博主这边是则是要把整个文件夹内容都添加进去,则输入
git add ./
- 若要查看文件添加情况和当前使用分支,则输入命令:
git status
由返回结果可知,博主的项目现在在master分支上
将缓存区的项目提交到本地仓库
- 接下来我们所要做的是将项目或者所做的修改提交到本地仓库,输入以下命令,引号后面为你所做修改或者项目注释
git commit -m "Your_description"
- 如果你是第一次运行可能会出现一个错误:fatal:unable to auto-detect email address(got’XXX@YYY.(none)’),解决办法是输入
git config --global user.email "[your_email]"
git config --global user.name "[your_name]"
email 和 name的填写没有特殊要求,但是博主这边填写的还是自己GitHub的Email和用户名
- 接下来就可以正常提交修改了
上传项目到GitHub仓库
创建Github仓库
- 点击头像左边的+号,选择New repository,进入create a new repository界面,在这里进行仓库的创建
- 首先输入你的Repository name(仓库名称)
- Description是你的仓库描述
- 下方你可以选择是否公开仓库
- 接下来要重点介绍一下这三个选项:
- 首先是Add a README file,你可以添加一个README文件用于描述你的项目(包括你的运行方式,数据集,文件结构,网络结构等),而且任何进入你项目仓库首页的人会在你项目目录下方看到你README文件的内容。
- 其次是Add .gitignore,它的作用是指定不需要添加到版本管理中的文件,被指定的文件不会被上传到远程仓库,但是仍然会存在于本地仓库中。
- 最后是Choose a license,当我们想要下载或者修改别人在GitHub上上传的代码时,并不意味着我们可以完全拥有它,因为大部分时候仓库作者会将自己的仓库设置一个License,也就是许可协议,声明它的使用者拥有何种权利,并且规定它可以用作何种用途。因此我们在下载以及使用别人仓库的时候务必要注意对方使用的是什么License,并且弄清楚该License里什么是允许的,什么是被禁止的。关于各种License我附了两个网站,都比较详尽地介绍了各种常见License的权利声明。
https://choosealicense.com/licenses/(开源许可协议官网)https://liferay.dev/ask/questions/general/-license–1
而这个选项就是为自己的原创代码或者修改后的代码添加License的功能。
添加文件到远程仓库
创建仓库之后,我们就可以通过SSH url添加文件到远程仓库了
- 首先进入创建好的GitHub仓库,点击Code-Clone>SSH,复制SSH url
- 随后添加一个远程仓库,命名为origin,用于push文件到GitHub仓库,运行以下命令
git remote add origin [SSH url]
git remote set-url origin [SSH url]
其中SSH url为先复制下来的SSH url,直接粘贴上去就可以
上传文件到GitHub仓库
接下来就是整个教程的重头戏,上传文件到GitHub仓库
- 如果你是第一次上传项目,输入
git push origin master
- 如果你之前上传过了,只是做一个更新,则输入
git push
如果成功则会显示以下信息
现在我们前往GitHub刷新页面就会出现我们自己的项目了