= INTRODUCTION =

== BASIC GIT COMMANDS ==

git add .
git commit -a

== BASIC Configuration ==

make sure to do:
git config --global merge.ff false
git config merge.ff false

== Remote Branches ==

To list all remote branches use:
 git-branch -a

To checkout a remote branch initially use:
 git-checkout -b <branchname> origin/<branchname>

Once you have done this, it will be a local branch, too.
Following remote branches should exist:

 master

This is the development branch. Please try
to not work directly on it, but instead
you should use feature branches. So the
only commits on master should be non-fastforward
merges from features branches. Commits on
master should always compile and all test
cases should pass successfully.
(see config option above)

 release

Once the master is ready to be released,
it should be merged to the release branch
with --no-ff. So on the release branch
there are only merges from master.
(see config option above)

 debian

Is the branch to be used to build debian
packages. It additionally contains the
debian folder. Only debian related commits
should be on the debian branch - otherwise
it should only contain --no-ff merges from
release.  (see config option above)

== Local branches ==

You should always make your own feature branch with:
git-checkout -b <feature-branch-name>

On this branch it is not so important that every
commit compiles or all test cases run.

To merge a branch use (no-fastforward):
git-merge --no-ff <branchname>

If you already did some commits, but want them in a branch,
you can do:
git-branch foo
git reset HEAD^^  (für 2 commits zurück oder)
git reset origin/master

git-ref-log # recover



= MIGRATION =

This git folder was imported initially with the command:
git svn clone -T trunk -t tags -b unstable https://svn.libelektra.org/svn/elektra

then every remote branch (git branch -a) was checked out using:
git checkout -b $BRANCH $BRANCH

== OTHER TRY ==

(lead to elektra-history)

git svn clone --authors-file=/home/markus/Projekte/Elektra/current/doc/GIT_AUTHORS --prefix=svn/ -T trunk -t tags -b unstable https://svn.libelektra.org/svn/elektra


git svn-abandon-fix-refs
git svn-abandon-cleanup

(nice authors, branches and tags.. but unstable branch missing!)

