当前位置: 首页 > news >正文

web-上传项目文件夹到Git远程仓库

Git初识

概念:一个免费开源,分布式的代码版本控制系统,帮助开发团队维护代码

作用:记录代码内容,切换代码版本,多人开发时高效合并代码内容

检验成功

  • 打开bash终端(git专用)
  • 命令:git -V(查看版本号)

 Git配置用户信息

配置:用户名和邮箱,应用在每次提交代码版本时表明自己身份

命令:

 掌握Git仓库

Git仓库(respository):记录文件状态内容的地方,存储着修改的历史记录(.git文件夹)

创建:

  1. 把本地文件夹转换成Git仓库:命令git init
  2. 从其他服务器上克隆Git仓库

需求:创建一个空白的Git仓库

Git的三个区域

Git使用时:

工作区:实际开发时操作的文件夹

暂存区:保存之前的准备区域(暂存改动过的文件)

版本库:提交并保存暂存区中的内容,产生一个版本快照

命令作用
git add 文件名暂存指定文件
git add .暂存所有改动过的文件按
git commit -m "注释说明"提交并保存,产生版本快照

git ls-files获取放在暂存区中的文件

 Git文件状态

Git文件2种状态:

  • 未跟踪:新文件,从未被Git管理过
  • 已跟踪:Git已经知道和管理的文件
文件状态概念场景
未跟踪(U)从未被Git管理过新文件
新添加(A)第一次被Git暂存之前版本记录无此文件
未修改('')三个区域统一提交保存后
已修改(M)工作区内容变化修改了内容产生

使用:修改文件,暂存,提交保存记录,如此反复 

需求:新增css文件,并使用git status -s查看文件状态,并最终提交 

第一列是暂存区状态,第二列是工作区状态

Git暂存区使用

暂存区:暂时存储,可以临时恢复代码内容,与版本库解耦

