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

git中的语法和术语含义

目录

  • 第一章、git常用术语
    • 1.1)文件状态
    • 1.2)git常用术语的含义
  • 第二章、git文件状态解析
    • 2.1)从git init开始:Untracked(未跟踪)
    • 2.2)git add fileName后:Staged(已暂存)
    • 2.3)其他状态:Unmodify(未修改)modified(已修改)
    • 2.4)git commit后:Committed(已提交)
  • 第三章、.gitignore设置
    • 3.1)设置哪些文件不需要版本控制
    • 3.2).gitignore语法介绍

第一章、git常用术语

1.1)文件状态

①未跟踪(Untracked):文件尚未被Git跟踪,不在版本控制之下。
②已修改(Modified):文件在工作目录中发生了更改,但尚未被暂存。
③未修改(UnModified):文件在工作目录中未发生更改。
④已暂存(Staged):文件的当前版本已经被暂存,准备提交到版本库中。
⑤已提交(Committed):文件的更改已经被永久保存到本地版本库中。

1.2)git常用术语的含义

①工作区:指的是项目目录,其中包含了项目的实际文件。
②暂存区:git add 后文件进入暂存区(Staging Area)
③本地仓库:git commit将暂存区文件同步到本地库
④远程仓库:git push命令将本地分支的更改推送到远程仓库。

git push 远程仓库名称 本地分支名称

克隆远程仓库到本地时,Git会自动创建名为"origin"的远程仓库默认别名,我们经常写

git push origin master

第二章、git文件状态解析

2.1)从git init开始:Untracked(未跟踪)

①在项目目录中运行git init命令
Git将创建一个新的.git子目录,用于存储仓库的元数据和对象数据库。
总结:将一个普通的目录转换为一个Git仓库后才能对项目进行版本控制。才能使用其他Git命令来对项目进行跟踪、提交、分支、合并等。
②init后文件状态:Untracked files未被跟踪
git init以后使用命令查看文件状态:

git status

文件状态为Untracked files,未被跟踪状态。这些文件可能是新创建的文件或者已存在但尚未被添加到Git的版本控制中的文件(就是红色的文件)。这意味着Git不会对其进行版本控制,也不会将其纳入到提交中。这意味着这些文件的更改不会被记录在Git的历史记录中
在这里插入图片描述

2.2)git add fileName后:Staged(已暂存)

①使用命令将需要进行版本控制的文件添加到暂存区(Staging Area)

git add fileName

被git add命令添加的文件会被放入Git的暂存区,文件变成Staged状态,下一次的提交会包含这些文件(文件名称变绿了)。
在这里插入图片描述

2.3)其他状态:Unmodify(未修改)modified(已修改)

①git add以后,文件一直没有再修改过,这时候这个文件就是Unmodify(未修改)状态。

②把Unmodify文件使用命令移除版本控制,则成为Untracked文件
移除命令:

git rm --cached fileName

③git add以后,没有commit,再次修改了文件,这个时候git会将文件状态变更为 modified 已修改状态。注意:如果你确定你这次的更改是必须的,那么你要再次使用 git add 把本次修改提交到暂存区。
在这里插入图片描述

2.4)git commit后:Committed(已提交)

git commit将暂存区文件同步到本地库,提交完了以后文件就变成了Committed(已提交)状态。

git commit -m '提交时的备注'

第三章、.gitignore设置

3.1)设置哪些文件不需要版本控制

①如果没有.gitignore文件使用下面命令创建

touch .gitignore

②使用命令设置gitignore:
.gitignore可以将文件将不需要提交的与我们代码无关的文件比如:target文件,.settings文件,.project文件.class文件不提交到远程仓库。输入命令Vi .gitignore打开
在这里插入图片描述
③点击i键后,开始输入以下不需要提交的文件名称:

#.settings/.classpath/.project后缀的文件不会被纳入版本控制(不被提交)
.settings
.classpath
.project
#target/文件夹下的所有文件都不会被纳入版本控制(不被提交)
target/

④输入完成后点击esc退出,再输入冒号,才能输入命令wq,回车自动保存后退出。

3.2).gitignore语法介绍

①.gitignore文件中匹配规则:

#表示注释
*表示匹配任意多个字符
?表示匹配任何一个字符
!表示取反取反
[abc]表示匹配方括号当中的任何一个字符
[0-9]表示匹配0-9当中任意一个数字
两个*号表示任何中间目录,比如src/**/build,可以匹配到src/test/build,也可以匹配到src/current/build。

②取反规则:指定可以不遵守忽略条件的文件名,就算pom.xml文件在被忽略的文件路径下,也不会被忽略。

!pom.xml

③相对路径写法,过滤掉ssm_web/target/*文件夹下的所有内容:

ssm_web/target/

④忽略,过滤掉.text类型的文件:

*.text

⑤忽略掉target路径下的所有java文件:

target/*.java
http://www.lryc.cn/news/284451.html

相关文章:

  • java SECS管理系统 将逐步推出 SECS 客户端(Passive) 管理系统 SECS快速开发平台 springboot secs开发平台
  • 使 a === 1 a === 2 a === 3 为 true 的几种“下毒“方法
  • Canny边缘检测 双阈值检测理解
  • 自动化测试:5分钟了解Selenium以及如何提升自动化测试的效果
  • 【MySQL】——关系数据库标准语言SQL(大纲)
  • 力扣hot100 最长有效括号 动态规划
  • @RequestBody注解基础
  • 前端基础面试题大全
  • 第一讲_HarmonyOS应用开发环境准备
  • 一、可行性研究报告模板(软件工程)
  • DBA技术栈MongoDB:简介
  • 贪心算法 ——硬币兑换、区间调度、
  • 【已解决】namespace “Ui“没有成员 xxx
  • Spring Bean 生命周期的执行流程?
  • Android-三方框架的源码
  • AI嵌入式K210项目(15)-安全散列算法加速器
  • Docker Consul详解与部署示例
  • 内网安全管理系统(保密管理系统)
  • .NetCore Flurl.Http 4.0.0 以上管理客户端
  • openssl3.2 - 官方demo学习 - smime - smenc.c
  • 【EI会议征稿通知】第四届工业制造与结构材料国际学术会议(IMSM 2024)
  • mysql中建立一个用户,只能看到某个指定的数据库
  • 第2章 线程管理
  • 机器学习第二十六周周报 ARIMA Clustering model
  • 支持XP系统的最新firefox浏览器
  • Pytorch从零开始实战17
  • openssl3.2 - 官方demo学习 - signature - EVP_DSA_Signature_demo.c
  • vue2使用 element表格展开功能渲染子表格
  • 一个简单的ETCD GUI工具
  • vue2 使用pdf.js 实现pdf预览,并可复制文本