Is it possible to have all “git diff” commands use the “Python diff”, in all git projects?

When including the line

*.py diff=python

in a local .gitattributes file, git diff produces nice labels for the different diff hunks of Python files (with the name of the function where the changes are, etc.).

  • Coloured Git diff to HTML
  • Cannot make git diff use diff.external for external diff tool
  • Setting up Notepad++ Compare as the diff tool in git?
  • Git(Hub) 3 way merge, patch
  • Git diff untracked file against a tracked file in another branch/path
  • How to see difference of first and third commit in git?
  • Is is possible to ask git to use this diff mode for all Python files across all git projects? I tried to set a global ~/.gitattributes, but it is not used by local git repositories. Is there a more convenient method than initializing each new git project with a ln -s ~/.gitattributes?

  • How can DVCS help scientific programming?
  • Cleaning my git branch of features in development
  • .DS_Store still appears in git status despite being in .gitignore
  • Git: what exactly causes remote branches to update?
  • git merge going wrong?
  • connect git to Github account
  • 3 Solutions collect form web for “Is it possible to have all “git diff” commands use the “Python diff”, in all git projects?”

    Quoting from gitattributes(5):

    Attributes that should affect all repositories for a single user should be placed in a file specified by the core.attributesfile configuration option (see git-config(1)). Its default value is $XDG_CONFIG_HOME/git/attributes. If $XDG_CONFIG_HOME is either not set or empty, $HOME/.config/git/attributes is used instead. Attributes for all users on a system should be placed in the $(prefix)/etc/gitattributes file.

    To tell git to use ~/.gitattributes you need to put this in ~/.gitconfig:

    [core]
      attributesfile = ~/.gitattributes
    

    No, git only looks for attributes locally: .gitattributes and .git/info/attributes

    Git Baby is a git and github fan, let's start git clone.