SourceTree is Awesome! SourceTree is a completely free Git client that is supported by Windows as well as the Mac platform. It features an appealing visual interface between users and Git which can be seen in the below image. I have been using it for about a month now and I have fallen in love with this tool. SourceTree has simplified how I am able to interact with Git repositories. This helped me focus more on coding as opposed to focusing on maintaining my code in Git. Visualizing and managing repositories through SourceTree’s simple interface is very easy. Due to the features that SourceTree encompasses, it helped improve my workflow and productivity.
SourceTree has a lot of cool features to offer which make performing even some complex tasks in Git easy to perform and performing easy steps even easier. SourceTree saves a lot of time and allows users to stage, unstage and push files with the click of a single button. Branches can be checked out by double clicking on the branch names under the branches section. SourceTree features a graph which shows the relationships between the branches and commits. I found this to be one of the best features as this view helped me visualize my workflow. Another great feature of SourceTree is that it shows how many changes have been made to the branches since you last pulled. This helped me keep up with the changes that were being made to the repository in real time.
For instance, making a local change and pushing that change to the remote repository from SourceTree can save time as opposed to doing the same from the command line as fewer steps are necessary. With SourceTree, the process to accomplish this is as follows. First off, the user will make the local changes and save all the files in which the changes were made. In the SourceTree interface, the files that were altered will be reflected in a section that lists all the modified or new files. From that point, the developer simply has to check off the checkbox next to each of the files that he or she would like to stage or unstage. Then, all the user has to do is click the commit button, enter the message for the commit and check off the box to simultaneously push the changes to the remote repository. On the other hand, doing the same exact thing from the command line can be more time consuming. After changes are made and saved, one would head over to the command line. Then, the user will have to use the “git status” command to figure out all the files that have been altered to figure out which files need to be staged. In addition, the user may have to utilize the “git diff” command to figure out the changes that were made to each of the files. After using these commands, the user will continue by adding the files with the “git add <filename1> <filename2> …” command. Then these steps will be followed by “git commit –m <message>” command. Then, the user will finish off the process, with the “git push” command.”
With the command line, extra steps such as “git status” and “git diff” may be necessary in order to figure out what files need to be staged and pushed. However, that is not the case with SourceTree because the functionality of those commands is included in the user interface by default. In addition, a scenario may require the users to unstage files. With SourceTree, this task will require the user to check off the file in the staging section to move the file into the working index. On the other hand, from the command line, the user will be required to use the “git reset <filename>” command to unstage the file. Therefore, using SourceTree is more time efficient and easier to use in comparison to the command line interface.
SourceTree is powerful enough for experts, yet simple enough for beginners. I believe that learning how to interact with Git repositories through SourceTree will help bring the beginners up to speed quickly as they will be able to visualize the steps that they are taking. In addition, the users can see the different environments through the user interface, such as the working index, staging area and repository. SourceTree is beneficial for users that have command line experience with Git as well. It is a good tool for expert users to consider as it will make them more productive. Performing steps through SourceTree will most likely save time in comparison to performing the same steps through the command line. Reviewing change sets and cherry-picking between branches is easier than ever with the help of SourceTree. Tasks such as adding files, committing files, creating branches, deleting branches and pushing files can be done with the click of a button.
Visualization and the simplicity of the Git process are the key drivers behind SourceTree. A developer can better his or her workflow by incorporating SourceTree into their technology stack. Working from the command line with large projects with multiple branches, commits and developers can become tough to manage. SourceTree can help with this process due to its easy-to-use features which make the whole process easier to manage.