.gitgnore — 忽略文件的版本追踪
1.什么是.gitgnore?
.gitignore
文件是一个由 Git 版本控制系统使用的配置文件,它告诉 Git 哪些文件和目录应该被忽略,即不应该被加入到版本控制中。通常用于排除一些不必要的文件,比如编译生成的文件、日志文件、个人配置文件等,这些文件在团队成员之间共享是没有必要的,甚至可能会引起冲突。 所以要排除不需要版本控制的文件。
2.如何使用?
1. 脚手架 .gitignore :配置git忽略的文件,有些项目会自动生成此文件,如果没有可以手动创建 2. 用文本编辑器打开设置,进行配置: * 每个配置独占一行 * 每行的内容可以是文件、目录的名称,路径或他们的模式匹配 例如:node_moudels xxx.json xxxx.json xxxxx.json 3. 模式匹配 规则: 1. 空行不匹配任何内容,它仅仅是用作分隔符来方便我们阅读 2. #用于注释,\表示转义 3. * 可以匹配任何字符(0次或多次), ? 可以匹配任何字符(1次) 4. / 用于分割目录 (1) 当/在开头时,表示从.gitignore文件开始匹配,否则,他的下都将开始匹配 (2)当/在末尾时,只匹配目录,否则,则同名的目录和文件都将匹配 5.原先被排除的文件,使用!模式后该文件将会被重新包含,如果该文件的父级被排除了,那么失效 4.[]通常用于匹配一个字符列表,如:a[mn]z 可匹配 amz 和 anz 5.** 用于匹配多级目录,如 a/**/b 可匹配 "a/b",“a/x/b","a/x/y/b" 等示例:
1. 忽略所有内容 —— * 2. 忽略所有目录 —— */ 3. 忽略public目录下的所有文件,除了favicon.ico文件 —— public/* 换行 ! public/favicon.ico 4. 只保留 public目录下的 a{一个字符}z.{后缀名}的所有文件 —— /* 换行 !/public/ /public/* /public/a?z.* 如何知道某个文件是否被忽略了? git check-ignore 文件名 查看具体信息 git check-ignore -v 文件名注意:
.gitignore 只能忽略那些没有被追踪的文件,所以先纳入版本管理后写入.gitignore是无效的**解决办法**
先清除本地缓存之后再加入 git rm -r --cached git add . git status *** 同样的,已被.gitignore忽略的文件也是无法加人版本库的。 *** **解决办法** 把gitignore里定义的规则移除git 分支管理
1.什么是git分支
Git 分支管理是指使用 Git 版本控制系统来创建、切换、合并和删除分支的一系列操作。分支是 Git 中一个非常重要的概念,它允许你在不干扰主开发线(通常称为主分支或 master
分支,但在 Git 2.28 版本后,默认分支名被更改为 main
)的情况下,进行新的功能开发、错误修复或实验性更改。
2.使用后有哪些好处?
- 并行开发:不同的开发者可以在不同的分支上并行工作,互不影响。
- 功能隔离:每个新功能或修复都可以在自己的分支上开发,直到完成并测试通过后再合并到主分支。
- 安全测试:可以在分支上测试新功能或修复,而不会影响到主分支的稳定性。
- 版本控制:分支提供了一种自然的方式来管理项目的不同版本或阶段。
- 保持主分支干净:主分支应该只包含稳定且经过测试的代码。
- 使用特性分支:为每个新功能或修复创建一个单独的分支。
- 定期合并:定期将主分支的更改合并到你的特性分支中,以确保你的工作基于最新的代码。
- 解决冲突:在合并分支时,如果遇到冲突,及时解决它们,以确保合并的顺利进行。
- 删除不再需要的分支:一旦分支上的工作被合并到主分支中,并且你确信不再需要该分支,就应该删除它以保持仓库的整洁。
3.基本操作
1.创建分支
创建成功后仍然处于原来的分支上
git branch 分支名
2.切换分支
# Git 2.23 版本之前
git checkout 分支名
# Git 2.23 版本之后
git switch 分支名
# Git 2.23 版本之后,可以使用
git checkout -b <branch-name>
或
git switch -c <branch-name>
来同时创建并切换到新分支。
3.删除分支
git branch -d 可以删除一个已经合并到主分支的分支。如果分支尚未合并,Git 会阻止你删除它,除非你使用 -D 选项强制删除。
# 合并过的分支
git branch -d 分支名
# 未合并的分支
git branch -D 分支名
4.查看分支
git branch
命令可以查看当前仓库中的所有分支,当前分支会显示为绿色,并且前面会有一个星号(*)标记。
git branch
5.合并分支
git merge 分支名
在项目中,一般有一个开发分支,一 个主线分支
例如: 在本地,修改文件,dev分支提交本地一次——(git commit -m '第一次提交')
git commit -m '第一次提交'
创建xxx分支,然后再修改文件,进行提交——(git branch xxx)
git branch xxx
切换到 xxx分支——(git checkout xxx)
git checkout xxx
查看日志 ——(git log)
git log
这个时候xxx分支会显示有一次提交的,在dev分支第一次提交时,但它也只有第一次提交的内容——(cat 文件名)
# 通过cat 文件名 查看文件信息
cat 文件名
这个时候可以把dev分支合并到xxx分支上面——(git merge dev)
git merge dev
合并成功后,可以把xxx当成主线分支,修改名字——git branch -m xxx main)
git branch -m xxx main
*主线分支一般不要动,合并完后最好直接切换回开发分支