I’m trying to get back on the git train. I worked with it on a project a couple of years ago, and really liked it, but since then, I really haven’t strayed from Subversion. Truth is, svn is easy: there are more tools, and you don’t have to deal with SSH keys and whatnot. However, on my current project, I really run the technology, so I really wanted to do thing the “right way”.
Our project management solution is Assembla. We were on Unfuddle, which is pretty good, but Assembla offers more. (I flirted with using a private GitHub repo) Some of the advantages Assembla offers:
- Single project workspace, multiple repos. I like being able to tie checkins to tickets, but don’t want a single set of tickets: other solutions are one-to-one or many-to-many with their tickets projects and repos.
- Support for post-commit hooks
- Integrated chat (not really useful, but makes impromptu chats without requiring folks to run IM clients)
- Agile planning tools: This was the thing that no one else seemed to do. It features burn down charts, a Kanban card wall, virtual stand-up meetings, per sprint hour summaries, and more.
On agile: I’m the only developer – does agile make sense? Absolutely!! I frequently have to drop things at a split moment’s notice and work on something else: it’s imperative I inject tasks and still keep sight of the overall progress. I could really go into this, but that’s for another blog post.
So I set up my git repo in Assemba, committed locally, and was ready to push. (This isn’t a git tutorial … we’ll get to the point here in a minute) However, the connection failed when doing the following:
git remote add origin git@git.assembla.com:myrepo.git
git push origin master
You want to make sure you properly set up your SSH keys:
- When setting up your SSH public key in Assembla, it’s easiest to upload (https://www.assembla.com/user/edit/edit_git_settings) your pub file (for example, id_rsa.pub). If you’re on a Mac, you’ll either have to enable seeing hidden folders (since it’s in ~/.ssh), or copy it someplace you can easily get to from browser:
cp ~/.ssh/id_rsa.pub ~/Desktop/id_rsa.pub - Make sure you have git configured with the email address that you use to login to Assembla:
git config --global user.email myassemblaemailaddress@example.com - This was the one I still had to do to make it work .. configure your SSH hosts by editing ~/.ssh/config with the following: (if there’s other entries, just add to bottom of file)
Host git.assembla.com
IdentityFile ~/.ssh/id_rsa
GSSAPIAuthentication no
PubkeyAuthentication yes
PasswordAuthentication no
That did the trick. I realize I left much about git out here (for example, you may not want to globally set your email address) but I just wanted to show what worked for me.


