Very basically,
with MYCVSSITE being your current CVS-based directory, and XX the branch you're running right now.
0) Get git installed in your host, and perform some very-basic configuration.
1) Create the git clone (MYGITSITE):
git clone git://github.com/moodle/moodle.git MYGITSITE
2) Create & switch to the branch you are using under MYGITSITE:
git checkout -b MOODLE_XX_STABLE origin/MOODLE_XX_STABLE
(that's the official branch, without any modification, we won't perform changes on it)
3) Create a new branch were your customizations will happen:
git checkout -b MOODLE_XX_STABLE_custom
4) Copy your current MYCVSSITE contents to MYGITSITE, for example, using rsync (not tested):
rsync -av --exclude='*CVS*' MYCVSSITE/ MYGITSITE
5) And now, you've everything under a git controlled directory (with your changes still uncommitted, of course). So you will, for example:
- git status and/or git diff => see which files are pending to commit.
- git add and git commit => commit them (in the _custom branch).
- git diff MOODLE_XX_STABLE => See all your committed changes in the custom branch.
- git checkout MOODLE_XX_STABLE && git pull => get all the modifications in the official branch.
- git merge / rebase => get all the modifications from the official branch into your custom branch.
6) Finally note that, if your customizations are add-ons that are also in other git repositories, then you can incorporate it as documented in the Moodle Docs, and surely you won't need any _custom branch (although personally I prefer to always create it to avoid any change int the official branches.
7) Love git, in a few weeks you'll never look backwards, it's way better than CVS for any scenario (that said by somebody really reticent to changes).
From here you'll need to explore the "World of Git", because there are many ways to achieve the same, tons of configuration / behavioural options and you'll need to ask / share and find your way.
Feel free to use this as a very-very-basic-start to complete some better documentation @ Moodle Docs if you think it's a good idea.
The post is GPL, so no problems here, lol!
Hope it helps, ciao 