In this article you see that What are the differences between .gitignore and .gitkeep? and what is git keep and git ignore?
What is gitignore?
.gitignore
is a configuration file used in Git that lists files or directories that Git should ignore. The purpose of .gitignore
is to exclude certain files from being tracked by Git, such as temporary files, compiled artifacts, or sensitive information.
The format of a .gitignore
file is simple: each line specifies a file name or pattern to ignore. For example, you can ignore all files with a .log
extension like this:
*.log
Or you can ignore a specific directory, like this:
build/
The .gitignore
file should be placed in the root directory of your Git repository, and it will affect all subdirectories within the repository. You can also create multiple .gitignore
files in different directories within the repository to specify different ignore patterns for different parts of the repository.
It is important to note that once a file has been tracked by Git, it will continue to be tracked even if it is later added to the .gitignore
file. To stop tracking a file that is already tracked, you need to use the git rm --cached command to remove it from the repository's index.
What is git keep?
.gitkeep
is a placeholder file that is used in Git to keep empty directories in a repository. By default, Git does not track empty directories, but if you need to keep an empty directory in your repository, you can create a .gitkeep
file in that directory. This file can be an empty file with no content, but its presence in the directory will ensure that the directory is tracked by Git.
For example, if you have an empty directory named docs
in your repository, you can create a .gitkeep
file in that directory to ensure that it is tracked by Git:
What is the difference between git keep and git ignore and use of git keep and git ignore?
.gitignore
and .gitkeep
are both files used in Git, but they serve different purposes.
.gitignore
is a configuration file that tells Git which files or directories to ignore. It is used to exclude files that should not be tracked by Git, such as temporary files, compiled artifacts, or sensitive information. The format of a .gitignore
file is simple: each line specifies a file name or pattern to ignore.
For example:
# ignore all files with a .log extension
*.log
# ignore the directory 'build'
build/
.gitkeep
, on the other hand, is a placeholder file that is used to keep empty directories in a Git repository. Empty directories are not tracked by Git, but if you need to keep an empty directory in the repository, you can add a .gitkeep
file to that directory. This file is typically an empty file with no content, but its presence in the directory is enough to ensure that the directory is tracked by Git.
In summary, .gitignore
is used to exclude files from tracking, while .gitkeep
is used to ensure that empty directories are tracked by Git.
touch docs/.gitkeep
Now, when you run git status
, the docs
directory will be listed as a new file that is ready to be staged and committed.
.gitkeep
files are typically used to keep empty directories in a repository, but they can also be used as a placeholder for any file that needs to be tracked in a directory. The name .gitkeep
is just a convention and you can use any name for the file, as long as it starts with a dot.