web-上传项目文件夹到Git远程仓库
Git初识
概念:一个免费开源,分布式的代码版本控制系统,帮助开发团队维护代码
作用:记录代码内容,切换代码版本,多人开发时高效合并代码内容
检验成功
- 打开bash终端(git专用)
- 命令:git -V(查看版本号)

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

掌握Git仓库
Git仓库(respository):记录文件状态内容的地方,存储着修改的历史记录(.git文件夹)
创建:
- 把本地文件夹转换成Git仓库:命令git init
- 从其他服务器上克隆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代码并暂存提交产生新的版本快照
步骤
- 新增JS文件和内容
- 临时存放在暂存区
- 提交保存到版本库

Git回退版本
查看提交历史:git log --oneline

回退命令:
git reset --soft 版本号(其他文件未跟踪)
git reset --hard 版本号
git reset --mixed 版本号 (与git reset等价)
注意1:只有记录在版本库的提交记录才能恢复
注意2:回退后,继续修改->暂存->提交操作即可(产生新的提交记录过程)
查看完整日志:git reflog --oneline
删除文件
需求:删除editor.js文件,并产生一次版本记录
步骤:
- 手动删除工作区文件
- 暂存变更/手动删除暂存区文件造成变更
- 提交保存
总结:工作区只要改变,都可以暂存提交产生新记录
忽略文件
概念:.gitignore文件可以让git彻底忽略跟踪指定文件
目的:让git仓库更小更快,避免重复无意义的文件管理
例如:
- 系统或软件自动生成的文件
- 编译产生的结果文件
- 运行时产生的日志文件,缓存文件,临时文件等
- 涉密文件,密码,秘钥等文件
创建:
- 项目根目录新建.gitignore文件
- 填入相应配置来忽略指定文件
注意:如果文件已经被暂存区跟踪过,可以从暂存区移除即可
分支
概念:本质上是指向提交节点的可变指针,默认名字是master
注意:HEAD指针影响工作区/暂存区的代码状态
场景:开发新需求/修复BUG,保证主线代码随时可用,多人协同开发提高效率
例如:在现有代码上创建新分支宛城内容列表业务,或者突然需要紧急修复BUG-单独创建分支解决Bug
需求:创建内容列表content分支,并产生3次提交记录
步骤:
- 创建分支命令:git branch 分支名
- 切换分支命令:git checkout 分支名
- 工作区准备代码并暂存提交,重复3次
git branch查看当前有哪些分支
练习-登录bug修复
需求:新建login-bug分支,做两次提交记录(对手机号长度,验证码长度做判断)
步骤:
- 切回到主分支:git checkout master
- 创建新分支:git branch login-bug
- 切换新分支:git checkout login-bug
- 修改代码,暂存,提交产生版本记录

分支-合并和删除
需求:把login-bug合并回到master分支并删除logh-bug分支
步骤:
- 切回到要合入的分支上:git checkout master
- 合并其他分支过来:git merge login-bug
- 删除合并后的分支指针:git branch -d login-bug

分支-合并与提交
合并提交:发生于原分支产生了新的提交记录后,再合并回去时发生,自动使用多个快照记录合并后产生一次新的提交
步骤:
- 切回到要合入的分支上:git checkout master
- 合并其他分支过来:git merge content
- 删除合并后的分支:git branch -d content
注意:提交记录的顺序按照产生的先后顺序排列,而非合并的先后顺序

分支-合并冲突
需求1:基于master新建publish分支,完成发布文章业务,然后修改内容页面的html文件的title标签,并提交一次
需求2:切换到master,也在修改内容页面的html文件的title标签,并提交一次
冲突:把publish分支合并到master回来,产生合并冲突
概念:不同分支中,对同一个文件的同一部分进行修改,Git无法干净的合并,产生合并冲突
解决:
- 打开VSCode找到冲突文件并手动解决
- 解决后需要提交一次记录
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)
需求:创建远程版本库
步骤:
- 注册第三方托管平台网站账号
- 新建仓库得到远程仓库Git地址
- 本地Git仓库添加远程仓库原点地址 命令:git remote add 远程仓库别名 远程仓库地址
- 本地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)
字母异位词分组 题目描述 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 输入格式 第一行正整数n,表示有n个字符串(1<n<1000) 第二行n个字符串,空格隔开 输出格式 多组字母…...
力扣 41.缺少的第一个正整数
题目描述: 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums [1,2,0] 输出:3 解释:范围 …...
Git从入门到放弃
由于我的Git学的不太好,所以为了能够将以后我的学习笔记能够整理的更好,我先要系统的学习一下git,文章由此产生。 文章笔记源自尚硅谷Git入门到精通全套教程视频内容 1 进入官网 学习新技术的第一步需要熟悉官网,Git也不例外。ht…...
003.数据分析_PandasSeries对象
我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉&…...
【介绍下什么是Kubernetes编排系统】
🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…...
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的装饰工程管理系统源码数据库
如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统装饰工程项目信息管理难度大,容错率低,管…...
2024前端面试准备2-JS基础知识回顾
变量类型和计算 1.值类型和引用类型的区别 常见值类型:undefined(定义undefined只能用let,不能用const)、字符串、bool、number、 Symbol; 常见引用类型: 对象, 数组、null(特殊引用类型,指针指向为空地址) 、function(特殊引用类型); 值类型的值直接存储在栈中;引用类型值存储…...
C++ 环形链表(解决约瑟夫问题)
约瑟夫问题描述: 编号为 1 到 n 的 n 个人围成一圈。从编号为 1 的人开始报数,报到 m 的人离开。下一个人继续从 1 开始报数。n-1 轮结束以后,只剩下一个人,问最后留下的这个人编号是多少? 约瑟夫问题例子:…...
大江东去,浪淘尽:精读《念奴娇·赤壁怀古》,读懂东坡绝境里的英雄气与释怀心
元丰五年(1082年),黄州,秋。经历乌台诗案死里逃生,苏轼被贬黄州已三年,从文坛领袖沦为戴罪闲人,躬耕东坡勉强糊口,人生跌入谷底。站在赤壁矶头,望着滔滔长江,…...
开源可视化引擎核心能力深度剖析:从数据编码到交互设计
开源可视化引擎核心能力深度剖析:从数据编码到交互设计 【免费下载链接】echarts Apache ECharts is a powerful, interactive charting and data visualization library for browser 项目地址: https://gitcode.com/gh_mirrors/echarts16/echarts 一、数据可…...
SiameseUIE在金融文档处理中的应用:实体识别与事件抽取实战案例
SiameseUIE在金融文档处理中的应用:实体识别与事件抽取实战案例 1. 引言:金融文档处理的挑战与机遇 金融行业每天产生海量的文档数据,从财报公告到风险报告,从合同协议到新闻资讯。这些文档中蕴含着大量有价值的信息,…...
伏羲天气预报输出解析:时间序列+极值统计+空间分布结果读取指南
伏羲天气预报输出解析:时间序列极值统计空间分布结果读取指南 1. 引言:从预报生成到结果解读 当你第一次运行伏羲(FuXi)天气预报模型,看到屏幕上滚动着“预报完成”的提示时,是不是既兴奋又有点迷茫&…...
避坑指南:在CentOS 7上搞定Synopsys DC 2019.03安装与License配置(附常见错误修复)
CentOS 7环境下Synopsys Design Compiler 2019.03全流程部署指南 在芯片设计领域,Synopsys Design Compiler(DC)作为行业标准的逻辑综合工具,其稳定运行直接影响设计效率。本文将针对CentOS 7系统环境,详细解析DC 2019…...
GStreamer调试指南:H264推流常见错误排查与性能优化
GStreamer调试指南:H264推流常见错误排查与性能优化 当你在深夜调试GStreamer推流管道时,突然发现RTMP服务器接收不到任何数据包,控制台却显示一切正常——这种场景对于视频开发工程师来说再熟悉不过了。H264推流看似简单,实则暗藏…...
探索大数据领域数据湖的存储奥秘
探索大数据领域数据湖的存储奥秘关键词:数据湖、分布式存储、元数据管理、湖仓一体、大数据存储架构摘要:在大数据时代,企业每天产生的海量数据如同“数字石油”,如何高效存储和利用这些数据成为关键。本文将以“数据湖”为核心&a…...
MusePublic优化升级技巧:如何导出高清印刷级人像作品
MusePublic优化升级技巧:如何导出高清印刷级人像作品 1. 为什么需要高清印刷级输出? 在数字艺术创作领域,从屏幕显示到实体印刷的跨越往往充满挑战。许多创作者都遇到过这样的困境:屏幕上看起来完美的作品,打印出来却…...
时序数据库(社区版)TDengine TSDB(安装/Docker版本)
前言TDengine 的 Docker 版本 3.4.0.0 可以免费试用。你下载并运行的 Docker 镜像,对应的就是 TDetime 社区版,这个版本自带免费许可证,可以永久免费使用。推荐:当前广泛使用且较为稳妥的 TDengine Docker 版本:3.4.0.…...
DAMOYOLO-S模型转换与部署:从PyTorch到ONNX再到TensorRT加速
DAMOYOLO-S模型转换与部署:从PyTorch到ONNX再到TensorRT加速 最近在做一个目标检测的项目,用到了DAMOYOLO-S这个模型,效果确实不错,但部署上线时遇到了点麻烦——推理速度不够理想。相信不少朋友也遇到过类似情况:训练…...
