SourceTree isn't an software interface for BitBucket. Git is a decentralized VCS, which means that having a remote is not automatic. Since it's not automatic, it requires additional steps to set up. Also, you can do this in SourceTree. If you do choose to use SourceTree as a GUI Git client, you'll need to add your GitHub credentials to SourceTree. Let's do that now. Open the SourceTree app. Click the 'Gear' icon in the top right corner and select 'Settings' Click 'Add Account' Hub: Select 'GitHub' Username: (Enter your GitHub username) Password: (Enter your GitHub password). Repository users will need to have the Git LFS command-line client installed, or a Git LFS aware GUI client such as Sourcetree. Fun fact: Steve Streeting, the Atlassian developer who invented Sourcetree, is also a major contributor to the Git LFS project, so Sourcetree and Git LFS work together rather well.
If you’re a developer, you’ve most-definitely heard of Git or used it for yourself.
Git is version control software that helps teams collaborate on building software or web sites or managing other collections of information. Git, like many other pieces of software, can be operated in two ways - via a graphical user interface (GUI), or through a command line interface (CLI).
For some developers, the first instinct might be to use the command line for everything, including git, which is not a bad idea. However, we argue that using a GUI can offer advantages that you just can’t find when using only a command line interface with Git.
The Command Line
The benefits of the command line in the life of a developer are clear, especially when it comes to using Git.
1. The command line is a sort of ‘lingua franca’.
No matter what your development platform, you can use the command line to do what you want. Relatedly, if you look for help with Git online, you’ll probably find directions for the command line.
2. The command line lets you automate your Git work.
With a simple script you can schedule git commands automatically, letting you do things like update a remote server at exactly 3:00am every single day.
3. The command line is your only option for certain tasks.
Pydev virtualenv. If you need to do something like SSH tunnel into remote servers and run operations, the CLI is the only interface that allows you to do it.
4. The command line lets you know exactly what you do, exactly when you do it.
Using a graphical user interface for git means relying much more on the code of other developers, and there’s no guarantee that their program will work precisely the way you intend it to.
All of these points and more support using a command line for your Git endeavors. The merits of the command line are important, but they don’t ultimately detract from the merits of GUI systems either.
Graphical User Interfaces
Graphical interfaces can perform many helpful functions for the active developer.
1. GUIs help take care of a lot of work that can be obscure.
GUIs help present the user with advanced options that they might not know exist otherwise.
2. A GUI can save you many lines of code with a drag-and-drop or the push of a button.
With fewer typed lines come fewer typos.With fewer typos come fewer time-consuming errors.
3. The barrier-of-entry for GUIs is much lower than for the command line.
Novice developers can become effective faster and can ultimately get more done.
4. Most importantly, GUIs are best able to graphically represent collaboration.
Collaboration is what Git and systems like Git are ultimately all about. Branches, changes to branches, teammate activity, and other such information is best conveyed visually. Seeing your teammates’ activity can be a helpful reminder to fetch and review the changes they’ve made since you last pulled down the code.
Ultimately, both GUI and CLI have their place - beside one another.
You should definitely become familiar with some of the more routine CLI commands, but the GUI has its advantages as well and we encourage you to give one a try (SourceTree is an excellent multi-platform option). The best approach is to use both as the needs of your project require. Through this approach the full capabilities of Git and your team can be deployed, helping us all build bigger and better things, together.
What do you think? Are you a command line user? a GUI user? Both? Have you had experiences when one or the other was particularly helpful in your Git workflow? Let us know in a comment below!
Software Developer. Aspiring Pool Lounger.