Git版本工具学习
目录
- 版本控制
- git配置
- 工作区域
- 文件状态
- git对象模型
- 基础命令
- .gitignore忽略文件
- IDEA集成Git
版本控制
本地版本控制:在本地记录每一次版本更新。
集中版本控制:版本数据都保存在单一服务器,不联网就看不到版本信息。SVN
分布式版本控制:所有的版本信息都同步到本地的每个用户,可以离线在本地提交,只需在联网时push。Git
SVN与Git的区别:
- SVN 是集中式的;Git 是分布式的
- SVN 的分支操作成本(创建/删除/合并)比 Git 高
- SVN 是存储变更差异;Git 是存储文件快照
- SVN必须联网操作,只有服务器上的版本控制;Git支持离线操作,有本地的版本控制
git配置
1)git\mingw64\etc\gitconfig ,–system系统级
2)C:\Users\用户\.gitconfig ,–global全局
Git branch 获取分支列表 ,列表保存到refs/heads/master 下面。
git config -l,配置清单
git config --system --list,系统配置
git config --global --list,全局配置(用户配置)
安装好git后,设置用户名和邮箱(必要):
git config --global user.name "xxx"
git config --global user.email "xxx@qq.com"
配置ssh公私钥连接远程仓库:
在c:/Users/用户/.ssh下打开git bash,运行ssh-kengen生成公私钥,将pub公钥粘贴到远程仓库配置中。
工作区域
git本地有三个工作区域:工作目录、暂存区(stage/index)、资源库(repository)、远程仓库(remote repository)。
工作区:平时写代码项目文件的目录。
index/stage:存放提交的文件列表信息的文件。
Local R本地仓库:存放提交的所有版本信息,HEAD总是指向当前分支。
Remote:托管代码的远程服务器。

