Mac Git Sourcetree



Back to list

October 5, 2019 • 3 min to read

SourceTree can be used by both Mac and Windows users on your team and makes your team talk in the same GIT lingo and use Git WorkFlow. Whereas Azure DevOps lets you work on your product in an Agile manner, with planning boards, automated flows via Pipelines, and GIT repositories. Code Hard, Ship harder 🔥. This post is also published on Medium. What is Git LFS? Git is a distributed version control system, meaning the entire history of the repository is transferred to the client during the cloning process. For projects containing large files, particularly large files that are modified regularly, this initial clone can take a huge amount of time, as every version of every file has to be downloaded by the client.

A list of git daily basis commands with Sourcetree GUI

git, sourcetree

Introduction

Remembering many git commands and also doing it in the terminal can be hard if you don't have too much practice. Graphical User Interfaces (GUI's) can make your life easier and improve your productivity. One of that is the Sourcetree.

Sourcetree is a free Git client for Windows and Mac that simplifies how you interact with your Git repositories so you can focus on coding. It enables you visualize and manage your repositories through a simple Git GUI.

In this post we will show how to run some git daily basis commands with the Sourcetree GUI.

Commmands

Log

Shows the commit logs.

Command: git log (doc)

In Sourcetree we can check the log in the History tab.

Commit

Mac Sourcetree Git Lfs

Record changes to the repository

Command: git commit -m <message> [--amend] (doc)

In Sourcetree you can achieve the same result clicking in the rounded Commit button at the top left corner, write the message in the text box and commit it by clicking the right bottom button.

Adding the amend option you will replace the tip of the current branch by creating a new commit. For doing this in Sourcetree you need select the Commit Options in the right top of the commit input box and select the option Amend last commit.

Diff

Show changes between commits, commit and working tree, etc

git diff <commit1> <commit2> (doc)

For doing the same in Sourcetree you just need select 2 commits in the History.

Stash

Use git stash when you want to record the current state of the working directory and the index, but want to go back to a clean working directory. The command saves your local modifications away and reverts the working directory to match the HEAD commit.

git stash push -m <message> (doc)

In Sourcetree for push a new stash you need select the Stash button in the top toolbar.

For apply or delete a stash you can use the Stashes menu in the sidebar.

Checkout

Switch branches or restore working tree files

git checkout -b <branch> (doc)

In Sourcetree first you need right click in the commit you want and select the Branch option.

Then you just need add the branch name and confirm.

Add Remote

Adds a remote named <name> for the repository at <url>.

git remote add <name> <url> (doc)

For adding a remote you need first create a remote repository in some host service like Github or Bitbucket. For example, after create a repository on Github you have some like that:

To add this remote in Sourcetree first you need right click on the Workspace menu in the sidebar.

Then add the remote <name> (usually defined as 'origin') and <url> in the fields and click in OK. That's it. Your new branch is ready.

Merge

Join two or more development histories together

git merge <branch> (doc)

For merge branch in Sourcetree you just need right click in the branch commit that you want and choose the option Merge.

If you have some conflict you can also fix it by right clicking in the conflicted file, select the Resolve Conflicts and pick the desired option. Resolve Using 'Mine' means you want use the solution of your current branch and Resolve Using `Theirs' means you want replace the solution for the selected commit.

Squash

Mac Git Sourcetree Online

To Squash commits you should use rebase command in interactive mode. Rebasing interactively means that you have a chance to edit the commits which are rebased. You can reorder the commits, and you can remove them (weeding out bad or otherwise unwanted patches).

Start it with the last commit you want to retain as-is:

git rebase -i <after-this-commit> (doc)

An editor will be fired up with all the commits in your current branch (ignoring merge commits), which come after the given commit. You can reorder the commits in this list to your heart’s content, and you can remove them. The list looks more or less like this:

You can squash commits changing the word pick into squash (or just s) next to it. The result would be:

For squash commits in Sourcetree first you need right click in the commit before that you want and select the option Rebase children of <commit> interactively....

Then select the commits you want squash and confirm. You can also edit the commit message if you want.

Conclusion

In this post we learned some useful git daily commands (like commit, merge, stash, etc.) using the Sourcetree GUI. It enables you visualize and manage your repositories improving your productivity and making you focus on what matters: coding.

Mac sourcetree git flow

If you have some suggestion please let me know commenting below or submitting a PR for this post :).

Mac Git Sourcetree Tutorial

Something Missing?

This project is open-source, so if something is missing or if you found some part confusing, please submit a pull-request in theGithubrepository for this post with your suggestions for improvement. It is a simple and effective way to contribute to the web development community.

Comments

Git
  • Using the Client you get on top of the tasks you are working at. You don't have a single chance to miss anything. Get updates associated with your code on the fly.

  • Track your progress visually. Review informative branching diagrams and achieve team objectives keeping up the good job.

  • SourceTree is compatible with two popular OS, so you can harness the power of Git no matter of your preferences (Windows or Mac).

  • Working with Git properly requires extensive knowledge. Learn from detailed tutorials throwing light at merging, branching, and many more aspects.

  • Your team can keep an eye on big data assets from a single location thanks to SourceTree support of Git Large File Support.

  • You don't need to leave the SourceTree to find branches, commits, and file changes, do it within the app.

  • SourceTree and out-of-the-box git-flow branching allows you to keep the repositories clutter-free, which facilitates high-capacity development.

  • You will like the interactive rebase tool the SourceTree offers. Use it to make commits cleaner and clearer.

  • Manage your projects smarter with Submodules. Group them, set dependencies, and do other helpful things.

Mac Git Sourcetree 使い方


  • Find and make copies of remote repositories via a user-friendly SourceTree interface.