Specific projects might have their own sets of required configurations, so the focus for this guide is on interoperability between remote GitHub repositories, your local Git configuration, and your code editor.
These instructions are focused on setting up a Mac OS X development environment.
If you need help configuring a Windows machine please sign up for a developer training session.
Atom is the lowest-common-denominator editor used by CoA web developers. It’s lightweight, free, and is easy to set as your default Git editor. It’s okay if you use a different editor for your daily work. This guide focuses on using Atom simply as your default Git editor. You are welcome to configure any editor you wish, but troubleshooting support will only be provided for Atom.
Download and install Atom from atom.io
You’ll need Git installed on your system in order to do pretty much anything related to this workflow. This is not the GUI client, but instead a system-level installation that allows you to incorporate independent tools like Atom and Terminal to your workflow.
Download at https://git-scm.com/downloads
In order to adhere to the development process it is necessary to set a default Git editor. This makes it easy to compose thoughtful and exhaustive commit messages, which is a critical part of a sustainable and scalable development culture.
Again, you are welcome to configure any editor you wish, but the instructions below will focus on using Atom on your Windows or Mac machine.
Launch Terminal.app on your Mac and enter the following command:
$ git config --global core.editor "atom --wait"
HTTPS is the recommended authentication method for your machine’s communication with GitHub. To avoid having to re-enter your credentials for every request you can cache your GitHub credentials in the credential helper. See the instructions on GitHub.com.
There is a sample repository you can use to trigger the initial authentication request. Here’s how to use it:
authentication-testing
repository to your local projects directory$ git clone https://github.austintexas.gov/ctm-sandbox/authentication-testing.git
$ git clone https://github.com/cityofaustin/authentication-testing.git
Make sure that you clone and initialize your repositories using the HTTPS URL rather than SSH.
Example HTTPS URL: https://github.com/cityofaustin/ctm-dev-workflow.git
Example SSH URL: git@github.com:cityofaustin/ctm-dev-workflow.git
If you prefer to use SSH you are welcome to do that instead of or in addition to HTTPS.
In your shell, cd
to the ctm-dev-workflow
project directory you cloned when storing your credentials
Add a new file called test.md
Stage your change for commit using $ git add .
Commit your change using $ git commit
Atom should open up a file called COMMIT_EDITMSG
Write a commit title in Line 1, such as “Test environment setup”
Write a commit body in Line 3 such as “This commit is for testing that all of my local setup was configured correctly”
Save the file and close the entire Atom window
You should be re-directed back to your shell window, which should display a note such as
1 file changed, 1 insertion(+), 0 deletion(-)
Run $ git log
and confirm that the commit title and message you entered show up at the top of your shell window
Run $ git push origin master
If you see an error message that you do not have permissions then congratulations, everything’s correct!
If you are prompted for your credentials again then something went wrong with your credential keychain.