
Step 4 above is the crux of this effort and can be a bit tricky. Both GitHub and GitLab will prompt you with the commands to run. * You may need to set up your Git configuration commands to clone the repository. Symbolically link (symlink) them back to their target folder (most often $HOME).Create a repository called "dotfiles." (Make it public! Sharing is caring.).Sign into your preferred Git-based service.Either one is a perfect place to share your information. I regularly use GitHub and continue to enjoy GitLab as I get more experienced with it. My favorite answer is distributed version control, preferably a service that will handle the heavy lifting for me. How do we keep these wonderful files in sync across environments? Many of us have multiple systems or know hard drives are fickle enough that we want to back up our carefully curated customizations. The premise is true to this day: I want to share them, with myself, with those new to dotfiles, and with those who have taught me so much by sharing their customizations. The canonical article advocating for sharing dotfiles is Zach Holman's Dotfiles Are Meant to Be Forked from 2008. This is one reason sharing dotfiles has become more and more popular, especially with the rise of the social coding site GitHub. gitconfig has over 200 lines of customization, I have no interest in rewriting it on every new computer or system I use, and neither does anyone else. Here's a snippet from the block: 87 # Show the diff between the latest commit and the current stateĨ8 d = !"git diff-index -quiet HEAD - || clear git -no-pager diff -patch-with-stat"ĩ0 # `git di $number` shows the diff between the state `$number` revisions ago and the current stateĩ1 di = !"d() pr" I have account information, terminal color preferences, and tons of aliases that make my command-line interface feel like mine. gitconfig, which I use for Git configuration, I see a ton of customization. README.md Rakefile bin misc profiles zsh-custom For example, when I use ls -a on MacOS, it shows all the lovely dotfiles that would otherwise not be in the output. gitconfig, and operating systems often hide them by default. "Dotfiles" is a common term for all the configuration files we have floating around our machines. Let's dig into the why and how of sharing them. "Waldo" Grunenwald goes into excellent detail about the why and how of setting up your dotfiles. In What a Shell Dotfile Can Do For You, H. There is something truly exciting about customizing your operating system through the collection of hidden files we call dotfiles.
