The .gitignore
file is used by Git to determine which files and directories to ignore when committing changes to your repository. This is helpful for preventing unnecessary files (such as temporary files, logs, or sensitive information) from being committed to your Git repository.
To create and configure a .gitignore
file, follow these steps:
- In the root directory of your project, create a new file named
.gitignore
(with a period at the beginning of the file name). - Open the
.gitignore
file in your preferred text editor or IDE (like Visual Studio Code). - Inside the
.gitignore
file, list the files, directories, or patterns that you want Git to ignore. Each entry should be on a separate line. You can use the following rules for specifying entries:- To ignore an entire directory, add a
/
at the end of the directory name (e.g.,node_modules/
). - To ignore a specific file, just add the file name (e.g.,
config.env
). - You can use wildcards for matching patterns (e.g.,
*.log
to ignore all log files). - To ignore all files in a directory with a specific extension, use the following syntax:
directory_name/*.extension
(e.g.,logs/*.log
).
- To ignore an entire directory, add a
- Save and close the
.gitignore
file.
Here’s an example of a .gitignore
file:
# Ignore log files
*.log
# Ignore the secrets script fileSecrets.gs
# Ignore the node_modules directorynode_modules/
# Ignore all .env files*.env
# Ignore all files in the logs directory with a .log extensionlogs/*.log
Once you’ve created and configured the .gitignore
file, Git will automatically ignore the specified files and directories when you commit changes to your repository.
Remember that if you’ve already committed a file or directory to your repository before adding it to the .gitignore
file, you will need to remove the file or directory from the repository and create a new commit before the .gitignore
rules will take effect for that file or directory.
Ignore everything
If you want to ignore everything except specific files, directories, or patterns, you can use the !
(exclamation mark) in the .gitignore
file to create a whitelist.
Here’s an example of how to configure a .gitignore
file to ignore everything except specific items:
# Ignore everything
*
# Except these specific files or directories!file1.js
!file2.html
!directory1/
!directory2/*.css
In this example, everything is ignored by default due to the *
entry. The !
symbol is then used to negate the ignore rule for specific files or directories.
Please note that if a parent directory is ignored, you cannot unignore a file or folder inside that directory. For example, if you ignore a whole directory but want to allow a specific file inside that directory, you will need to create a more specific rule:
# Ignore everything inside 'my_directory/'
my_directory/*
# Except the specific file ‘file1.js’ inside ‘my_directory/’!my_directory/file1.js
In this case, everything inside my_directory/
is ignored, but file1.js
is not, because we added a more specific rule for it.
You can adjust the .gitignore
file according to your needs by listing the files, directories, or patterns that you want to keep in your Git repository.