From: Matthias Urlichs Date: Tue, 12 Jul 2005 07:29:33 GMT Subject: [PATCH] document CVS vs. git tags Message-ID: <20050712072933.GA28506@kiste.smurf.noris.de> CVS uses tags for lots of things. Git doesn't. Document that, so people may understand. diff --git a/Documentation/cvs-migration.txt b/Documentation/cvs-migration.txt --- a/Documentation/cvs-migration.txt +++ b/Documentation/cvs-migration.txt @@ -230,3 +230,33 @@ that contain this changed "if" statement [ Side note. This option is called "--pickaxe-all" because -S option is internally called "pickaxe", a tool for software archaeologists.] + + + +Tagging, Branching and Merging +------------------------------ + +In CVS, you need tags for three different (and conflicting) use cases: + +* Mark the state of you repository at a given point in time. + + "This is version 0.2." + +* Name a branch, i.e. semi-separate line of development. + + "I'm now working on what's going to be version 0.3." + +* Remember where you last merged from so that you won't mess up your + changes later. + + "Did we integrate that important bugfix from 0.2.1 into 0.3 yet?" + + +Git has different features for each of these uses. + +* You mark the current (actually, last-checked-in) state with "git tag". + +* You start a new branch with "git checkout -b ". + +* Git keeps track of what-got-merged-to-where internally. +