目录
- 第一章、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