\subsection*{B\+A\+S\+I\+C G\+I\+T C\+O\+M\+M\+A\+N\+D\+S}

\begin{DoxyVerb}git add .
    git commit -a
\end{DoxyVerb}


\subsection*{B\+A\+S\+I\+C Configuration}

make sure to do\+: \begin{DoxyVerb}    git config --global merge.ff false  
    git config merge.ff false  
\end{DoxyVerb}


\subsection*{Remote Branches}

To list all remote branches use\+: \begin{DoxyVerb}    git-branch -a
\end{DoxyVerb}


To checkout a remote branch initially use\+: \begin{DoxyVerb}    git-checkout -b <branchname> origin/<branchname>
\end{DoxyVerb}


Once you have done this, it will be a local branch, too. Following remote branches should exist\+: \begin{DoxyVerb}    master
\end{DoxyVerb}


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)

\begin{DoxyVerb}    debian
\end{DoxyVerb}


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 master. (see config option above)

\subsection*{Local branches}

You should always make your own feature branch with\+: \begin{DoxyVerb}    git-checkout -b <feature-branch-name>
\end{DoxyVerb}


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

To merge a branch use (no-\/fastforward)\+: \begin{DoxyVerb}    git-merge --no-ff <branchname>
\end{DoxyVerb}


If you already did some commits, but want them in a branch, you can do\+: \begin{DoxyVerb}    git-branch foo  
    git reset HEAD^^  (for 2 commits back)  
    git reset origin/master  

    git-ref-log # recover
\end{DoxyVerb}


\subsection*{Github}

When doing merge requests our \href{http://build.libelektra.org:8080}{\tt buildserver} will build authorized users. If you are not yet authorized following question will be asked (by user markus2330)\+: \begin{DoxyVerb}    Can one of the admins verify if this patch should be build?
\end{DoxyVerb}


Then one of the admins\+:
\begin{DoxyItemize}
\item fberlakovich
\item manuelm
\item markus2330
\item beku need to confirm by saying\+: .$\ast$add+to+whitelist.$\ast$ or if just the pull request should be checked\+: .$\ast$build+allow.$\ast$ or if just a single build of the mergerequest should be started\+: jenkins build please or if the bindings job should be started\+: jenkins build bindings please
\end{DoxyItemize}

If you want any configuration changes, please contact {\ttfamily Markus Raab $<$elektra@markus-\/raab.\+org$>$}. 