Git教程个人分享:如何将一个本地项目上传至远程仓库的流程

news2024/11/14 13:37:17

前言:

今天来分享一下,关于Git的一些教程,同时这也是我自己曾今学习Git时候的笔记,之所以更,也是方便后期自己可以去回顾,当然后面也会出一部分关于Git其他操作方面的内容。

这次我们分享的是,如何将一个本地项目上传至远程仓库的流程,相信这个操作应该是在大部分公司都需要用到的,因为有时候我们共同开发或者将自己开发的项目上传至公司自己的服务器(公司内网Git),都需要去用到,而这里我们以第一次使用Git上传的角度来讲解本次操作流程。适合初次使用或者还不熟悉Git使用的朋友。

好了,话不多说,我们现在开始将~

正文:

!!!这里Git的安装我们就直接跳过先,如果有需要后期会出一期关于Git安装教程

1、首先创建一个文件夹存放自己的要保存项目(也可以直接在项目里面直接开创仓库,但这样存在一定风险会覆盖掉本地项目),建议第一次操作的小伙伴可以创建一个test文件夹试验,先不要在自己的项目文件夹中操作。

2、在自己的项目目录下右键"Git Base Here"打开终端,如下图所示:
在这里插入图片描述
*这里如果是在git初次使用,要先设置自己的用户名和邮箱地址(如果没有设置的话,在提交至远程仓库时候会需要要求输入)-----如果是已经设置过的,可以直接跳过,我们直接看第三步

2.1因此这里先设置用户名和邮箱(在Git终端中输入以下指令进行设置),指令为:

git config --global user.name "用户名"    //这里填写自己的用户名
git config --global user.email "邮箱"

//这里使用了 --global选项,下次就不用再设置,永久生效
//这个设置了好像只要电脑git不卸载,在任何一个文件夹打开都可以查寻到设置

2.2设置完了之后,可以使用下述指令来查看自己的配置:

# 查看所有的全局配置项
git config --list --global

# 查看单个的配置项,比如查看用户名
git config user.name
git config user.email  //查看自己设置的邮箱

配置完Git的一些个人信息之后,我们开始第三步~

3、在终端界面输入指令,来将当前的目录转化为Git本地仓库,操作如下:

#初始化,表示使用Git管理我们的项目,只需执行一次即可
git init   

执行完git init 后就会出现版本库(.git),为隐藏文件夹

4、创建好本地仓库后,我们就可以将要添加的项目添加到暂存区,有两种方法:

①:一种提交目录下所有文件到暂存区,包括子目录,指令为:

git add . 

②:单独提交指定的文件到暂存区,指令为:

git add 项目名

5、再将我们提交到暂存区的文件提交到仓库,也是有两种方法:

①:将暂存区所有与上次文件不一致的文件提交至本地仓库,指令为:

git commit -m [对该项目的说明(建议字数不要过长)]  //这个是提交暂存区的所有更新差异(与上次不同的文件)文件到本地仓库
//这里说明一下,如果你初次提交使用了git add .指令,然后再使用git commit 时候添加的备注信息会附在你再次提交的所有文件夹后面,造成所有都是这个commit提示~

②:单独提交暂存区中指定的文件到本地仓库,指令为:

git commit [file1] [file2]... -m [message]
举例如: git commit 'cc.txt' -m [提交的提示信息]
//这里说明一下,[]里面的信息是不能有空格,否则会造成识别不了!!!
//而且[]里面不能存在(),存在会导致无法错误,提示错误信息:bash: syntax error near unexpected token `('
//另外不能使用""去加在要提交的文件夹两边,如"cc(文件夹)"----error

***同是这里说明一下,第二次更新了部分文件后,然后再次选择全部提交到暂存区,全部commit(填入的信息不一样)后再次push发现,只会提交更新的文件,同时也只会修改更新文件的后面信息备注。

5.1、到了这里后面就可以将本地仓库的项目上传至远程仓库,但这里需要选择上传方式,有两种,一种为SSH,另外一种为HTTP,这里首先建议先注册一个账户,选择Gitee或者github或者gitlab都可以,记得注册时候建议使用之前配置过的相同的git邮箱。

注册好之后,这里我们因为选择使用SSH传输,因此这里还需要先生成SSH秘钥(会生成一个公钥和一个私钥),(在Git终端下输入以下指令)生成SSH秘钥的指令为:

ssh-keygen -t rsa -C "填入自己的邮箱"  //记得是之前配置时候填写的邮箱哦
# 如:
ssh-keygen -t rsa -C "xxxxxxxx@qq.com"  
#执行完这个命令之后,后面有一些询问,直接一路回车即可