文件状态
untracked:未加入到本地库中,不参与版本控制,使用git add变为staged状态
unmodify:文件已入库,未修改。变为modified文件或git rm移除版本库变为untracked状态。
modified:文件已修改。通过git add变为staged状态,或通过git checkout放弃修改回到unmodify状态。
staged:暂存状态。执行git commit提交到版本库中,文件变为unmodify状态,执行git reset HEAD filename取消暂存,文件变为modified状态。
git对象模型
在git系统中有四种尅对象:
commit:指向一个tree,纪录了文件操作,作者,提交者信息;
tree:对象关系树,管理tree和blob的关系;
blob:保存文件内容;
tag:标记提交。
基础命令
git init,本地创建一个新的项目。
git clone [url],克隆远程仓库上的项目代码。
git rm/mv [file],删除移动文件
git status [xx],查看文件状态。
git commit -m xxx,提交暂存区中的内容到本地仓库,-v提交时显示diff信息。
git branch,查看本地分支,-r查看远程,-d [name]删除分支,-rd删除远程分支
# 新建一个分支,与指定的远程分支建立追踪关系
$ git branch --track [branch] [remote-branch]
git merge [branch],合并分支到当前分支。
git checkout [branch]或git switch,切换到指定分支。
git checkout [file],恢复暂存区文件到工作区。
git log,显示当前分支版本历史,-S [key]根据关键词搜索提交历史,–follow [file]显示某文件的版本历史,–oneline简洁显示。
git shortlog -sn,显示所有提交过的用户。
git blame [file],显示文件被什么人什么时间修改。
git diff,显示工作区和暂存区的差异。
git show [commit],显示某次提交的时间和内容变化。
git fetch [remote],下载远程仓库变动到本地版本库。
git remote -v,显示所有远程仓库,add添加仓库,remove删除。
git pull [remote] [branch],取回远程仓库分支的变化并与本地合并。
git push [remote] [branch],推送本地分支到远程仓库。
master分支主要用于发布新版本,常用工作分支使用dev等分支。
推送失败,因为最新提交和你试图推送的提交有冲突。先用git pull把最新提交从origin/dev抓下来,然后在本地合并,解决冲突,再推送。git pull也失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置dev和origin/dev的链接。
git branch --set-upstream-to=origin/dev dev
这回git pull成功,但是合并有冲突,需要手动解决,解决后提交,再push。
.gitignore忽略文件
在目录下创建.gitignore文件,将某些文件排除在版本控制外。
#:注释。
tmp/*.txt:忽略tmp目录所有以.txt结尾的文件,不包括tmp/d/*.txt。
!:除了这个文件外忽略所有
/tmp:忽略除tmp文件夹外的其他文件
tmp/:忽略tmp目录下的所有文件
IDEA集成Git
将所有克隆下来的git项目或新创建的git项目文件拷贝到IDEA项目中即可,或在IDEA下载git插件。
git命令学习和工具下载链接
相关文章:
Git版本工具学习
目录 版本控制git配置工作区域文件状态git对象模型基础命令.gitignore忽略文件IDEA集成Git 版本控制 本地版本控制:在本地记录每一次版本更新。 集中版本控制:版本数据都保存在单一服务器,不联网就看不到版本信息。SVN 分布式版本控制&…...
baidu, google和chatgpt -- 翻译对比
原文 That ChatGPT can automatically generate something that reads even superficially like human-written text is remarkable, and unexpected. But how does it do it? And why does it work? My purpose here is to give a rough outline of what’s going on inside…...
高分辨率全球海洋温度和盐度再分析数据Global Ocean Physics Reanalysis(0.083°),并利用matlab读取绘图
1.引言 在研究全球海平面变化的问题中,卫星测高获得总的海平面变化,而海平面变化包含质量变化和比容变化。因此测高数据和海洋物理分析数据对于海平面研究至关重要。 测高数据下载网址: Global Ocean Gridded L 4 Sea Surface Heights And …...
微信小程序修改placeholder样式
微信小程序有既定的修改placeholder的标签 一、placeholder-style直接修改样式 <input type"text" placeholder"请输入" placeholder-style"color:#e2e2e2;"></input>二、placeholder-class设置样式类 <input type"text&…...
爬虫案例1
通过get请求直接获取电影信息 目标页面: https://spa6.scrape.center/在network中可以看到是通过Ajax发送的请求,这个请求在postman中也可以直接请求成功,这只是一个用来练习爬虫的,没有达到js逆向的过程,需要通过分析js 代码来获…...
修改表结构
目录 修改表结构 创建数据表插入数据 修改已有列 修改 member 表的 name 列的定义 为表增加列 增加一个 address 列,这个列上不设置默认值 增加一个 sex 列,这个列上设置默认值 删除表中的列 删除 sex 列 Oracle从入门到总裁:https…...
Rust 语言中的 into() 方法
在 Rust 中,into() 方法通常用于将一个类型的值转换为另一个类型,这通常涉及到资源的所有权转移。into() 方法通常定义在实现了 Into<T> trait 的类型上,该 trait 允许一个类型被“转换”为另一个类型。 into() 方法的一个常见用途是在…...
MinIO权限提升漏洞CVE-2024-24747详细解决办法
漏洞名称: MinIO权限提升漏洞(CVE-2024-24747) 漏洞简介 2024年2月2日,深瞳漏洞实验室监测到一则MinIO 存在权限提升漏洞的信息,漏洞编号:CVE-2024-24747,漏洞威胁等级:高危。 该漏洞是由于用户创建的访…...
“我快无聊死了”用英语怎么说?柯桥英语口语学习,成人零基础学外语
每日一句 Im bored to death. 我快无聊死了。 单词解析: bored / bɔːd / adj.无聊的,厌倦的 bored to d15857575376eath:指非常无聊或厌烦,达到了极点的程度。 "bored" 和 "boring" 都与无聊相关&#…...
JS ATM练习案例(复习循环知识)
需求:用户可以选择存钱、取钱、查看余额和退出功能。 分析:1循环时反复出现提示框,所以提示框写到循环里面。 2.退出的条件是4,所以是4就会结束循环 3.提前准备一个金额预存储 4取钱为减法操作,存钱为加法操作…...
Android 二维码相关(一)
Android 二维码相关(一) 本篇文章主要记录下android下使用zxing来创建二维码. 1: 导入依赖 api "com.google.zxing:core:3.5.1"2: 创建二维码 创建QRCodeWriter对象 QRCodeWriter qrCodeWriter new QRCodeWriter(); 将文本内容转换成BitMatrix BitMatrix encode …...
利用tree命令自动保存文件层级结构
tree命令的使用 为了将上图左侧的文件目录,生成上图右侧中的文件夹结构列表,保存在txt中,使用了如下cmd命令: C:\armadillo-12.8.0>tree .>list.txt以上tree命令分为3部分: tree 命令. 在当前目录>list.tx…...
C++初阶:内存管理
目录 1. C/C中各种资源的内存分布1.1 C/C程序内存区域划分1.2 各资源的内存分布情况(练习) 2. C中的动态内存管理方式2.1 new/delete开辟内置类型空间2.2 new/delete开辟销毁自定义类型空间 3. operator new 与 operator delete函数4. new与delete的实现…...
vue和react的diff算法源码
Vue.js 中的虚拟 DOM Diff 算法是其性能优化的关键之一。 Vue.js 的 Diff 算法主要基于 Snabbdom,以下是 Vue.js 中虚拟 DOM Diff 算法的简化版伪代码,以便说明其基本思想: function patch(oldVnode, vnode) {// 如果 oldVnode 不存在&…...
Coordinate Attention(CVPR 2021)
paper:Coordinate Attention for Efficient Mobile Network Design official implementation:GitHub - houqb/CoordAttention: Code for our CVPR2021 paper coordinate attention 背景 注意力机制,已经被广泛用于提高深度神经网络的性能&…...
计算机网络-第4章 网络层(2)
主要内容:网络层提供的两种服务:虚电路和数据报(前者不用)、ip协议、网际控制报文协议ICMP、路由选择协议(内部网关和外部网关)、IPv6,IP多播,虚拟专用网、网络地址转换NAT,多协议标…...
重学SpringBoot3-WebMvcAutoConfiguration类
更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-WebMvcAutoConfiguration类 是什么什么用生效条件作用 自定义配置的三种方式自定义配置举例1. 自定义 DispatcherServlet 配置2. 静态资源配置3. 自定义…...
探索数据结构:深入了解顺序表的奥秘
✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty’s blog 1. 什么是顺序表 顺序表是用一段物理地址连续的存储单元依次存储数据元…...
苍穹外卖学习-----2024/03/010---redis,店铺营业状态设置
1.Redis入门 2.在Java中操作Redis 3.店铺营业状态设置 BUG!!! 今天在启动项目时,用到了Redis缓存数据库,但是却出现了报错信息: ERR Client sent AUTH, but no password is set。Caused by: io.lettuce.core.RedisCommandExecutionException…...
RUST 每日一省:发布到crates.io
github是开源代码分享的地方,rust的开源项目除了github,我们还可以将其发布到 crates.io 上,然后其它用户就可以使用cargo进行安装使用了。其实步骤很简单,只有三条命令了,我们一次来看一下。 1、cargo package 首先&a…...
6个专业级步骤:yuzu开源模拟器配置优化从启动失败到稳定60帧
6个专业级步骤:yuzu开源模拟器配置优化从启动失败到稳定60帧 【免费下载链接】yuzu 任天堂 Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu yuzu作为领先的任天堂Switch开源模拟器,为玩家提供了在PC上体验《宝可梦剑盾》《…...
Python flask django房屋租赁管理系统在线聊天
目录同行可拿货,招校园代理 ,本人源头供货商功能需求分析技术实现方案安全与扩展功能性能优化项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商 功能需求分析 用户身份区分 系统需区分房…...
VLCD车载LCD驱动框架:确定性刷新与跨SoC移植实践
1. VLCD库概述:面向CARIAD车载信息娱乐系统的TFT-LCD底层驱动框架VLCD(Virtual LCD)是一个专为大众集团CARIAD软件平台定制的轻量级、可移植TFT-LCD显示驱动抽象层。它并非通用图形库,而是聚焦于车载HMI(人机交互&…...
架桥记:耐达讯自动化CC-Link IE转EtherCAT的工业协议融合实战
在工业自动化行业中,生产线的智能化升级常面临一个核心难题:如何让基于不同通信协议的设备“读懂”彼此,协同工作?特别是当代表日系高速网络技术的CC-Link IE,遇上盛行于欧系设备的实时以太网EtherCAT时,协…...
告别重复打卡:远程办公族的智能签到自动化解决方案
告别重复打卡:远程办公族的智能签到自动化解决方案 【免费下载链接】daily-check-in 一个打卡小程序 - 基于 leancloud 数据存储 项目地址: https://gitcode.com/gh_mirrors/da/daily-check-in 在数字化办公普及的今天,远程办公族每天需在项目管…...
2026最权威的五大降AI率方案推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 对于学术研究范畴之内,AI技术给论文写作予以了高效的辅助支持。当下存在着多款能…...
Gemma-3-12b-it多模态交互工具效果展示:菜单图片识别+多语言翻译生成
Gemma-3-12b-it多模态交互工具效果展示:菜单图片识别多语言翻译生成 1. 引言:当AI看懂菜单,还能帮你翻译 想象一下,你走进一家异国餐厅,面对一份满是陌生文字的菜单,完全不知道点什么好。这时候ÿ…...
从手动到工具,我降AI率的方法进化史
从手动到工具,我降AI率的方法进化史 从2024年初开始用AI辅助写论文,到2026年毕业,我的降AI率方法经历了三次进化。 每次进化都不是主动选择,而是被逼的——上一个方法撞了墙,不得不换。 把这个过程写出来࿰…...
麦橘超然Flux图像生成控制台快速部署:一键启动你的AI绘画服务
麦橘超然Flux图像生成控制台快速部署:一键启动你的AI绘画服务 1. 项目概述与核心优势 麦橘超然Flux图像生成控制台是一个基于DiffSynth-Studio构建的离线图像生成Web服务。它集成了majicflus_v1模型,采用float8量化技术,显著降低了显存占用…...
破解Silk音频兼容性难题:从格式转换到跨平台播放的完整解决方案
破解Silk音频兼容性难题:从格式转换到跨平台播放的完整解决方案 【免费下载链接】silk-v3-decoder [Skype Silk Codec SDK]Decode silk v3 audio files (like wechat amr, aud files, qq slk files) and convert to other format (like mp3). Batch conversion supp…...
