热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntu下本地仓库项目上传至github远程仓库

纯属个人笔记,参考了多篇其他资料,仅供参考。该方法对Ubuntu14.04和16.04都适用。初次使用Git的设置如果初始化配置已经在之前弄过的可以直接跳过这一部分至push

纯属个人笔记,参考了多篇其他资料,仅供参考。该方法对Ubuntu 14.04和16.04都适用。


初次使用Git的设置

如果初始化配置已经在之前弄过的可以直接跳过这一部分至push到远程仓库的内容。

1. 初次运行Git前需要先对Git的工作环境进行配置(如果之前已经设置过那么就不需要再设置一次),采用的工具是git config。主要设置用户信息即可,包括用户名和邮箱

$ git config --global user.name "用户名"

$ git config --global user.email 自己的邮箱

设置结束后可以通过以下指令查看配置信息

$ git config --list

2. Git本地仓库与Github远程仓库之间的传输主要是通过SSH方式加密传输,所以之前没有设置过需要创建SSH Key。创建方式如下

$ ssh-keygen -t rsa -C "自己的邮箱"

运行过程中会出现让你设置密码等要求,直接按回车,使用默认值即可


3. 如果上述指令运行成功,那么会在主目录(home)下生成一个.ssh的隐藏文件夹,按ctrl+h可以显示。点击进入后可以找到两个文件,分别为:id_rsa和id_rsa.pub。这两个文件对应了私密密钥和公开密钥,接下来就是要将公开密钥文件(即id_rsa.pub文件)中的代码复制到github中的“SSH Key”下面,具体过程如下。

(1)进入https://github.com/,选择settings选项,如下


(2)进入settings界面后点击选择SSH and GPG keys选项,再点击选择“new SSH key”添加新的SSH Key。需要注意是SSH Key可以添加多个,即不同的PC生成的SSH Key都可以添加。


(3)将.ssh文件夹下的id_rsa.pub文件中的内容复制到github中,点击Add SSH Key按钮即可生成,如下


4. 验证本地仓库与Github之间传输是否成功

$ ssh -T git@github.com

如果看到如下信息,表示成功连上github






本地仓库项目push到Github远程仓库

1.首先在本地新建一个仓库(repository)。一般都是push那个工程,就在那个工程目录下新建仓库,指令如下:

$ cd xxx(进入工程目录下)

$ git init
在新的仓库初始化后,工程当前目录下会出现一个名为 .git 的目录,该目录会记录和存放所有 Git 需要的数据和资源。


2. 不过目前为止,新建的仓库还是一个空的仓库,所以需要讲文件添加到仓库里面。需要注意的是只有仓库所在目录或者其子目录下的文件可添加至仓库中,其他目录下的文件Git无法找到。具体的实现是用git add指令将需要提交至仓库的文件从工作区添加到暂存区,告诉Git那些文件需要追踪。

$ git add .
上述指令是对该目录及其子目录所有文件进行追踪,也可以选择只跟踪单个文件或者子目录

$ git add 文件名(或子目录)
运行git status 指令可看到文件被跟踪处于暂存状态


3.Git将文件放入仓库的过程中会先将文件放到暂存区域中,再执行提交的操作。所以要确认还有什么修改过的或新建的文件还没有 git add 过,否则提交的时候不会记录这些还没暂存起来的变化。建议每次准备提交前,先用 git status 看下要提交至本地仓库的文件有没有暂存起来。将暂存区的文件提交至本地文件的命令如下:

$ git commit -m "first commit"

4. 我们的目的是在Ubuntu本地创建一个Git仓库后,将该仓库的文件同步到GitHub的远程仓库员中,所以需要登录GitHub创建一个远程仓库,具体如下

(1) 点击GitHub首页的“+”,选择New repository


(2)在跳出来的页面中设置远程仓库名字并点击生成远程仓库



5. GitHub上建立远程仓库后在将本地仓库中的文件push到该远程仓库之前需要关联本地仓库和远程仓库,指令如下

$ git remote add origin git@github.com:yourName/yourRepo.git
上述指令运行后,origin即为远程仓库的名字,而yourName是Github的账号,而yourRepo是在Github上面给新建的远程仓库取的名字。


6.将本地仓库的文件push到远程仓库中,指令如下:

$ git push -u origin master
这里要注意的是第一次推送master分支(Git的默认分支,其他分支操作这边不做介绍)时最好加上-u。因为该参数会把本地的master分支和远程的master分支关联起来,之后该本地仓库与远程仓库之间的推送或者拉取就可以简化为

$ git push
$ git pull

Ubuntu终端下push成功的结果


push后Github的远程仓库成功添加本地仓库的文件



参考资料

1. https://git-scm.com/book/en/v2

2. https://www.liaoxuefeng.com/














推荐阅读
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • 本文介绍了使用SSH免密登录的步骤,包括生成公私钥、传递公钥给被登录机、修改文件权限的操作。同时提醒用户注意私钥的传递方式,建议使用U盘等离线方式传递。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 电话号码的字母组合解题思路和代码示例
    本文介绍了力扣题目《电话号码的字母组合》的解题思路和代码示例。通过使用哈希表和递归求解的方法,可以将给定的电话号码转换为对应的字母组合。详细的解题思路和代码示例可以帮助读者更好地理解和实现该题目。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
author-avatar
书友44802979
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有