gitignore across all branches?

2019-03-26 08:04发布

问题:

Hey I'm trying to get into git, as an emacs user first thing to do is to make sure the ~ and #*# files are ignored by git. Documentation talks about .gitignore which I've been using. However couple of questions remain:

  • gitignore is now checked in and part of a branch. Should .gitignore be checked in and if so, how can i make it easy available across all branches in my repository?
  • is there a way to use the gitignore with git config so gitignore stays constant over all my repos?
  • How can I deal with emacs lock files as #*# is treated as a comment?

I'm on mac ox snow leopard. regards, Jeroen

回答1:

Add this to your $HOME/.gitconfig ;

[core]
    excludesfile = /path/to/your/local/.gitignore

Then it'll be locally available on all your git repositories.



回答2:

If you created the gitignore file before creating the branches, it's obviously available in them. Otherwise you need to merge that file to other branches.

You can define a global ignore file with git config --global core.excludesfile [ignorefile].



回答3:

  • http://cogniton-mind.tumblr.com/post/1423976659/howto-gitignore-for-different-branches
  • You can create a global gitignore

create a ~/.gitignore in your user directory

.DS_Store 
*.pyc 
.svn 

then run: git config --global core.excludesfile ~/.gitignore

  • Emacs files

    \#*#

Since 1.6.2, \ should be supported in .gitignore



回答4:

  1. Check-in the .gitignore file. It is available across all the branches (unless you mess about with it) and keep it up to date with all your exclusions
  2. Use a global gitignore file.
  3. Add this to your gitignore file.

    #
    .#

I've written about the three ways of excluding files here.



回答5:

Simplest way to get that file into all branches would be probably git cherry-pick commit with .gitignore file into those branches



标签: git gitignore