Special files
In git there are some files which have some importance, either on your remote repository or just in general.
Here are some examples
README
Section titled “README”File location README.md
When creating a repository on GitHub or GitLab, it will ask if you want to initialise it with a README. This is a file written in markdown, which just contains a description of what the project is.
If you visit a project e.g. this wiki, you will see a description rendered below all the files. This is the README, which both GitLab and GitHub will render on the home directory of your project.
LICENSE
Section titled “LICENSE”Our license policy requires new BOSS projects to use
the Apache-2.0 WITH LLVM-exception license.
Please read the license policy for the full list of requirements.
Gitignore
Section titled “Gitignore”File location: .gitignore
This file stores a list of files or folders which should never be included in your git commits.
These will usually include caching files or output directories which should be generated by the developer on their local machine.
An example for a project using yarn and npm is:
# build outputdist/
node_modules.yarn!.yarn/releases!.yarn/plugins.pnp.*
.vscode!.vscode/extensions.json!.vscode/launch.json
# logsnpm-debug.log*yarn-debug.log*yarn-error.log*pnpm-debug.log*
# environment variables.env.env.production
# macOS-specific files.DS_StoreBut these will vary depending on the tools and language you are using in a given project.
Templates are available online or you can use generate a gitignore specific to your development setup.
Gitmodules
Section titled “Gitmodules”File location .gitmodules
In most cases, this is not required and so will not be in a repository, this is
a special file which is normally autogenerated by the
submodule command in git (and so probably shouldn’t be
edited manually).
But this stores all the locations and repos of the submodules you have added.
GitLab CI
Section titled “GitLab CI”File location .gitlab-ci.yml
This file controls the pipelines on the project see here for more information
MR/Issue Templates
Section titled “MR/Issue Templates”File location .gitlab/merge_request_templates/*.md and
.gitlab/issue_templates/*.md.
This is better explained here