git中的语法和术语含义

目录

第一章、git常用术语

1.1)文件状态

①未跟踪(Untracked):文件尚未被Git跟踪,不在版本控制之下。

②已修改(Modified):文件在工作目录中发生了更改,但尚未被暂存。

③未修改(UnModified):文件在工作目录中未发生更改。

④已暂存(Staged):文件的当前版本已经被暂存,准备提交到版本库中。

⑤已提交(Committed):文件的更改已经被永久保存到本地版本库中。

1.2)git常用术语的含义

①工作区:指的是项目目录,其中包含了项目的实际文件。

②暂存区:git add 后文件进入暂存区(Staging Area)

③本地仓库:git commit将暂存区文件同步到本地库

④远程仓库:git push命令将本地分支的更改推送到远程仓库。

java 复制代码
git push 远程仓库名称 本地分支名称

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

java 复制代码
git push origin master

第二章、git文件状态解析

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

①在项目目录中运行git init命令

Git将创建一个新的.git子目录,用于存储仓库的元数据和对象数据库。

总结:将一个普通的目录转换为一个Git仓库后才能对项目进行版本控制。才能使用其他Git命令来对项目进行跟踪、提交、分支、合并等。
②init后文件状态:Untracked files未被跟踪

git init以后使用命令查看文件状态:

java 复制代码
git status

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

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

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

java 复制代码
git add fileName

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

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

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

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

移除命令:

java 复制代码
git rm --cached fileName

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

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

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

java 复制代码
git commit -m '提交时的备注'

第三章、.gitignore设置

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

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

java 复制代码
touch .gitignore

②使用命令设置gitignore:

.gitignore可以将文件将不需要提交的与我们代码无关的文件比如:target文件,.settings文件,.project文件.class文件不提交到远程仓库。输入命令Vi .gitignore打开

③点击i键后,开始输入以下不需要提交的文件名称:

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

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

3.2).gitignore语法介绍

①.gitignore文件中匹配规则:

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

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

java 复制代码
!pom.xml

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

java 复制代码
ssm_web/target/

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

java 复制代码
*.text

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

java 复制代码
target/*.java
相关推荐
bubiyoushang8881 小时前
解决 Git 访问 GitHub 时的 SSL 错误
git·github·ssl
海码0075 小时前
【版本控制】Git 和 GitHub 入门教程
git·github
网硕互联的小客服8 小时前
503 Service Unavailable:服务器暂时无法处理请求,可能是超载或维护中如何处理?
服务器·git·github
abcnull10 小时前
github开源协议选择
git·github·开源协议
安庆平.Я12 小时前
git互联GitHub 使用教程
git·github
自来也_19 小时前
Git配置代理
git
Jooolin1 天前
【编程史】Git是如何诞生的?这可并非计划之中...
linux·git·ai编程
Lw老王要学习2 天前
VScode 使用 git 提交数据到指定库的完整指南
windows·git·vscode
去旅行、在路上2 天前
Git & Svn
git·svn
abcnull2 天前
github中main与master,master无法合并到main
git·github