Infrastructure/Git: Difference between revisions

From KDE Community Wiki
Line 38: Line 38:
=Git Recipes=
=Git Recipes=
Brief recipes for common use cases.
Brief recipes for common use cases.
== Working with stable branches ==
For kdelibs, kdepimlibs and kde-workspace, the remote stable branches are named as follows:
origin/KDE/4.6
For these modules, to set up a local stable branch to track the remote stable branch:
git branch --track KDE/4.6 origin/KDE/4.6
git checkout KDE/4.6
To then push changes to the remote stable branch:
git push origin KDE/4.6:KDE/4.6
In other projects the remote stable branches are named as follows:
origin/4.6
For these modules, to set up a local stable branch to track the remote stable branch:
git branch --track 4.6 origin/4.6
git checkout KDE/4.6
To then push changes to the remote stable branch:
git push origin 4.6:4.6
=== Cherry Picking ===
When cherry picking between stable and unstable branches, use the following form:
git cherry-pick -e -x <original-commit>
The -e will allow you to edit the commit message to add any extra details and to change the BUG/CCBUG/FIXED-IN messages.
The -x will automatically add the original commit number to teh end of teh commit message to enable better tracing and to simplify merging.


=Git Tutorials=
=Git Tutorials=

Revision as of 14:13, 10 March 2011

This is the hub page for all information about the use of Git by KDE.

This page is a work in progress where all new Git material is being organised. Most of these sections will eventually be moved to their own pages. Feel free to add stuff.

External Git Resources

Links to useful external sites about Git

Official Documentation

Git for SVN Users

Tutorials

Cheat Sheets

Git Policies

KDE policies on Git. More generic development policies go elsewhere.

Git Configuration

How to set up Git for use in KDE.

URL Renaming

Instead of having to remember and type in the different full git addresses for pulling and pushing, we recommend you add the following to your Git User COnfiguration (~/.gitconfig):

[url "git://anongit.kde.org/"]
    insteadOf = kde:
[url "[email protected]:"]
    pushInsteadOf = kde:

RSA Key fingerprint for git.kde.org

c8:45:ba:89:85:11:78:b5:a4:09:d9:31:f6:7f:7c:79

Git Recipes

Brief recipes for common use cases.

Working with stable branches

For kdelibs, kdepimlibs and kde-workspace, the remote stable branches are named as follows:

origin/KDE/4.6

For these modules, to set up a local stable branch to track the remote stable branch:

git branch --track KDE/4.6 origin/KDE/4.6
git checkout KDE/4.6

To then push changes to the remote stable branch:

git push origin KDE/4.6:KDE/4.6

In other projects the remote stable branches are named as follows:

origin/4.6

For these modules, to set up a local stable branch to track the remote stable branch:

git branch --track 4.6 origin/4.6
git checkout KDE/4.6

To then push changes to the remote stable branch:

git push origin 4.6:4.6

Cherry Picking

When cherry picking between stable and unstable branches, use the following form:

git cherry-pick -e -x <original-commit>

The -e will allow you to edit the commit message to add any extra details and to change the BUG/CCBUG/FIXED-IN messages.

The -x will automatically add the original commit number to teh end of teh commit message to enable better tracing and to simplify merging.

Git Tutorials

More in-depth instructions in using Git


Documentation Changes

Existing Pages For Review

Existing KDE pages about Git, SVN, and/or building KDE that need to be revised. When revising pages try to split the generic development and revision control policies separate from Git specific stuff. Do not refer to "the KDE Git Repository" but instead the "KDE Code Repository". Lots of small simple pages that are less daunting to newbies and can be linked to from multiple locations are preferred to massive walls of text.

On community.kde.org:

On techbase.kde.org:

There are also numerous other pages referring to "the KDE SVN/subversion repositories" which should be replaced with the generic "KDE code repositories".

There are also numerous translated pages which will need to be updated once the original pages are completed.

New Page Structure

For Deletion

The following pages can now be deleted: