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 轮结束以后,只剩下一个人,问最后留下的这个人编号是多少? 约瑟夫问题例子:…...
终极指南:5分钟解锁Minecraft源码的完整反编译方案
终极指南:5分钟解锁Minecraft源码的完整反编译方案 【免费下载链接】DecompilerMC This repository allows you to decompile any minecraft version that was published after 19w36a without any 3rd party mappings, you just need to execute the script or the…...
HCIA综合实验报告
一、实验要求1.所有PC均需要通过DHCP获取IP地址-地址池名称和设备VLAN一致,例如PC1-ip pool vlan10,其中只有业务B网络用户需要访问互联网web服务-需要DNS信息。2.交换机配置VLAN需要遵循最小VLAN透传原则3.利用OSPF协议使内外用户互相访问-全网可达(设备…...
抖音无水印批量下载神器:douyin-downloader深度技术解析与实战指南
抖音无水印批量下载神器:douyin-downloader深度技术解析与实战指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fa…...
从噪声到精准:DiffDet4SAR如何用扩散模型革新SAR飞机检测
1. 为什么SAR飞机检测这么难? 第一次接触SAR图像的朋友可能会觉得奇怪:这黑乎乎一片带白点的图像,怎么找飞机?其实这正是SAR(合成孔径雷达)成像的特点——它不像光学照片那样直观。SAR通过发射微波并接收回…...
C++零基础到工程实战(3.4.2):C++17 中 switch 初始化语句详解
目录 一、前言 二、switch 初始化语句是什么 三、GetPlay() 和 play.Status() 到底是什么意思 3.1 GetPlay() 是什么 3.2 play.Status() 是什么 四、完整示例解析: 4.1 示例: (1)代码 (2)变量名解…...
mysql如何将结果集存入新表_使用CREATE TABLE AS语句
CREATE TABLE AS 会自动推导字段类型但不可控,易导致VARCHAR过宽、NULL约束丢失、无索引主键等问题;复制结构数据应改用CREATE TABLE ... LIKE INSERT;需显式CAST、别名及COALESCE确保精度与空值处理。能直接用 CREATE TABLE AS,…...
如何快速掌握draw.io桌面版:终极离线图表绘制工具完整指南
如何快速掌握draw.io桌面版:终极离线图表绘制工具完整指南 【免费下载链接】drawio-desktop Official electron build of draw.io 项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop 前言:你是否需要在离线环境中创建专业的流程图…...
YOLOv8实战:用Grad-CAM可视化模型注意力区域(附完整代码)
YOLOv8实战:用Grad-CAM可视化模型注意力区域(附完整代码) 在计算机视觉领域,理解模型如何"看待"图像正变得越来越重要。想象一下,当你的目标检测模型将一只猫误判为狗时,如果能直观看到模型关注了…...
终极指南:如何突破Windows安全限制实现系统管理自由
终极指南:如何突破Windows安全限制实现系统管理自由 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/de/defender-control Win…...
告别命令行恐惧:在恒源云GPU服务器上部署Linux桌面环境全攻略
1. 为什么需要Linux图形化桌面环境? 很多刚接触GPU服务器的开发者都有这样的经历:好不容易申请到一台高性能的恒源云GPU服务器,登录后却只能面对黑漆漆的命令行界面。对于习惯Windows或Mac图形界面的用户来说,这就像突然被扔进了原…...
