本地使用Git同步、配合Gitee同步至仓库并下拉到本地(亲手调试,全能跑通)

这几天在公司,同事都在使用Gitee上传项目,进行同步,我也进行了简单学习了解了一下版本控制软件Git,挺不错的,故写个笔记记录一下。
本篇博文主要涉及的内容:
1,本地写代码,通过Git同步到本地
2,写完的项目通过Git上传至Gitee仓库
3,将Gitee仓库里面的项目巴拉到本地
PS:Git是本地的版本管理工具,Gitee是远程仓库

深吸一口气,静下心来耐心看完,我相信你一定会有所收获的!

一、本地使用Git进行同步

1,咳咳,先让我吧啦两句

当有一个项目让你修改,你会先把这个项目打包一下,然后再进行处理,若项目崩了,然后可以把压缩包解压还原成之前的项目。
就此为止,你已经会领悟到Git的精髓了!!!恭喜恭喜,撒花~~

啥是Git?问了下Kimi,巴拉巴拉了一堆,也就是一个版本控制系统,它的作用就是管理项目的不同版本。
在这里插入图片描述
打个比方:
你现在把一个项目v1版本通过Git进行了同步,然后你接着开发项目,乱改一通,完了,项目整崩溃了,你想回退到刚开始的v1版本,此时可以通过Git同步一下,就可以将项目同步至最后一次通过Git提交的项目。

2,安装Git

我就不废话了,官网下载,一路Next即可,也可以找博文看下安装教程,这里不是重点,略
git官网链接

3,选择要进行本地同步的文件夹

例如,在yy_git_test文件夹下有一个项目文件夹my_project,现在要同步这里面的内容,假如里面有一个main.cpp文件
在这里插入图片描述在这里插入图片描述
main.cpp啥也没有,是一个空文件!仅用来测试使用

①在项目统计文件夹下右击空白处,选择Open Git Bash here

在这里插入图片描述
像这样,记得看下路径是不是你想要的哈,我这里是e:/yy_git_test
在这里插入图片描述

②配置用户名和邮箱

git config --global user.name beyondyanyu
git config --global user.email xxxxxx@qq.com
这里的beyondyanyu用户名随便填,xxxxxx@qq.com邮箱也是随便填
你提交项目之后,通过参看提交日志,就会显示用户名和邮箱,显示的就是你填的这个哈
在这里插入图片描述

③初始化项目文件夹——git init

命令:git init
运行完之后,会出现一个隐藏文件夹.git,这就表明该文件夹算是被git接管了,这个.git文件夹别乱动!乖,别皮
在这里插入图片描述

④设置当前文件夹内的所有文件为提交状态——`git add .`

这里的点(.)表示所有的文件
当然也可以指定文件git add xxx.cpp,表示将xxx.cpp文件设置为提交状态
点击跳转至演示说明
命令:git add .
在这里插入图片描述

⑤填写备注信息并提交——git commit -m "此处填写备注信息"

命令举例:git commit -m "this is a test""
在这里插入图片描述
好了,你把你的项目已经上传到本地了

⑥查看提交历史信息——git log

命令:git log
在这里插入图片描述

⑦回退某个文件——git checkout HEAD xxx.xx

现在我们对这个空文件夹main.cpp进行回退测试
我们现在对这个main.cpp随便加点内容,表示经过了修改
在这里插入图片描述
cd my_project,进入到my_project文件夹下,因为main.cpp在该文件夹里面
命令举例:git checkout HEAD main.cpp
在这里插入图片描述
再看下这个文件夹,发现内容被修改了
在这里插入图片描述
又变成了之前上传的空文件了,测试完成
在这里插入图片描述

补充④ 设置单个文件为提交状态——`git add xxx.xx`

回退至步骤④

我再重新创建一个文件a.txt,然后就只上传该文件
命令举例:git add a.txt
在这里插入图片描述

与⑤一样,进行填写备注并提交——git commit -m "备注信息"

命令举例:git commit -m "only one file a.txt"
在这里插入图片描述

⑧显示对应字符串的文件名称——git show [log所显示的字符串信息] --stat,搭配步骤⑥使用

首先显示提交历史信息,命令:git log
假如我们想看一下53a059b9b3a6582c32694fd9cd3这次提交的内容都有些啥
命令举例:git show 53a059b9b3a6582c32694fd9cd3c27744900940f --stat
在这里插入图片描述

⑨显示提交的全部文件——git log --name-only

git log区别在于,这个会显示每次提交的内容
在这里插入图片描述

⑩删除本地仓库内的文件和文件夹

1,删除本地仓库文件同时将本地副本也进行删除:git rm filename

我这里以删除本地仓库里面的main.cpp文件举例,git rm main.cpp
在这里插入图片描述
同时也会将本地的main.cpp给删除掉
在这里插入图片描述

