I have been using SmartGit (http://www.syntevo.com/smartgit/index.html) for nearly a year now. After having used command-line git and the graphical log viewer, gitk, I have become very accustomed to using SmartGit for managing my code repositories. After a short learning curve I have become fairly proficient in managing my branches and general code repository issues.
Here are some tips & tricks I’ve learned along the way. Granted, not many listed here yet, but hopefully other SmartGit users out there will share.
Tags are very useful for marking key positions in the repository without creating a branch. We use this at Cyber Sprocket to tag the commit that represents a specific product release. SmartGit makes this easy, but you will need to create a private key. Look for our articles on creating OpenSSH keys using PuttyGen to create your key file.
Once you have your key file you can attach it to a project when you set the project up. SmartGit will store that key for future use, making for easy tagging of your repository.
At this point tagging the repository is easy:
- Open the log viewer.
- Right-click on a commit and select “Add Tag”.
- To publish the tag back to the origin server go to the working tree/project window and select “remote / push advanced” and select the “push selected branches or tags”. That is where you can select the new tag and push it back to origin.
Finding A Commit By ID
Even though SmartGit is very good at managing branches and encouraging plain text labels for branches and tags, there are times when the only way you can find a specific commit is via the SHA-1 commit ID. For months I’d been using the command line to locate those commits and manage them, often just to add a tag or a branch so I could find that key commit at a later date.
Turns out SmartGit has an easy, if somewhat hidden, way to find a commit.
- Bring up the log window.
- Start typing in the SHA-1 key -or- press ctrl-v to paste in a hash you’ve copied
SmartGit will locate the first matching commit ID doing the typical fast search/filter as you continue typing.
Those are my two tips & tricks for today. If you have any, please share.