Find Questions…

Close ×
First time here? Check out the FAQ!

Getting started with SourceTree

badlydrawnrob asked this question · 101 karma ·

I'm having a little trouble understanding how SourceTree works ...

I've checked docs and answers, but there's not much in the way entry-level support or tutorials. A couple of screencasts or tutorials covering beginner to intermediate features, what they do and why, and how to use them would be a massive help.

The two problems I'm having right now are:

  1. Not quite sure how the branches work, I created a branch but commits seem to be pushing to both the branch and master .. what am I doing wrong?
  2. If I clone a repository, then move the files to suit my directory structure, will those files still be synced properly? SourceTree seems to detect the files have been moved, but is there anything else I have to do?
  3. Perhaps a better explanation of using SourceTree with subversion?

Thanks,

Rob

27780 views

3 Answers:

badlydrawnrob · 101 karma ·

So I'm much more up to speed on Git now, after scouring the web for tutorials and a couple of eBooks. I still think there could be more tutorials, or a more in-depth help section for the more novice users — the interface is more complex than the likes of Gitbox and Tower (which is an equally good and bad thing, depending on how experienced you are!).

If anyone else is stuck, I've put together a pretty comprehensive set of Git bookmarks on Delicious:

updated link (Delicious Stacks are no more) https://delicious.com/evokeartdesign/git+tutorial

Hope this helps others out!

mt3 · 31 karma ·

For completeness, there are also some good tutorials and resources located at Github (a web service similar to Bitbucket, but git only).

Steve Streeting [Atlassian] · 14,675 karma ·

Yes, SourceTree does pretty much assume that you know the general principles of Git / Mercurial before you start - we don't really cover that initial ground, although once you know the basics it makes things vastly easier. If you're using Mercurial, http://hginit.com is a great introduction if you're used to Subversion. Most of the concepts apply to git too (if not the actual commands), Git just has a few extra concepts on top, so I'd still recommend starting with hginit if you've never touched a DVCS before because it's very well written - many of the Git tutorials online tend to jump in a bit deep sometimes. If you want to got straight to Git, you can look at this: http://git.or.cz/course/svn.html (although I don't think it explains things quite as well).

To try to answer your questions:

  1. Commits only go on to one branch, it's not actually possible to commit to two branches at once. Push only transmits commits, it doesn't change any content. So I'm not sure what you mean by this - 'master' is a branch, remember, just the default one. You would only combine the branches via a merge or rebase.
  2. If you move files, use the 'Add/Remove' button. Git doesn't actually track copy/move explicitly, it can just detect that it has happened retrospectively becuase of the file content. It's not perfect though, and on balance I would avoid renaming / moving files unless you really have to.
  3. See above :)

Cheers

Steve

badlydrawnrob · 101 karma ·

Thanks for the tutorial links — your right most of them online are full of command lines and tech-speak which isn't what a designer-type needs really. CSS Tricks have a couple of good screencasts but they're for Tower — I've never used any versioning tool hence the confusion.

  1. So what I'm seeing there is just the comments / commits — the working copy is whatever branch I'm using right? That's where I was getting confused. Then when I'm finished with the branch I just hit the merge button?
  2. I've been doing that, but staging them manually then comitting — I get the arrow which shows they've been moved. I've read it can be a bit buggy with Git, which seems daft as I often need to move / edit files often, at least to keep a folder structure I'm used to!

There's a few "Git for designers" tutorials out there I've read, so will re-read and try to understand the commands that SourceTree is using. I picked it because it sounds like you can work with git but push as subversion — and I'll need both depending on developers I'm working with.

Hopefully I'll get the hang of it soon ;)

Looking for something else?

Find Questions…

or Browse other questions tagged:

or Ask a Question