生成的秘钥在C盘的用户下的用户账户下的.ssh文件中,有两个文本,xxx.pub为公钥,
可以使用文本工具打开,或者直接使用指令:

cat ~/.ssh/公钥文件名.pub

将公钥的内容复制到gitee或者github或者gitlab的SSH keys管理,这里我们就讲解一下gitee如何添加密钥(另外两个操作都相似)
①:首先进入gitee个人界面,然后点击右上角的个人头像下的设置。
在这里插入图片描述
②:然后在出现的界面左侧我们选择SSH公钥,添加我们自己的SSH公钥即可~
在这里插入图片描述
6、添加好SSH秘钥后,我们还需要创建远程仓库,可以选择gitee或者github或者gitlab,gitee国内的速度会快一点,创建好就有了SSH远程仓库地址和HTTPS远程仓库地址(这里建议创建的时候保存一下地址,方便下次使用)

7、创建好远程仓库后,我们需要手动添加远程仓库地址(在Git终端上面操作),指令为:

# 远程仓库的SSH地址,看你使用哪个远程仓库,如使用gitee,则选择gitee的SSH仓库地址
git remote add xxx(这个为你要给你的远程仓库起的别名) 远程仓库的SSH地址  
举例:
git remote add OMGMac git@gitee.com:xxx/xxx.git

8、添加好后,我们就可以将我们本地仓库的文件传输至远程仓库,指令为:

git push -u 远程仓库别名 master(应该可以选择远程仓库的其他分支)  //远程仓库别名就是上面创建的那个

*注意这里,如果出现无法上传至远程仓库的错误,新手可能是因为选择不公开邮箱地址导致的无法上传至相应邮箱账户
还有一种原因可能是:本都仓库是新的代码,而远程仓库还是之前版本的代码,可以采用指令解决:

git push --force 远程仓库地址  //强制更新
git push [remote] --force  //另外一种形式

好了,到了我们就将如何第一次将一个本地项目上传至远程仓库的操作讲解了一遍,详细操作都在上面。

当然,我们后面本地仓库不变的情况下,再次上传一个项目,就是以下流程:

①:执行 add 命令,将代码添加到暂存区
②:执行 commit 命令,将代码提交到本地仓库。(因为只有本地仓库的代码才能推送到远程)
③:执行 git push 命令,将这次改动推送到远程仓库。

好了,今天分享就到这里为止~

本人水平有限,上述信息仅供学习参考,如有错误和不妥之处,请多多指教。
另外创作不易,请勿抄袭,如果有帮助到大家的话希望大家可以点个赞和收藏,谢谢~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/341041.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于JavaScript的Web端股票价格查看器——大道

🐶 基于JavaScript的Web端股票价格查看器——大道 一、项目背景 当下互联网发展迅速,互联网已经不断向传统金融领域渗透。在互联网上有大量金融领域的数据,如何利用好这些数据,对于投资者来说是十分重要的一件事情。股票价格实时…

JavaSE学习day4_01 循环for,while,do...while

1. 循环高级 1.1 无限循环 for、while、do...while都有无限循环的写法。 最为常用的是while格式的。 因为无限循环是不知道循环次数的,所以用while格式的 代码示例: while(true){} 1.2 跳转控制语句(掌握) 跳转控制语句&…

MySQL 插入数据

数据库与表创建成功以后,需要向数据库的表中插入数据。在 MySQL 中可以使用 INSERT 语句向数据库已有的表中插入一行或者多行元组数据。 你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。 语法 以下为向MySQL数据表…

51单片机——步进电机实验,小白讲解,相互学习

步进电机简介: 步进电机是将电脉冲信号转变为角位移或多线位移的开源控制元件。在非超载的情况下,电机的转速,停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机…

Android - 自动系统签名

一、系统签名 以下是两类应用开发场景: 普通应用开发:使用公司自定义 keystore 进行签名,如:微信、支付宝系统应用开发:使用 AOSP 系统签名或厂商自定义 keystore 进行签名,如:设置、录音 系…

数学建模拓展内容:卡方检验和Fisher精确性检验(附有SPSS使用步骤)

卡方检验和Fisher精确性检验卡方拟合度检验卡方独立性检验卡方检验的前提假设Fisher精确性检验卡方拟合度检验 卡方拟合度检验概要:卡方拟合度检验也被称为单因素卡方检验,用于检验一个分类变量的预期频率和观察到的频率之间是否存在显著差异。 卡方拟…

第一部分:简单句——第二章:简单句的补充

简单句的核心构成:一主一谓 主语/宾语/表语 可以变成名词/代词/doing/to do 谓语动词有四种核心变化:三态 一否 时态语态情态否定 简单句的核心:将简单句给写对 简单句的补充:将简单句给写的更好、更充分 简单句的补充 1、限定…

