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
相关推荐
打盹的小pig5 小时前
git pull 报错
git
Tairitsu_H16 小时前
[版本控制器Git] Git 远程仓库 | 多人协作 | 企业级 Git Flow 开发模型
git·版本控制器·远程仓库
我先去打把游戏先16 小时前
Git-Rebase使用指南-从原理到实战
服务器·git·嵌入式硬件·物联网·ubuntu
kaixin_learn_qt_ing18 小时前
我有两个程序,它们在不同的项目中,但是它们复用了一部分头文件,它们在两个不同的git仓库中,有什么好的办法可以让它们复用吗?
git
greatofdream20 小时前
git rebase时如何解决merge节点冲突问题
大数据·git·elasticsearch
敲敲敲-敲代码1 天前
git安装记录
git
我是人✓1 天前
Git入门:从零开始掌握分布式版本控制
分布式·git
Aurora_eye1 天前
Git 笔记
笔记·git
解道Jdon2 天前
FigCraft把Figma用Rust从零重写了一遍
ide·windows·git·svn·eclipse·github·visual studio
橙橙笔记2 天前
QT安卓软件的制作
android·git·qt·软件