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作为我们保管文件的数据库,就不需要过多的深究他的原理,只要可以熟练使用语句来执行上传和修改操作就已经足够我们的学习和工作所用。

ubuntu在github上传项目的更多相关文章

  1. 用Git向gitHub上传项目

    用Git向gitHub上传项目 1.安装git 2.在git安装目录下,运行git-bash.exe  如图所示 3.在git中绑定你注册gitHub是的用户名.邮箱. $ git config -- ...

  2. GitHub上传项目,使用desktop(客户端)教程

    GitHub上传项目,使用desktop(客户端)教程  搜索“GitHub上传项目”,能得到很多相关的文章教程,里面讲的都特别麻烦,要弄什么ssh之类的,可算是吓坏了我,使我非常的怀疑为什么GitH ...

  3. GitHub上传项目到远程库

    写文章 GitHub上传项目到远程库     GitHub上传项目到远程库 今天把想把文件托管到GitHub仓库,但是执行一系列的命令以后,刷新GitHub网站还是没有任何更新.后来终于找到原因,原来 ...

  4. Github上传项目及更新自己的项目

    更新:请前往下载Github Deskdop,Git命令什么的再也不用啦! 一.首次上传项目 1.在GitHub上创建对应仓库 仓库建立如下: README文件不用勾选,否则初次上传文件就要合并. 2 ...

  5. idea github 上传项目

    1.创建本地仓库,VCS-->Import into Version Control-->Create Git Repository... 在弹框中选中项目所在的位置,点击OK,此时项目文 ...

  6. github上传项目(使用git)、删除项目、添加协作者

    一.注册github账号 github网址https://github.com/ 下一步 然后,你的邮箱会收到一封邮件,进行邮箱验证就行了 二.创建github仓库 登录你的github,在首页的右方 ...

  7. 从本地向 Github 上传项目步骤攻略(快速上手版)

    最近想把之前自己做的一些好玩的项目共享到Github,网上找了一圈上传教程,都感觉写的太深奥.复杂,云里雾里,特把自己的方法纪录如下: PS:这种方式一般适用于:开始做项目时,没有直接在github上 ...

  8. github上传项目

    前置说明: 1.github上已经创建好的repositories,没有的可以自己创建一个 2.已经安装好的git,下载源推荐https://pan.baidu.com/s/1kU5OCOB#list ...

  9. 如何通过github上传项目并在readme.md中展示图片二维码

    将本地项目上传至github   第一步:git init (创建仓库)   第二步:git add README.md (添加项目)git add *   第三步:git commit -m &qu ...

随机推荐

  1. mysql5.6和5.7的权限密码设置

    mysql5.6grant all privileges on *.* to root@'%' identified by "mysql_pwd" with grant optio ...

  2. PHP RabbitMQ 教程(三)

    发布/订阅 我们在上一节创建了一个工作队列,并假定队列对应的任务传送给了某个客户端.在这一章节我们会做一些完全不一样的东西–我们会发送一条消息到多个消费者,也称之为"发布/订阅"模 ...

  3. 多个计数器在Vuex中的状态

    安装 安装vue-cli npm i -g vue-cli 生成目录 vue init webpack 启动开发环境 npm run dev 启动命令 npm install -g vue-cli v ...

  4. 模拟HTTP请求超时时间设置

    HTTP请求有两个超时时间:一个是连接超时时间,另一个是数据传输的最大允许时间(请求资源超时时间). 使用curl命令行 连接超时时间用 --connect-timeout 参数来指定 数据传输的最大 ...

  5. 直接拿来用,10个PHP代码片段(收藏)

    直接拿来用,10个PHP代码片段(一) http://www.csdn.net/article/2013-07-23/2816316-10-php-snippets-for-developers 直接 ...

  6. 01.JS块级作用域与let

    1.块级作用域   什么是:         在一个代码块(括在一对花括号中的一组语句)中定义的所需变量(与let配合使用)并在代码块的外部是不可见的.   为什么:         在ES6之前,函 ...

  7. 达拉草201771010105《面向对象程序设计(java)》第十一周学习总结

    达拉草201771010105<面向对象程序设计(java)>第十一周学习总结 实验十一   集合 实验时间 2018-11-8 第一部分:理论知识 1.集合(Collection或称为容 ...

  8. Samtec与Neoconix达成合作并和II-VI推出新产品

    序言:Samtec近日动作不断, 近日Samtec与Neoconix达成合作并和II-VI推出新产品,以下是详细内容. Samtec与Neoconix签订Neoconix PCBeam 技术授权协议, ...

  9. 7-43 jmu-python-字符串异常处理 (20 分)

    输入一行字符串及下标,能取出相应字符.程序能对不合法数据做相应异常处理. 输入格式: 行1:输入一字符串 行2:输入字符下标 输出格式: 下标非数值异常,输出下标要整数 下标越界,输出下标越界 数据正 ...

  10. CF 1305E. Kuroni and the Score Distribution

    题目大意:题目给定两个数n和m(1<=n<=5000,0<=m<=1e9)要求构造一个数列A,A中元素 大于等于1,小于等于1e9且满足严格递增 满足ai+aj=ak的(i,j ...