Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I keep my dotfiles in a Git repository like you do—my home dir is a Git repository.</p> <ul> <li><p><code>git gui</code>: I rarely use it, so I'm not really sure how its performance is impacted by lots of untracked files. However, I do have a <code>~/.gitignore</code> file that simply contains <code>*</code>. Perhaps ignoring everything will speed up <code>git gui</code> for you.</p></li> <li><p>Accidentally adding files: Creating a <code>~/.gitignore</code> file that simply contains <code>*</code> also solves the problem of accidentally adding a file to your dotfiles repository when you forget to initialize a new project repository (it'll tell you to use <code>-f</code> if you really want to add the file).</p></li> <li><p>I've never had a problem with nested repositories.</p></li> </ul> <p>Some notes:</p> <ul> <li><p>The main reason why I set my <code>~/.gitignore</code> to <code>*</code> is so that <code>git status</code> doesn't show every file in my home directory. It forces me to use <code>git add -f</code> all the time, which is a bit annoying, but not that big of a deal.</p></li> <li><p>Get in the habit of using <code>git clean -dx</code> instead of <code>git clean -dxf</code>. You'll have to remember to run <code>git config clean.requireForce false</code> in new project repositories, but it'll prevent you from accidentally deleting all of your files in your home directory if you're not in the directory you think you're in.</p></li> <li><p>Git sometimes decides to reset file permissions. This can be bad if you want to keep sensitive files (<code>chmod og-rwx</code>) in your Git repository. I handle this via a <code>post-checkout</code> hook that fixes permissions of certain files and directories (e.g., <code>~/.ssh/authorized_keys</code>).</p></li> </ul>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload