广州网站优化快速获取排名,谷歌服务加速 wordpress,个人微信公众号收费吗,哪些网站可以发布免费招聘信息文章目录 1.前言2.Git 标准配置文件.gitignore作用格式示例 .gitattributes作用格式示例 .gitmodules作用格式示例 .gitconfig作用格式示例 3.非 Git 标准约定文件.gitkeep简介示例 .gitacls作用格式示例 参考文献 1.前言
Git 是一个强大的版本控制系统#xff0c;它使用多个… 文章目录 1.前言2.Git 标准配置文件.gitignore作用格式示例 .gitattributes作用格式示例 .gitmodules作用格式示例 .gitconfig作用格式示例 3.非 Git 标准约定文件.gitkeep简介示例 .gitacls作用格式示例 参考文献 1.前言
Git 是一个强大的版本控制系统它使用多个配置文件来管理项目的行为和设置。
2.Git 标准配置文件
.gitignore
作用
.gitignore 文件用于指定哪些文件或目录应被 Git 忽略不进行版本控制。这有助于避免将不必要的文件如临时文件、编译生成的文件、日志文件等添加到版本库中。
格式
每一行指定一个要忽略的模式。可以使用通配符* 匹配零个或多个字符。? 匹配一个字符。** 匹配任意级别的目录。以 / 开头表示相对于仓库根目录的路径。以 # 开头的行是注释。
示例
# 忽略所有的日志文件及目录
*.log
/log/# 忽略临时文件及目录
*.tmp
/temp/# 忽略编译生成的文件
*.exe
/build/
/dist/# 忽略根目录下的 .env 文件
/.env# 忽略多层级目录
# 忽略 a/b, a/x/b, a/x/y/b 等
/a/**/b.gitattributes
作用
.gitattributes 文件用于定义 Git 在处理特定文件或目录时的行为。可以设置文件的文本编码、行结束符、合并策略、差异输出等。
格式
每一行指定一个路径模式和一个或多个属性。属性名可以是标准属性如 text、binary、diff或自定义属性。
示例
# 将所有的文本文件处理为 LF
*.txt text eollf# 将 PNG 文件标记为二进制文件
*.png binary# 禁用某些目录中文件的 diff 输出
internal/app/pb/** -diff# 对于特定类型的文件使用自定义的 diff 工具
*.md diffmarkdown.gitmodules
作用
.gitmodules 文件用于管理 Git 子模块的配置信息。
子模块是指在一个 Git 仓库中嵌套的另一个 Git 仓库。此文件包含子模块的路径和 URL允许您在主仓库中引用其他仓库。
git submodule add https://github.com/XXX [path]默认情况下子模块会将子项目放到一个与仓库同名的目录中即“XXX”。
如果你想要放到其他地方那么可以在命令结尾添加一个不同的路径 path。如果这时运行 git status注意到新的.gitmodules文件。该配置文件保存了项目 URL 与已经拉取的本地目录之间的映射。
格式
使用 [submodule “path”] 格式来定义子模块。
示例
[submodule libs/some-library]path libs/some-libraryurl https://github.com/user/some-library.git[submodule libs/another-library]path libs/another-libraryurl https://github.com/user/another-library.git.gitconfig
作用
.gitconfig 文件是 Git 的配置文件它用于配置 Git 的行为和用户信息如用户名、邮箱、颜色输出、别名等。
可通过 git config 命令进行配置并将配置存储至 .gitconfig 文件。
根据其位置和作用级别.gitconfig 文件可以分为三种主要类型
仓库级别的配置.git/config具有最高优先级。用户级别的配置~/.gitconfig次之。系统级别的配置/etc/gitconfig具有最低优先级。
格式
示例
.git/config 示例
[core]repositoryformatversion 0filemode falsebare falselogallrefupdates truesymlinks falseignorecase true
[remote origin]url gitgitlab.foo.com:foo/foo_svr.gitfetch refs/heads/*:refs/remotes/origin/*
[branch main]remote originmerge refs/heads/main~/.gitconfig 示例
[url gitgitlab.foo.com:]insteadOf https://gitlab.foo.com/insteadOf http://gitlab.foo.com/
[user]email dablelvfoo.comname dablelv
[core]autocrlf inputeditor vim
[alias]co checkoutbr branchci commit/etc/gitconfig 示例
[diff astextplain]textconv astextplain
[filter lfs]clean git-lfs clean -- %fsmudge git-lfs smudge -- %fprocess git-lfs filter-processrequired true
[http]sslBackend opensslsslCAInfo C:/Program Files/Git/mingw64/etc/ssl/certs/ca-bundle.crt
[core]autocrlf truefscache truesymlinks false
[pull]rebase false
[credential]helper manager
[credential https://dev.azure.com]useHttpPath true
[init]defaultBranch master3.非 Git 标准约定文件
.gitkeep
简介
Git 默认是不跟踪空文件夹和空目录的所以要想推送空文件夹或空目录就必须在里面放一个文件即使是空文件也行但必须要有。
于是就有了一个不成文的规定通常我们放一个名为 .gitkeep 的文件到空文件夹或空目录以此实现其 Git 跟踪。该规定并没有在官方文档中定义只是一个公认的约定罢了。
.gitkeep 实则是一个空的占位文件并没有其它特性通俗点讲.fu*k 可以实现和 .gitkeep 相同的功能。
示例
假设您有一个项目目录结构如下
my_project/
├── src/
└── empty_folder/如果您希望在 Git 中保留 empty_folder可以在该目录中创建一个 .gitkeep 文件
my_project/
└── empty_folder/└── .gitkeep.gitacls
作用
.gitacls 文件用于定义 Git 仓库的访问控制列表ACLAccess Control List。虽然这个文件并不是 Git 的标准部分但在一些特定环境中特别是与安全性和权限管理相关的项目中可能会使用此文件来控制对仓库中文件或目录的访问权限。
格式
具体内容和格式取决于团队的约定。
示例
# 定义哪些用户或组可以访问特定目录
# 例如允许 user1 和 user2 访问 src/ 目录
src/ user1 user2参考文献
Git - gitignore Documentation Git - gitattributes Documentation Git - gitmodules Documentation