title: How to use a revision control system in general
body: <p>I am planning to create projects which will get a bit bigger than my projects before, so I thought it would be good to use a revision control system like svn or git to keep track of all changes, experiment a little bit with new functionalities in code without risks and so on.</p>
  
  <p>Now (besides the question whether I should use svn or git), I am asking myself "how to use" such a system in general.</p>
  
  <p>Up to now, I found vocabulary like <em>trunk</em>, <em>tags</em> and <em>branches</em> (The word <em>merging</em> appears often in that context). But I am not really sure how to really work with them. <em>Tags</em> seem to be something like release versions (if not please correct me), but I do not know what really belongs in the <em>trunk</em> or in a <em>branch</em>; when to use what etc..</p>
  
  <p>During my researches, I also found a recommendation that you should generally create a folder structure with the sub-folders branches, tags and trunk for a new project. Would you also recommend this? Or should I handle the source-code of a project a different way?</p>
  
  <p>Can somebody try to explain this to me?</p>