2,删除本地仓库文件并保留本地副本:git rm --cached filename

我这里以删除本地仓库里面的a.txt文件举例,git rm --cached a.txt
在这里插入图片描述

4,补充

①设置Git字体大小

右击Logo,选择Options…
在这里插入图片描述
选择Text,再选择Select…,设置字体,然后重启Git即可生效
在这里插入图片描述

②下载GitHub或者Gitee上的源码

假如我相中了一个项目
点击克隆/下载,选择HTTPS,复制命令
在这里插入图片描述
在本地找个要下载到的位置,打开本地Git,运行复制的命令即可
例如:git clone https://gitee.com/beyondyanyu/my_project.git
就会将my_project这个项目给下载到E:\yy_git_test
在这里插入图片描述

5,总结步骤

首先,注册用户名和邮箱
然后,初始化要托管的文件夹
再次,设置为准备提交状态,提交到暂存区中
最后,填写备注并提交

二、本地项目上传至Gitee,别问为啥不是Github上!![/脸黑]

1,配置Gitee仓库

首先登录gitee,选择新建仓库
在这里插入图片描述
我这里创建一个名为my_Project的仓库,Readme文件要选上
因为我没啥版本可言,故选择单分支模型

PS:若选择多分支,后续的——④本地项目推送到Gitee仓库中,需要在命令中输入指定的分支名称
在这里插入图片描述
创建好之后像这样
在这里插入图片描述
点击克隆/下载,找到SSH

git@gitee.com:beyondyanyu/my_project.git,这个是你的仓库链接

咋上来的,点我返回去

下面俩是为确保你提交的代码身份被 Gitee 正确识别,要完成的配置
git config --global user.name 'YanYu'
git config --global user.email '7870xxxxxx@qq.com'

在此之前要生成密钥,命令为:ssh-keygen -t rsa
然后获取密钥,命令为:cat ~/.ssh/id_rsa.pub
在这里插入图片描述

①生成RSA密钥

命令:ssh-keygen -t rsa
在这里插入图片描述

②获取 RSA 公钥内容,并配置到SSH公钥中

命令:cat ~/.ssh/id_rsa.pub
在这里插入图片描述
在Gitee的仓库上,选择管理,选择添加个人公钥,这里是个坑,要留意下!!!
在这里插入图片描述
会跳转到一个新的页面,在这个页面里面输入密钥
在这里插入图片描述
并且需要你输入Gitee的密码进行校验才行
在这里插入图片描述
像这样
在这里插入图片描述

③配置用户名和邮箱

运行从Gitee上获取到的这两行命令
git config --global user.name 'YanYu'
git config --global user.email '787084934@qq.com'
在这里插入图片描述

④关联Gitee仓库

点击克隆/下载,在HTTPS里面找到该命令,复制一下
https://gitee.com/beyondyanyu/my_project.git
在这里插入图片描述
运行从Gitee上获取到的这一行与仓库关联的命令:git remote add origin 你的HTTPS地址
命令举例:git remote add origin https://gitee.com/beyondyanyu/my_project.git
在这里插入图片描述
就此配置Gitee仓库已经完成

2,上传本地仓库内容至Gitee的仓库

回到我们本地电脑上,在E:\yy_git_test\my_project下面有个a.txt文件,我们把它上传到Gitee仓库中
在这里插入图片描述

①打开Git

在这里插入图片描述

②本地关联Gitee仓库

命令:git remote add origin 你仓库的链接

如何获取仓库链接可跳转到这里

举例:git remote add origin git@gitee.com:beyondyanyu/my_project.git

在这里插入图片描述

报错:error: remote origin already exists.
分析:本地仓库已经关联了一个名为origin的远程仓库
解决:
Ⅰ 查看远程仓库都有哪些 git remote -v
Ⅱ 删除origin这个远程仓库git remote rm origin
远程主机为origin
在这里插入图片描述
再次关联Gitee仓库,git remote add origin git@gitee.com:beyondyanyu/my_project.git,不报错即可
在这里插入图片描述

③提交到Gitee仓库中

因为刚才关联了Gitee仓库,故直接和本地使用Git进行同步即可
先将当前文件夹内的所有文件设置为提交状态git add .
再填写备注信息并提交:git commit -m "备注信息内容",例如git commit -m "this is a test"
在这里插入图片描述
接下来开始往Gitee上推了,可以看到远程仓库分支master,一般情况默认都是这个
在这里插入图片描述

④本地项目推送到Gitee仓库中

返回至 ——1,配置Gitee仓库,查看多分支情况下处理方法

