Skip to content

Commit

Permalink
Change approach to what goes into this .gitignore
Browse files Browse the repository at this point in the history
For a long time, I put rules for things like macOS ~/.DS_Store files,
Emacs backup files, and similar stuff into every project's .gitignore
file. Now I've come to the conclusion this is suboptimal. Instead,
project-specific .gitignore files should only include what's specific
to the given project, and for things like people's backup files or
os-specific things, people should configure their git installation to
use a global excludes file. Turns out that this is the practice
recommended in GitHub's own documentation and some other people, e.g.,
https://augustl.com/blog/2009/global_gitignores/
  • Loading branch information
mhucka committed Jul 15, 2022
1 parent 87c5e01 commit 8f2fa9b
Showing 1 changed file with 21 additions and 96 deletions.
117 changes: 21 additions & 96 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,96 +1,21 @@
# -*- sh -*-

# Compiled source
# .............................................................................

*.com
*.class
*.dll
*.exe
*.o
*.so
*.dylib

# Compressed archives & package files
# .............................................................................

*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# OS-specific things to ignore:
# .............................................................................

.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Dropbox and similar files to ignore:
# .............................................................................

.dropbox

# Emacs-specific things to ignore:
# .............................................................................

*~
.#*
\#*#
.git/COMMIT_EDITMSG
auto
*.synctex.gz
TAGS

# LaTeX-specific things to ignore:
# .............................................................................

*.aux
*.bbl
*.blg
*.fls
*.loc
*.lof
*.log
*.lot
*.mp
*.out
*.toc
*.toc

# Python-specific things to ignore:
# .............................................................................

__pycache__/
*.py[cod]
*$py.class
*.egg-info/
.eggs/

# InnoSetup-specific things to ignore:
# .............................................................................

*.~is

# Jupyter Notebook-specific things to ignore:
# .............................................................................

.ipynb_checkpoints

# Ignore some common backup file patterns:
# .............................................................................

*.bak

# Project-specific things to ignore:
# .............................................................................

.README.md.tmp
# =========================================================== -*- gitignore -*-
# @file .gitignore
# @brief Files and patterns for files and subdirs that git should ignore
# @date CREATION_DATE
# @license Please see the file named LICENSE in the project directory
# @website https://github.com/caltechlibrary/PROJECT
#
# The approach we suggest is to add ONLY project-specific rules here. Put
# rules that apply to your way of doing things (and the particular tools you
# happen to use) into a global git ignore file as described in the section
# "Configuring ignored files for all repositories on your computer" here:
# https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files
# (accessed on 2022-07-14). For example, Emacs checkpoint and backup files are
# things that are not specific to a given project; rather, Emacs users will
# see them created everywhere, in all projects, because they're a byproduct
# of using Emacs, not a consequence of working on a particular project. Thus,
# they belong in a user's global ignores list, not in this project .gitignore.
#
# A useful starting point for global .gitignore file contents can be found at
# https://github.com/github/gitignore/tree/main/Global (as of 2022-07-14).
# =============================================================================

0 comments on commit 8f2fa9b

Please sign in to comment.