git中的语法和术语含义

发布时间:2024年01月16日

第一章、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
文章来源:https://blog.csdn.net/baomingshu/article/details/135621891
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。