Development/Git: Difference between revisions

    From KDE TechBase
    (Just redirect page of build.)
    (74 intermediate revisions by 10 users not shown)
    Line 1: Line 1:
    <languages />
    <translate>
    <!--T:1-->
    This is the hub page for all information about the use of Git by KDE.
    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.
    == KDE and Git == <!--T:3-->


    =External Git Resources=
    <!--T:4-->
    Links to useful external sites about Git
    This section provides details on using the KDE Git infrastructure.  This is intended for use by KDE developers to find out how KDE uses Git and how to set up Git for use with KDE.
     
    <!--T:5-->
    The [http://community.kde.org/Sysadmin/GitKdeOrgManual KDE Git System Administrators Manual] is a useful resource for more details on the technical implementation of the KDE Git infrastructure.
     
    <!--T:91-->
    For more information on how the KDE Git Repositories are organized, please see the [[Getting_Started/Sources|Sources]] page or the [https://projects.kde.org/projects KDE Git Projects] page.
     
    <!--T:92-->
    Please note that some KDE modules are still using SVN, for more details read the [[Getting_Started/Sources/Using_Subversion_with_KDE|Using Subversion with KDE]] page.


    ==Official Documentation==
    === KDE Git Configuration === <!--T:6-->
    * http://git-scm.com/documentation


    ==Git for SVN Users==
    <!--T:7-->
    * http://git-scm.com/course/svn.html
    How to configure Git for use with the KDE infrastructure.


    ==Tutorials==
    <!--T:8-->
    Please see the [[Special:myLanguage/Development/Git/Configuration|Git Configuration page]].


    ==Cheat Sheets==
    === KDE Git Policies === <!--T:10-->
    * http://cheat.errtheblog.com/s/git


    =Git Policies=
    <!--T:11-->
    KDE policies on Git.  More generic development policies go elsewhere.
    KDE policies on Git.  More generic development policies go elsewhere.


    =Git Configuration=
    <!--T:93-->
    No formal workflow policy currently exists, but a number of draft proposals have been made:
    * [[Development/Git/Simple_Workflow]]
    * [[Development/Git/Feature_Branch_Workflow]]
    * [[Development/Tutorials/Git/Feature_Development_Workflow]]
    * http://community.kde.org/Frameworks/Git_Workflow


    How to set up Git for use in KDE.
    <!--T:94-->
    The SVN Commit Policy is being reviewed to be replaced with a new Commit Policy applying to both SVN and Git:
    * [[Policies/Commit Policy]]


    === URL Renaming ===
    === KDE Git Recipes === <!--T:12-->


    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):
    <!--T:13-->
    Short recipes for using Git with the KDE infrastructure.


    [url "git://anongit.kde.org/"]
    <!--T:14-->
        insteadOf = kde:
    Please see the [[Special:myLanguage/Development/Git/Recipes|Git Recipes page]].
    [url "[email protected].org:"]
        pushInsteadOf = kde:


    === RSA Key fingerprint for git.kde.org===
    === KDE Git Tutorials === <!--T:16-->
    c8:45:ba:89:85:11:78:b5:a4:09:d9:31:f6:7f:7c:79


    =Git Recipes=
    <!--T:17-->
    Brief recipes for common use cases.
    More in-depth instructions in using Git.


    === Working with stable branches ===
    <!--T:18-->
    * [[Special:myLanguage/Development/Tutorials/Git/GitQuickStart|A quick step-by-step guide for getting started]]


    For kdelibs, kdepimlibs and kde-workspace, the remote stable branches are named as follows:
    <!--T:19-->
    * [[Special:myLanguage/Development/Tutorials/Git/Create a patch|Creating a patch]]


    origin/KDE/4.6
    <!--T:20-->
    Please help filling this section by
    * checking the links at the bottom of the page and see which still have valid content
    * write tutorials yourself


    For these modules, to set up a local stable branch to track the remote stable branch:
    == External Git Resources == <!--T:21-->


    git branch --track KDE/4.6 origin/KDE/4.6
    <!--T:22-->
    git checkout KDE/4.6
    Links to useful external sites about Git


    To then push changes to the remote stable branch:
    === Official Documentation === <!--T:23-->


    git push origin KDE/4.6:KDE/4.6
    <!--T:24-->
    * [http://git-scm.com/documentation Links to git official documentation]


    In other projects the remote stable branches are named as follows:
    === Git for SVN Users === <!--T:25-->


    origin/4.6
    <!--T:26-->
    * [http://git-scm.com/course/svn.html The git-svn Crash Course]


    For these modules, to set up a local stable branch to track the remote stable branch:
    === Git books === <!--T:27-->


    git branch --track 4.6 origin/4.6
    <!--T:28-->
    git checkout KDE/4.6
    * [http://progit.org/book/ Pro Git] - An easy to understand book on git (CC licensed).


    To then push changes to the remote stable branch:
    <!--T:30-->
    * [http://book.git-scm.com/ The git community book], also as a [http://book.git-scm.com/book.pdf pdf]


    git push origin 4.6:4.6
    === Tutorials === <!--T:32-->


    === Cherry Picking ===
    <!--T:33-->
    * [http://www-cs-students.stanford.edu/~blynn/gitmagic/ Git Magic] - A good intro to git (in several languages!)


    When cherry picking between stable and unstable branches, use the following form:
    <!--T:35-->
    *[http://tom.preston-werner.com/2009/05/19/the-git-parable.html The Git Parable]
    - Essential reading if you want to truly understand git.


    git cherry-pick -e -x <original-commit>
    <!--T:37-->
    * [http://www.gitcasts.com/ Git Screencasts]


    The -e will allow you to edit the commit message to add any extra details and to change the BUG/CCBUG/FIXED-IN messages.
    * [http://try.github.io/ tryGit] A 15 minute online interactive tutorial


    The -x will automatically add the original commit number to teh end of teh commit message to enable better tracing and to simplify merging.
    === Cheat Sheets === <!--T:38-->


    =Git Tutorials=
    <!--T:39-->
    More in-depth instructions in using Git
    * [http://cheat.errtheblog.com/s/git Quick reference]


    <!--T:40-->
    * [http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html Illustrated git cheat sheet]
    (broken image, get it from [[Media:Zrusin-git-cheat-sheet-medium.png]])


    = Documentation Changes =
    = Documentation Changes = <!--T:42-->


    == Existing Pages For Review ==
    == KDE Documentation Review == <!--T:43-->
    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.


    === Existing Pages For Review === <!--T:44-->
    <!--T:45-->
    Existing KDE pages about Git, SVN, and/or buildinga 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.
    <!--T:46-->
    Keep:
    <!--T:47-->
    * [[Special:myLanguage/Development/Tutorials/Git/Basics|Basics]]
    <!--T:48-->
    * [[Special:myLanguage/Development/Tutorials/Git/git-svn|Git-svn]]
    <!--T:49-->
    * [[Special:myLanguage/Development/Tutorials/Git/kde-qt| Kde-qt]]
    <!--T:50-->
    * [[Special:myLanguage/Getting Started/Sources/Amarok Git Tutorial| The Amarok Git Tutorial]]
    <!--T:51-->
    On community.kde.org:
    On community.kde.org:
    * http://community.kde.org/Sysadmin/GitKdeOrgManual
    * http://community.kde.org/20110213_GitWorkflowAgenda
    * http://community.kde.org/20110213_GitWorkflowAgenda/StevesIdea


    <!--T:52-->
    * [http://community.kde.org/Sysadmin/GitKdeOrgManual Git-KDE Manual]
    <!--T:53-->
    * [http://community.kde.org/20110213_GitWorkflowAgenda Git Workflow Agenda]
    <!--T:54-->
    * [http://community.kde.org/20110213_GitWorkflowAgenda/StevesIdea Git Workflow Agenda, Steve's Idea]
    <!--T:55-->
    On techbase.kde.org:
    On techbase.kde.org:
    * [[Getting Started]]
    * [[Getting Started/Build/KDE4]]
    * [[Getting Started/Build/KDE4.x]]
    * [[Getting Started/Build/KDE4/Prerequisites]]
    * [[Getting Started/Build/KDE4/Windows/subversion]]
    * [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts]]
    * [[Getting_Started/Build/kdesrc-build]]
    * [[Getting Started/Sources/Anonymous SVN]]
    * [[Getting_Started/Sources/Using_Subversion_with_KDE]]
    * [[Getting Started/Sources/Amarok Git Tutorial]]
    * [[Getting_Started/Set_up_KDE_4_for_development]]
    * [[Getting_Started/Using_an_IDE_with_KDE4]]
    * [[Policies/SVN_Commit_Policy]]
    * [[Policies/SVN_Guidelines]]
    * [[Development/Tools]]
    * [[Development/Tutorials/Git]]
    * [[Development/Tutorials/Git/BestPractices]]
    * [[Development/Tutorials/Git/Intermediate]]
    * [[Development/Tutorials/Git/Recipes]]
    * [[Development/Tutorials/Git/Create a patch]]
    * [[Development/Tutorials/Git/git-svn]]
    * [[Development/Tutorials/Git/Basics]]
    * [[Development/Tutorials/Git/KdeOnGit]]
    * [[Development/Tutorials/Git/kde-qt]]
    * [[Development/Tutorials/Git/Pushing]]
    * [[Development/Tutorials/Git/decoding-git]]
    * [[Projects/rekonq/Git_with_rekonq_HowTo]]
    * [[Projects/Related/Subversion]]
    * [[Contribute/Get a SVN Account]]
    * [[Contribute/First Steps with your KDE SVN Account]]


    <!--T:56-->
    * [[Special:myLanguage/Getting Started|Getting Started]]
    <!--T:59-->
    * [[Special:myLanguage/Getting Started/Build/KDE4/Prerequisites|Prerequisites]]
    <!--T:60-->
    * [[Special:myLanguage/Getting Started/Build/KDE4/Windows/subversion|Subversion on Windows]]
    <!--T:61-->
    * [[Special:myLanguage/Getting_Started/Increased_Productivity_in_KDE4_with_Scripts|Increase Productivity with Scripts]]
    <!--T:62-->
    * [[Special:myLanguage/Getting_Started/Build/kdesrc-build|Kdesrc-build]]
    <!--T:63-->
    * [[Special:myLanguage/Getting Started/Sources/Anonymous SVN|Anonymous SVN]]
    <!--T:64-->
    * [[Special:myLanguage/Getting_Started/Sources/Using_Subversion_with_KDE|Subversion with KDE]]
    <!--T:65-->
    * [[Special:myLanguage/Getting_Started/Using_an_IDE_with_KDE4|Using an IDE with KDE 4]]
    <!--T:66-->
    * [[Special:myLanguage/Policies/SVN_Commit_Policy|SVN Commit Policy]]
    <!--T:67-->
    * [[Special:myLanguage/Policies/SVN_Guidelines|SVN Guidelines]]
    <!--T:68-->
    * [[Special:myLanguage/Development/Tools|Development Tools]]
    <!--T:69-->
    * [[Special:myLanguage/Development/Tutorials/Git/Recipes|Git Recipes]]
    <!--T:70-->
    * [[Special:myLanguage/Development/Tutorials/Git/decoding-git|Decoding Git]]
    <!--T:71-->
    * [[Special:myLanguage/Projects/rekonq/Git_with_rekonq_HowTo|Git with Rekonq How-to]]
    <!--T:72-->
    * [[Special:myLanguage/Projects/Related/Subversion|Subversion]]
    <!--T:73-->
    * [[Special:myLanguage/Projects/MovetoGit|Move to Git]]
    <!--T:74-->
    * [[Special:myLanguage/Projects/MoveToGit/StepsToMove|Steps to Move]]
    <!--T:75-->
    * [[Special:myLanguage/Contribute/Get a SVN Account|Get a SVN Account]]
    <!--T:76-->
    * [[Special:myLanguage/Contribute/First Steps with your KDE SVN Account|First Steps with your KDE SVN Account]]
    <!--T:77-->
    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 other pages referring to "the KDE SVN/subversion repositories" which should be replaced with the generic "KDE code repositories".


    <!--T:78-->
    There are also numerous translated pages which will need to be updated once the original pages are completed.
    There are also numerous translated pages which will need to be updated once the original pages are completed.


    == New Page Structure ==
    === New Page Structure === <!--T:79-->
     
    <!--T:80-->
    * [[Special:myLanguage/Getting_Started|Getting Started]]
     
    <!--T:81-->
    * [[Special:myLanguage/Getting_Started/Build|Getting_Started/Build]]
     
    <!--T:82-->
    * [[Special:myLanguage/Getting_Started/Build/Environment|Getting_Started/Build/Environment]]
     
    <!--T:83-->
    * [[Special:myLanguage/Getting_Started/Build/Requirements|Getting_Started/Build/Requirements]]
     
    <!--T:84-->
    * [[Special:myLanguage/Getting_Started/Build/Qt|Getting_Started/Build/Q]]
     
    <!--T:85-->
    * [[Special:myLanguage/Getting_Started/Build/KdeSupport|Getting_Started/Build/KdeSupport]]
     
    <!--T:86-->
    * [[Special:myLanguage/Getting_Started/Build/Windows|Getting_Started/Build/Windows]]
     
    <!--T:87-->
    * [[Special:myLanguage/Getting_Started/Build/Mac_OS_X|Getting_Started/Build/Mac_OS_X]]


    * [[Getting_Started]]
    <!--T:88-->
    * [[Getting_Started/Build]]
    * [[Special:myLanguage/Getting_Started/Run/Shell|Getting_Started/Run/Shell]]
    * [[Getting_Started/Build/Environment]]
    * [[Getting_Started/Build/Requirements]]
    * [[Getting_Started/Build/Qt]]
    * [[Getting_Started/Build/KdeSupport]]
    * [[Getting_Started/Build/Windows]]
    * [[Getting_Started/Build/Mac_OS_X]]
    * [[Getting_Started/Run]]
    * [[Getting_Started/Run/Shell]]
    * [[Getting_Started/Run/Nested_Session]]
    * [[Getting_Started/Run/Full_Session]]


    == For Deletion ==
    <!--T:89-->
    * [[Special:myLanguage/Getting_Started/Run/Nested_Session|Getting_Started/Run/Nested_Session]]


    The following pages can now be deleted:
    <!--T:90-->
    * [[Getting_Started/Build/KDE4/Generic]]
    * [[Special:myLanguage/Getting_Started/Run/Full_Session|Getting_Started/Run/Full_Session>]]
    * [[Build_requirements]]
    </translate>
    * [[Build/Stories]] and child pages - Belong somewhere else, either distro wiki or community.k.o
    * [[Build/KDE4/Errors]]
    * [[Getting_Started/Build/FAQ]]
    * [[Getting_Started/Build/Coexisting_Versions]]
    * [[Development_user]]
    * [[Getting_Started/Build/KDE4_Alpha_1]]
    * [[Getting_Started/Build/KDE4_Alpha_2]]
    * [[Getting_Started/Build/compilationfaq.html]]
    * [[Getting_Started/working_kdesrcbuildrc]]
    * [[Getting_Started/working_kdesrcbuildrc/4.6]]
    * [[Getting_Started/working_kdesrcbuildrc/4.6/Kubuntu_10.04_qt-copy]]
    * [[Getting_Started/working_kdesrcbuildrc/4.6/]]
    * [[Getting_Started/working_kdesrcbuildrc/4.6//Kubuntu_10.04_qt-copy]]
    * [[Getting_Started/Build/KDE4/Mac_OS_X_10.5_issues]]
    * [[Getting_Started/Build/KDE4/Cygwin]]
    * [[Getting_Started/Distributions/openSUSE_Unstable]]
    * http://techbase.kde.org/Growth_hormone_human_prescription_-_buy_hgh_191_-_hgh_injections_in_coppell_texas
    * http://techbase.kde.org/History_of_soma_drug_-_shipping_soma_to_louisiana_-_buy_soma_com

    Revision as of 23:58, 22 November 2013

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

    KDE and Git

    This section provides details on using the KDE Git infrastructure. This is intended for use by KDE developers to find out how KDE uses Git and how to set up Git for use with KDE.

    The KDE Git System Administrators Manual is a useful resource for more details on the technical implementation of the KDE Git infrastructure.

    For more information on how the KDE Git Repositories are organized, please see the Sources page or the KDE Git Projects page.

    Please note that some KDE modules are still using SVN, for more details read the Using Subversion with KDE page.

    KDE Git Configuration

    How to configure Git for use with the KDE infrastructure.

    Please see the Git Configuration page.

    KDE Git Policies

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

    No formal workflow policy currently exists, but a number of draft proposals have been made:

    The SVN Commit Policy is being reviewed to be replaced with a new Commit Policy applying to both SVN and Git:

    KDE Git Recipes

    Short recipes for using Git with the KDE infrastructure.

    Please see the Git Recipes page.

    KDE Git Tutorials

    More in-depth instructions in using Git.

    Please help filling this section by

    • checking the links at the bottom of the page and see which still have valid content
    • write tutorials yourself

    External Git Resources

    Links to useful external sites about Git

    Official Documentation

    Git for SVN Users

    Git books

    • Pro Git - An easy to understand book on git (CC licensed).

    Tutorials

    • Git Magic - A good intro to git (in several languages!)

    - Essential reading if you want to truly understand git.

    • tryGit A 15 minute online interactive tutorial

    Cheat Sheets

    (broken image, get it from Media:Zrusin-git-cheat-sheet-medium.png)

    Documentation Changes

    KDE Documentation Review

    Existing Pages For Review

    Existing KDE pages about Git, SVN, and/or buildinga 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.

    Keep:

    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