计算机网络之HTTP04ECDHE握手解析

DH算法 离散读对数问题是DH算法的数学基础 (1)计算公钥 (2)交换公钥,并计算 对方公钥^我的私钥 mod p 离散对数的交换幂运算交换律使二者算出来的值一样,都为K k就是对称加密的秘钥 2. DHE算法 E&#…

DNS 原理入门指南(一)

DNS 是互联网核心协议之一。不管是上网浏览,还是编程开发,都需要了解一点它的知识。 本文详细介绍DNS的原理,以及如何运用工具软件观察它的运作。我的目标是,读完此文后,你就能完全理解DNS。 一、DNS 是什么&#xff1…

记录每日LeetCode 1138.字母板上的路径 Java实现

题目描述: 我们从一块字母板上的位置 (0, 0) 出发,该坐标对应的字符为 board[0][0]。 在本题里,字母板为board ["abcde", "fghij", "klmno", "pqrst", "uvwxy", "z"]&#x…

Linux重定向符、管道符讲解

目录 重定向 将命令与文件进行互动 输出重定向 输入重定向 管道符 将命令与命令互动起来 重定向 将命令与文件进行互动 重定向分类 一般情况下,Linux命令运行时都会打开一下三个文件 标准输入文件:stdin文件,文件描述符为0,Li…

自定义ESLint规则开发与使用

自定义eslint及使用 项目结构 |-eslint-plugin-demo //自定义eslint插件项目 | |-demo-app // 使用自定义eslint的测试应用 |-README.md 项目效果: github项目地址 自定义ESLint环境准备 安装脚手架 执行下列命令来安装开发eslint的脚手架。 yo(y…

中小学信息学相关编程比赛清单及报名网站汇总(C++类)

1、NOI系列比赛(CSP-J CSP-S NOIP NOI APIO CTSC IOI ISIJ等) NOI官网 NOI全国青少年信息学奥林匹克竞赛https://www.noi.cn/ 2、蓝桥杯青少年创意编程大赛 https://www.lanqiaoqingshao.cn/home 3、中国电子协会考评中心

数据结构 - Set 与 Map 接口介绍(TreeMap,HashMap,TreeSet,HashSet类)

文章目录前言1. Set / Map接口2. TreeSet类3. TreeMap 类4. HashSet 与 HashMap4.1 HashSet / HashMap 底层哈希表4.2 解决哈希冲突总结✨✨✨学习的道路很枯燥,希望我们能并肩走下来! 编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得…

神经网络基础知识

神经网络基础知识 文章目录神经网络基础知识一、人工神经网络1.激活函数sigmod函数Tanh函数Leaky Relu函数分析2.过拟合和欠拟合二、学习与感知机1.损失函数与代价函数2. 线性回归和逻辑回归3. 监督学习与无监督学习三、优化1.梯度下降法2.随机梯度下降法(SGD)3. 批量梯度下降法…

JavaScript系列之new运算符

文章の目录一、什么是new?二、new经历了什么过程?三、new的过程分析四、其他作用参考写在最后一、什么是new? 众所周知,在JS中,new的作用是通过构造函数来创建一个实例对象。 像下面这样:(和普…

Centos篇-Centos Minimal安装

安装Centos Minimal 下载镜像 由于使用Centos主要是安装K8s以及使用K8s或者docker安装各种服务,可以理解为就是单纯的服务器使用,所以不需要GUI,直接使用Centos的Server版本。 所以选择centos的minimal版本进行下载: 地址&#…

FreeRTOS队列集、事件标志组 | FreeRTOS十一

目录 说明: 一、队列集 1.1、队列集简介 1.2、队列集作用 二、队列集相关API函数 2.1、创建队列集函数 2.2、往队列集添加队列函数 2.3、队列集移除队列函数 2.4、获取队列集中有有效队列 三、事件标志组 3.1、什么是事件标志组 3.2、事件标志组的特点 …

Matlab傅里叶谱方法求解二维波动方程

傅里叶谱方法求解基本偏微分方程—二维波动方程 二维波动方程 将一维波动方程中的一维无界弦自由振动方程推广到二维空间上, 就得到了描述无界 (−∞<x,y<∞)(-\infty<x, y<\infty)(−∞<x,y<∞) 弹性薄膜的波动方程: ∂2u∂t2a2(∂2∂x2∂2∂y2)u(1)\frac…

HTML img和video object-fit 属性

简介 Css中object-fit主要是应用到img标签和Video标签的&#xff0c;来控制显示缩放效果的。 首先我们存在一张图片&#xff0c;原始图片的尺寸是 1080px x 600px, 展示效果如下&#xff1a; 如果我们的css样式中的img大小设定并不能满足图片的原始大小&#xff0c;比如我们的…