Git setup script
I’ve been plotting to make the git and GitHub setup process a bit easier for new users, so I spent a small portion of my labor day weekend actually doing…
I’ve been plotting to make the git and GitHub setup process a bit easier for new users, so I spent a small portion of my labor day weekend actually doing some labor (the horror). You can see the results in this repo.
So what is this crap? The goal here was to create a simple script users could run that would set all the config options needed in git, generate a key, upload the public key to GitHub, and encourage the use of strong passphrases and ssh-agent. The script needed to be able to run immediately after install, even for msysgit (windows) users. This ruled out my first choice, ruby, since windows users may not have ruby installed. The script also needed to detect msysgit users and help them set up ssh-agent to run automatically, as msysgit does not do this by default. Mac users don’t need this, as ssh-agent is run and even integrates with the user’s keychain, and many flavors of linux appear to run ssh-agent automatically for the user on login.
If you’ve got a fresh install, or just want to play, give the script a whirl:
$ git clone git://github.com/help/setup.git $ setup/setup.sh
I’d love to hear feedback, suggestions for other things the script should set, or just pull requests.
As an added bonus, I also made a guide on passphrases and ssh-agent. Everyone should be using a good passphrase on their keys, I recently switched myself.
Written by
Related posts
GitHub availability report: June 2026
In June, we experienced six incidents that resulted in degraded performance across GitHub services.
Q1 2026 Innovation Graph update: Open source collaboration is accelerating worldwide
New Innovation Graph data shows global developer communities growing faster than ever, with collaboration reaching new highs across many economies.
GitHub joins coalition advocating for fixes to California AI Transparency Act to protect open source
We’re calling for targeted amendments to resolve conflicts with open source licensing and align with international transparency frameworks while preserving regulatory intent.