暂存区->覆盖->工作区,命令:git restore 目标文件(注意:完全确认覆盖时使用

从暂存区移除文件,命令:git rm --cached 目标文件

查看暂存区内的文件:git ls-files

练习-登陆页面

需求:新增JS代码并暂存提交产生新的版本快照

步骤

  1. 新增JS文件和内容
  2. 临时存放在暂存区
  3. 提交保存到版本库 

Git回退版本

查看提交历史:git  log --oneline

回退命令:

git reset --soft 版本号(其他文件未跟踪)

git reset --hard 版本号

git reset --mixed 版本号 (与git reset等价)

注意1:只有记录在版本库的提交记录才能恢复

注意2:回退后,继续修改->暂存->提交操作即可(产生新的提交记录过程)

查看完整日志:git reflog --oneline

 删除文件

需求:删除editor.js文件,并产生一次版本记录

步骤:

  1. 手动删除工作区文件
  2. 暂存变更/手动删除暂存区文件造成变更
  3. 提交保存

总结:工作区只要改变,都可以暂存提交产生新记录

忽略文件

概念:.gitignore文件可以让git彻底忽略跟踪指定文件

目的:让git仓库更小更快,避免重复无意义的文件管理

例如:

  1. 系统或软件自动生成的文件
  2. 编译产生的结果文件
  3. 运行时产生的日志文件,缓存文件,临时文件等
  4. 涉密文件,密码,秘钥等文件

创建:

  1. 项目根目录新建.gitignore文件
  2. 填入相应配置来忽略指定文件

注意:如果文件已经被暂存区跟踪过,可以从暂存区移除即可

分支

概念:本质上是指向提交节点的可变指针,默认名字是master

注意:HEAD指针影响工作区/暂存区的代码状态

场景:开发新需求/修复BUG,保证主线代码随时可用,多人协同开发提高效率

例如:在现有代码上创建新分支宛城内容列表业务,或者突然需要紧急修复BUG-单独创建分支解决Bug

需求:创建内容列表content分支,并产生3次提交记录

步骤:

  1. 创建分支命令:git branch 分支名
  2. 切换分支命令:git checkout 分支名
  3. 工作区准备代码并暂存提交,重复3次

git branch查看当前有哪些分支

 练习-登录bug修复

需求:新建login-bug分支,做两次提交记录(对手机号长度,验证码长度做判断)

步骤:

  1. 切回到主分支:git checkout master
  2. 创建新分支:git branch login-bug
  3. 切换新分支:git checkout login-bug
  4. 修改代码,暂存,提交产生版本记录

 分支-合并和删除

需求:把login-bug合并回到master分支并删除logh-bug分支

步骤:

  1. 切回到要合入的分支上:git checkout master
  2. 合并其他分支过来:git merge login-bug
  3. 删除合并后的分支指针:git branch -d login-bug

分支-合并与提交

 合并提交:发生于原分支产生了新的提交记录后,再合并回去时发生,自动使用多个快照记录合并后产生一次新的提交

步骤:

  1. 切回到要合入的分支上:git checkout master
  2. 合并其他分支过来:git merge content
  3. 删除合并后的分支:git branch -d content

注意:提交记录的顺序按照产生的先后顺序排列,而非合并的先后顺序

分支-合并冲突

需求1:基于master新建publish分支,完成发布文章业务,然后修改内容页面的html文件的title标签,并提交一次 

需求2:切换到master,也在修改内容页面的html文件的title标签,并提交一次

冲突:把publish分支合并到master回来,产生合并冲突

概念:不同分支中,对同一个文件同一部分进行修改,Git无法干净的合并,产生合并冲突

解决:

  1. 打开VSCode找到冲突文件并手动解决
  2. 解决后需要提交一次记录

Git常用命令

命令作用注意
git -v查看git版本
git init初始化git仓库
git add 文件标识暂存某个文件文件标识以终端为起始的相对路径
git add .暂存所有文件
git commit -m '说明注释'提交产生版本记录每次提交,把暂存区内容快照一份
git status查看文件状态-详细信息
git status -s查看文件状态-简略信息第一列时暂存区状态,第二列是工作区状态
git ls-flies查看暂存区文件列表
git restore从暂存区恢复到工作区如果文件标识为.则恢复所有文件
git rm --cashed 文件标识从暂存区移除文件不让git跟踪文件变化
git log查看提交记录-详细信息
git log --oneline查看提交记录-简略信息版本号 分支指针 提交时说明注释
命令作用注意
git reflog --oneline查看完整历史 - 简略消息包括提交,切换,回退等所有记录
git reset 版本号切换版本代码到暂存区和工作区

--soft模式保留暂存区和工作区原本内容

--hard 模式不保留暂存区和工作区原本内容

--mixed 模式不保留暂存区,工作区保留(默认)

先覆盖到暂存区,再用暂存区对比覆盖工作区

git branch 分支名创建分支
git branch查看本地分支
git branch -d 分支名删除分支请确保记录已经合并到别的分支下,再删除分支
git checkout 分支名切换分支
git checkout -b 分支名创建并立刻切换分支
git merge 分支名把分支提交历史记录合并到当前所在分支

Git远程仓库

概念:托管在因特网或其他网络中的你的项目的版本库

 作用:保存版本库的历史记录,多人协作

创建:公司自己服务器/第三方托管平台(Gitee,GitLab,GitHub)

 需求:创建远程版本库

步骤:

  1. 注册第三方托管平台网站账号
  2. 新建仓库得到远程仓库Git地址
  3. 本地Git仓库添加远程仓库原点地址 命令:git remote add 远程仓库别名 远程仓库地址
  4. 本地Git仓库推送版本记录到远程仓库 命令:git push -u 远程仓库别名 本地和远程分支名

Git远程仓库-克隆

克隆:拷贝一个Git仓库到本地,进行使用

命令:git clone 远程仓库地址

效果:在运行命令所在文件夹,生成work项目文件夹(包括版本库,并映射到暂存区和工作区) 

 注意1:Git本地仓库已经建立好和远程仓库的链接

注意2:仓库公开随意克隆,推送需要身为仓库团队成员

多人协同开发

命令作用注意
git remote add 远程仓库别名 远程仓库地址添加远程仓库地址别名唯一,地址是.git结尾的网址
git remote -v 查看远程仓库地址
git remote remove 远程仓库别名删除远程仓库地址
git pull 远程仓库别名 分支名拉取完整写法:git pull 远程仓库别名 远程仓库分支名:本地分支名等价于:git fetch 和git merge
git push 远程仓库别名 分支名推送

完整写法:git push 远程仓库别名 本地分支名:远程分支名 -u:建立通道后以后可以简写git push

git clone 远程仓库地址克隆从0得到一个远程的Git仓库到本地使用

git pull --rebase 远程仓库别名 分支名

合并没有关系的记录

 

相关文章:

web-上传项目文件夹到Git远程仓库

Git初识 概念:一个免费开源,分布式的代码版本控制系统,帮助开发团队维护代码 作用:记录代码内容,切换代码版本,多人开发时高效合并代码内容 检验成功 打开bash终端(git专用)命令…...

使用OpenPCDet训练与测试Transformer模型:如何加载自己的数据集

引言 Transformer架构因其强大的序列处理能力和长距离依赖捕捉能力,在自然语言处理领域取得了巨大成功。近年来,这一架构也被引入3D物体检测领域,如Voxel Transformer等,显著提升了模型在复杂场景下的检测性能。OpenPCDet整合了多…...

四舍五入问题

单纯输出四舍五入可以用 printf("%.nf",num); 但是这个方法有时候会出错 代表输出n位四舍五入小数 而将数四舍五入赋值给变量可以用round()函数 a round(num); 表示将num四舍五入赋值给a 但是这么些只能转换位四舍五入的整数 可以改…...

零基础入门学用Arduino 第一部分(三)

重要的内容写在前面: 该系列是以up主太极创客的零基础入门学用Arduino教程为基础制作的学习笔记。个人把这个教程学完之后,整体感觉是很好的,如果有条件的可以先学习一些相关课程,学起来会更加轻松,相关课程有数字电路…...

C++标准库random

random 完整文档看这里 三步走: 选择一种随机数种子选择一个随机数引擎选择一个随机数分布输出 随机数种子 //生成随机数种子,在Linux的实现中,是读取/dev/urandom设备 std::random_device rd; unsigned seed1 rd();// 获取当前时间点作为随机数种子 unsigned seed2 std:…...

电子电气架构——车载诊断DTC一文通

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人生在世,最怕的就是把别人的眼光当成自己生活的唯一标…...

Golang | Leetcode Golang题解之第129题求根节点到叶节点数字之和

题目: 题解: type pair struct {node *TreeNodenum int }func sumNumbers(root *TreeNode) (sum int) {if root nil {return}queue : []pair{{root, root.Val}}for len(queue) > 0 {p : queue[0]queue queue[1:]left, right, num : p.node.Left, …...

工业信息化SCI期刊,中科院1区TOP,IF=12.3,收稿范围广泛

一、期刊名称 IEEE Transactions on Industrial Informatics 二、期刊简介概况 期刊类型:SCI 学科领域:工程工业 影响因子:12.3 中科院分区:1区TOP 三、期刊征稿范围 IEEE工业信息学汇刊是一本多学科期刊,发表技…...

Spring Boot整合Redis

Spring Boot整合Redis Spring Boot 整合 Redis 是一种常见的做法,用于在 Spring Boot 应用程序中添加缓存、会话管理分布式锁等功能。 浅谈Redis Redis用于存储数据,且在内存当中进行存储。 但是在日常编写代码时,定义一个变量也就是属于在内…...

kafka的leader和follower

leader和follower kafka的leader和follower是相对于分区有意义的,不是相对于broker。 因为每个分区都有leader和follower, leader负责读写数据。 follower负责复制leader的数据保存到自己的日志数据中,并在leader挂掉后重新选举出leader。 kafka会再…...

git 空仓库笔记

标识身份,建议先完成 Git 全局设置 git config --global user.name “账号” git config --global user.email “email” 方式一:克隆仓库 git clone https://url/your.git cd your_path touch README.md git add README.md git commit -m "add …...

字母异位词分组(charyw)

字母异位词分组 题目描述 给定一个字符串数组&#xff0c;将字母异位词组合在一起。字母异位词指字母相同&#xff0c;但排列不同的字符串。 输入格式 第一行正整数n&#xff0c;表示有n个字符串(1<n<1000) 第二行n个字符串&#xff0c;空格隔开 输出格式 多组字母…...

力扣 41.缺少的第一个正整数

题目描述&#xff1a; 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,0] 输出&#xff1a;3 解释&#xff1a;范围 …...

Git从入门到放弃

由于我的Git学的不太好&#xff0c;所以为了能够将以后我的学习笔记能够整理的更好&#xff0c;我先要系统的学习一下git&#xff0c;文章由此产生。 文章笔记源自尚硅谷Git入门到精通全套教程视频内容 1 进入官网 学习新技术的第一步需要熟悉官网&#xff0c;Git也不例外。ht…...

003.数据分析_PandasSeries对象

我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448; 入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448; 虚 拟 环 境 搭 建 &#xff1a;&#x1f449;&…...

【介绍下什么是Kubernetes编排系统】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…...

linux防止nmap扫描

1、首先关闭Centos7自带的firewalld [rootnode ~]# systemctl disable firewalld.service && systemctl stop firewalld.service 2、安装iptables服务 [rootnode ~]# yum install iptables-services iptables-devel -y [rootnode ~]# systemctl enable iptables …...

基于SpringBoot的装饰工程管理系统源码数据库

如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统装饰工程项目信息管理难度大&#xff0c;容错率低&#xff0c;管…...

2024前端面试准备2-JS基础知识回顾

变量类型和计算 1.值类型和引用类型的区别 常见值类型:undefined(定义undefined只能用let,不能用const)、字符串、bool、number、 Symbol; 常见引用类型: 对象, 数组、null(特殊引用类型,指针指向为空地址) 、function(特殊引用类型); 值类型的值直接存储在栈中;引用类型值存储…...

C++ 环形链表(解决约瑟夫问题)

约瑟夫问题描述&#xff1a; 编号为 1 到 n 的 n 个人围成一圈。从编号为 1 的人开始报数&#xff0c;报到 m 的人离开。下一个人继续从 1 开始报数。n-1 轮结束以后&#xff0c;只剩下一个人&#xff0c;问最后留下的这个人编号是多少&#xff1f; 约瑟夫问题例子&#xff1a;…...

【微信小程序】模板语法

数据绑定 对应页面的 js 文件中 定义数据到 data 中&#xff1a; 在页面中使用 {{}} 语法直接使用&#xff1a; 事件绑定 事件触发 常用事件&#xff1a; 事件对象的属性列表&#xff08;事件回调触发&#xff0c;会收到一个事件对象 event&#xff0c;它的详细属性如下&…...

深入了解 C 语言 Bug

目录 一、引言二、Bug的定义三、Bug的由来四、Bug的影响五、应对 Bug 的方法六、结论 一、引言 1、在 C 语言的编程世界中&#xff0c;Bug 是一个我们无法回避的话题。 2、Bug&#xff0c;简单来说&#xff0c;就是程序中存在的错误或缺陷。它可以表现为程序运行结果的异常、崩…...

Redis 内存回收

文章目录 1. 过期key处理1.1 惰性删除1.2 周期删除 2. 内存淘汰策略 Redis 中数据过期策略采用定期删除惰性删除策略结合起来&#xff0c;以及采用淘汰策略来兜底。 定期删除策略&#xff1a;Redis 启用一个定时器定时监视所有的 key&#xff0c;判断key是否过期&#xff0c;过…...

【讲解下ECMAScript和JavaScript之间有何区别?】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…...

Linux基本指令查询硬件信息001

在Linux系统中查询硬件信息可以通过多种命令行工具完成&#xff0c;本章主要讲述如何查询Linux硬件信息。 操作系统&#xff1a; CentOS Stream 9 操作步骤&#xff1a; 指令uname -a : 显示内核版本、硬件名称、操作系统等基本信息。 [rootlocalhost ~]# uname -a Linux …...

Spring Boot(七十四):集成Guava 库实现布隆过滤器(Bloom Filter)

之前在redis(17):什么是布隆过滤器?如何实现布隆过滤器?中介绍了布隆过滤器,以及原理,布隆过滤器有很多实现和优化,由 Google 开发著名的 Guava 库就提供了布隆过滤器(Bloom Filter)的实现。在基于 Maven 的 Java 项目中要使用 Guava 提供的布隆过滤器,只需要引入以…...

二叉查找树详解

目录 二叉查找树的定义 二叉查找树的基本操作 查找 插入 建立 删除 二叉树查找树的性质 二叉查找树的定义 二叉查找树是一种特殊的二叉树&#xff0c;又称为排序二叉树、二叉搜索树、二叉排序树。 二叉树的递归定义如下&#xff1a; &#xff08;1&#xff09;要么二…...

3072. 将元素分配到两个数组中 II

题目 给你一个下标从 1 开始、长度为 n 的整数数组 nums 。 现定义函数 greaterCount &#xff0c;使得 greaterCount(arr, val) 返回数组 arr 中 严格大于 val 的元素数量。 你需要使用 n 次操作&#xff0c;将 nums 的所有元素分配到两个数组 arr1 和 arr2 中。在第一次操…...

城市之旅:使用 LLM 和 Elasticsearch 简化地理空间搜索(二)

我们在之前的文章 “城市之旅&#xff1a;使用 LLM 和 Elasticsearch 简化地理空间搜索&#xff08;一&#xff09;”&#xff0c;在今天的练习中&#xff0c;我将使用本地部署来做那里面的 Jupyter notebook。 安装 Elasticsearch 及 Kibana 如果你还没有安装好自己的 Elasti…...

【知识点】 C++ 构造函数 参数类型为右值引用的模板函数

C 构造函数是一种特殊的成员函数&#xff0c;用于初始化类对象。C 中的构造函数主要分为以下几种类型&#xff1a; 默认构造函数&#xff08;Default Constructor&#xff09;参数化构造函数&#xff08;Parameterized Constructor&#xff09;拷贝构造函数&#xff08;Copy C…...

网站集约化建设意见和建议/免费推广工具

1、 清空iptables 设置。iptables -F iptables -X iptables -Z2、配置允许(自己)22登录端口进入iptables -t filter -A INPUT -p tcp --dport 22 -s 10.10.70.103 -j ACCEPT3、设置允许本机lo通信。iptables -t filter -A INPUT -i lo -j ACCEPTiptables -t filter -…...

dw做六个页面的网站/今日头条新闻大事

转自&#xff1a;http://blog.csdn.net/totogo2010/article/details/9100767 准备2个文件&#xff1a; 文件一&#xff0c;ThisService.app文件二&#xff0c;Doxygen.rb下载上述2个文件&#xff1a;ThisService&Doxygen_rb准备好之后&#xff0c;两步配置&#xff0c;一步…...

做网站是个什么行业/福州百度首页优化

正确答案是 CD接口很重要&#xff0c;为了说明情况&#xff0c;这里稍微啰嗦点&#xff1a;(1)接口用于描述系统对外提供的所有服务,因此接口中的成员常量和方法都必须是公开(public)类型的,确保外部使用者能访问它们&#xff1b;(2)接口仅仅描述系统能做什么,但不指明如何去做…...

医药网站制作/如何在百度上添加自己的店铺

矩阵在图形变换中的应用 让每个点的横坐标扩大a倍&#xff0c;纵坐标扩大b倍 让每个点关于x轴翻转。 需要找到一个矩阵T > T . (x , y) (x , -y) 由(x , y)得&#xff0c;T需要为两列&#xff0c; 由(x , -y)得&#xff0c;T需要为两行。 > > 因为 ax by x c…...

商城网站建设/手机百度极速版app下载安装

问题描述 请把纸条竖着放在桌⼦上&#xff0c;然后从纸条的下边向上⽅对折&#xff0c;压出折痕后再展 开。此时有1条折痕&#xff0c;突起的⽅向指向纸条的背⾯&#xff0c;这条折痕叫做“下”折痕 &#xff1b;突起的⽅向指向纸条正⾯的折痕叫做“上”折痕。如果每次都从下边…...

做一个网站怎么做/网店运营具体做什么

dymDemo dym 分布式开发框架 Demo 熔断 限流 事件总线&#xff08;包括基于内存的、rabbitmq的&#xff09; CQRS DDD 实例 随后更新dym 分布式开发框架 dym 是一个分布式开发框架&#xff0c;同时支持 .net core2.2 、.net frameworker4.6.1。1、运行Demo 第一步&#xff1a;启…...