命令:git push -u <远程主机名> <远程分支名>
例如:git push -u origin master
在这里插入图片描述
报错: ! [rejected] master -> master (non-fast-forward)
原因:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去
解决:强推,用你本地的代码替代git仓库内的内容!此方法仅限于新仓库,仓库里面啥也没有的情况哈
命令:git push -f origin master
在这里插入图片描述
刷新一下Gitee,可以看到把本地yy_git_test文件夹下的所有文件都上传到云端Gitee仓库中了,其中my_project文件夹下有个a.txt文件
在这里插入图片描述
在这里插入图片描述

3,将Gitee上的仓库拉到本地

命令:git pull origin master
因为在上面我们进行了仓库关联,本地已经和远程的仓库通过SSH密钥进行相关联了,故这里只需要pull下来就行
在这里插入图片描述
E:\yy_git_test\my_project下看看
在这里插入图片描述
好好好,啥也没!!!

原因:暂存区有东西,也就是git add .操作的时候没后续了
解决:
Ⅰ 取消暂存区内容:git reset HEAD .
Ⅱ 取消还未加入暂存区的内容git checkout .

在这里插入图片描述

三、总结(即:让我拉吧两句

就此,博文实现了本地使用Git进行同步以及本地项目上传至Gitee仓库并且将Gitee上的仓库拉到本地,差不多这些就够平常的使用了

整理了两个晚上,网上的某些博文有的有错误,emmm,本博文是一步一步调试成功后进行撰写,不求别的,留个笔记将来复习使用

若本博文有幸帮助到了某人,本人深感荣幸

加油,少一些功利主义的追求,多一些不为什么的坚持!

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

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

相关文章

初阶数据结构1 算法复杂度

1.数据结构概念 数据结构(Data Structure)是计算机存储、组织数据的⽅式&#xff0c;指相互之间存在⼀种或多种特定关系的数 据元素的集合。没有⼀种单⼀的数据结构对所有⽤途都有⽤&#xff0c;所以我们要学各式各样的数据结构&#xff0c; 如&#xff1a;线性表、树、图、哈…

锁定你的命令行:禁用Conda环境提示符更改指南

&#x1f512; 锁定你的命令行&#xff1a;禁用Conda环境提示符更改指南 在使用Conda管理Python环境时&#xff0c;每次激活一个新的环境&#xff0c;命令行提示符可能会发生变化以反映当前环境的名称。虽然这有助于识别当前正在使用的环境&#xff0c;但有些用户可能更喜欢保…

【Golang 面试 - 基础题】每日 5 题(五)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/UWz06 &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏…

【C++】—— 类和对象(一)

【C】—— 类和对象&#xff08;一&#xff09; 1、类的定义1.1、类定义1.1.1、类定义格式1.1.2、成员变量的标识1.1.3、C 中的 s t r u c t struct struct1.1.4、C 中的内联函数1.1.5、总结 1.2、访问限定符1.3、类域 2、实例化2.1、实例化的概念2.2、对象大小2.2.1、对象的大…

昇思MindSpore 应用学习-LSTM+CRF序列标注-CSDN

LSTMCRF序列标注 AI代码解析 本篇案例暂不支持在windows系统上运行。 概述 序列标注指给定输入序列&#xff0c;给序列中每个Token进行标注标签的过程。序列标注问题通常用于从文本中进行信息抽取&#xff0c;包括分词(Word Segmentation)、词性标注(Position Tagging)、命名实…

未来十年硬件工程师有没有前景?

未来十年&#xff0c;硬件工程师的就业前景依然保持乐观&#xff0c;并且具有多个有前景的发展方向。以下是对未来十年硬件工程师前景的详细分析&#xff1a; 一、市场需求持续增长 随着科技的快速发展&#xff0c;多个领域对硬件工程师的需求将持续增长。例如&#xff0c;物…

docker常用命令集锦

目录 一、查看版本信息 1.1 查看 Docker CLI 版本&#xff1a; 1.2 查看 Docker 详细版本信息&#xff1a; 1.3 查看 Docker 系统信息&#xff1a; 二、进入和退出容器 2.1 进入容器&#xff1a; 2.2 退出容器&#xff1a; 2.3 查看容器日志&#xff1a; 2.4 查看容器的…

什么是客户自助服务?优点和最佳实践

什么是客户自助服务&#xff1f; 客户自助服务是解决客户问题的一种方法&#xff0c;客户可以在其中找到自己的解决方案。客户可以使用自助服务门户自行研究和解决问题&#xff0c;而不是与公司或产品的客户服务代表合作。除了故障排除之外&#xff0c;自助服务还可以用于安装…

Java入门:05.Java中的数组003

在上两篇文章中&#xff0c;我们了解什么是数组类型的数据&#xff0c;并明白了怎样使用new关键字创建一个数组&#xff0c;并为其定义长度。 同时在理解了栈空间和堆空间的区别后&#xff0c;我们也知道了&#xff0c;想要使用一个数组&#xff0c;我们必须将他的引用地址赋给…

lenovo联想ThinkBook 14 G4+ IAP/ARA(21CX,21D0)笔记本原装出厂Windows11系统预装OEM镜像下载

ThinkBook 14 G4 IAP【21CX】原厂系统Win11恢复安装包&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1iY9BxidIbv4RnXKaqbydTA?pwd9wc6 提取码&#xff1a;9wc6 ThinkBook 14 G4 ARA【21D0】原厂系统Win11恢复安装包&#xff1a; 链接&#xff1a;https://pan.ba…

nest学习笔记(一)

介绍 nest是一个用于构建高效&#xff0c;可拓展的nodejs服务端应用程序的框架&#xff0c;它使用渐进式javascript&#xff0c;使用Typescript构建并且完全支持Typescript&#xff0c;而且运行开发者使用javascript编写代码&#xff0c;提供了OOP、FP、FRP nest的底层是基于…

Linux编程:使用python或者shell获取系统信息

0. 概要 在日常的系统管理和性能监控中&#xff0c;获取系统信息是一个非常常见的需求。 本文将介绍如何使用Python和Shell脚本来获取这些系统信息。 1. 使用Python获取系统信息 使用psutil库来获取系统的CPU、内存、磁盘和网络信息。 1.1 安装psutil库 首先&#xff0c;我…

积分环节1/s

在控制工程中&#xff0c;当我们处理动态系统模型时&#xff0c;积分环节常常表示为1/s&#xff0c;这里的"1"代表系统的增益&#xff0c;而"s"是一个复数频率变量&#xff0c;通常在拉普拉斯变换中使用&#xff0c;它代表了时间域中的单位阶跃响应。积分运…

盗梦空间续集(InceptionNeXt):使用Inception优化加速ConvNeXt实现ImageNet-1K的最佳精度

Abstract 灵感来自ViT的长距离建模能力&#xff0c;大核卷积最近被广泛研究和采用&#xff0c;以扩大感受野并提高模型性能&#xff0c;例如显著的工作ConvNeXt采用77深度卷积。虽然这种深度算子只消耗少量的FLOPs&#xff0c;但由于高内存访问成本&#xff0c;它在强大计算设…

JavaScript 进阶

JavaScript 进阶 在掌握了 JavaScript 的基础知识之后&#xff0c;继续深入学习其高级特性和应用技巧将有助于编写更高效、更优雅的代码。本文将详细介绍 JavaScript 的一些进阶概念和技术。 目录 闭包原型与继承高级函数 高阶函数柯里化函数组合 异步编程 Promiseasync/awa…

MySQL InnoDB的读写参数优化

MySQL InnoDB的读写参数优化是提升数据库性能的重要手段。以下是对MySQL InnoDB读写参数优化的详细阐述&#xff1a; 一、读参数优化 缓冲池大小&#xff08;innodb_buffer_pool_size&#xff09; 作用&#xff1a;该参数决定了InnoDB存储引擎可以使用的内存大小&#xff0c;…

PHP设计模式-简单工厂模式

核心&#xff1a; 一、定义一个接口类里面写规定好的方法。 interface Message{public function send(array $params);public function getMessage(array $params);public function getCode(array $params);} 二、定义产品类 、产品类继承接口类 class AlliYunSms implements …

Dart sprintf包使用指南:格式化输出的瑞士军刀

Dart sprintf包使用指南&#xff1a;格式化输出的瑞士军刀 简介 sprintf 是Dart语言的一个扩展包&#xff0c;提供了类似于C语言中 sprintf 函数的功能。它允许你格式化字符串&#xff0c;支持占位符和各种格式化选项&#xff0c;非常适合于创建具有特定格式的日志、用户界面…

java实战项目--拼图小游戏(附带全套源代码)

个人主页VON 所属专栏java实战项目游戏参考黑马程序员 一、效果展示 二、功能介绍 游戏中所有的图片以及代码均已打包&#xff0c;玩家直接安装游戏即可&#xff0c;不用idea也可以畅玩。 游戏功能比较单一&#xff0c;只有简单的拼图功能。 a&#xff1a;展示原图重新游戏&a…

《汇编语言 基于x86处理器》- 读书笔记 - 第3章-汇编语言基础

《汇编语言 基于x86处理器》- 读书笔记 - 第3章-汇编语言基础 3.1 基本语言元素3.1.1 第一个汇编语言程序常见汇编语言调用规范 3.1.2 整数常量&#xff08;基数、字面量&#xff09;3.1.3 整型常量表达式3.1.4 实数常量十进制实数十六进制实数&#xff08;编码实数&#xff09…