< Infrastructure Revision as of 23:36, 11 March 2011 (view source)Odysseus (talk | contribs) (→Cherry Picking)← Older edit Revision as of 09:36, 18 March 2011 (view source) Odysseus (talk | contribs) (→Git Configuration)Newer edit → Line 22: Line 22: =Git Configuration= =Git Configuration= −How to set up Git for use in KDE.+Please see the [Configuration|Configuration] page. − −=== Configuration Levels === − −Your Git configuration operates at 3 levels: −* System −* User −* Repository − −The System Level sets up global Git configuration defaults for every User and Repository on your system. We will ignore these for our purposes as they are usually blank. − −The User Level sets up the default configuration for a particular User to apply to all repositories used by that User. Settings made at this level will always override any matching System Level settings. The User Configuration is stored in your ~/.gitconfig file. − −The Repository Level sets up the configuration for a particular Repository clone. Settings made at this level will always override any matching User or System Level settings. The Repository Configuration is stored in the repository .git/config file. − −The recommended KDE Git Configuration will set some settings at a user level and some at a repository level. You may wish to change the level some settings apply at however as we will assume you only or mostly use Git for developing 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= =Git Recipes= Revision as of 09:36, 18 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. Contents 1 External Git Resources 1.1 Official Documentation 1.2 Git for SVN Users 1.3 Tutorials 1.4 Cheat Sheets 2 Git Policies 3 Git Configuration 4 Git Recipes 4.1 Working with remote branches 4.2 Working with stable branches 4.3 Cherry Picking 4.3.1 Common Options 5 Git Tutorials 6 Documentation Changes 6.1 Existing Pages For Review 6.2 New Page Structure 6.3 For Deletion External Git Resources Links to useful external sites about Git Official Documentation http://git-scm.com/documentation Git for SVN Users http://git-scm.com/course/svn.html Tutorials Cheat Sheets http://cheat.errtheblog.com/s/git Git Policies KDE policies on Git. More generic development policies go elsewhere. Git Configuration Please see the [Configuration|Configuration] page. Git Recipes Brief recipes for common use cases. Working with remote branches Remote branches are branches created on the main KDE repository. These may be a stable branch that you need to do bugfixes on, i.e. the 4.6 release, or a feature branch based on master. git branch --track <local-branch> <remote-branch> git checkout <local-branch> git push origin <local-branch>:<remote-branch> Working with stable branches For kdelibs, kdepimlibs, kde-runtime, kate, konsole 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 4.6 To then push changes to the remote stable branch: git push origin 4.6:4.6 Cherry Picking Cheery picking is a way to copy a single commit from one branch to another. When cherry picking between stable and unstable branches, use the following form: git cherry-pick -e -x <original-commit> Common Options -e will allow you to edit the commit message to add any extra details and to change the BUG/CCBUG/FIXED-IN messages. -x will automatically add the original commit number to the end of the commit message to enable better tracing and to simplify merging. Only do this if the original commit was already published in a public repository, e.g. your are forward porting or back porting the patch. -n will cherry-pick the changes but not commit them to the new branch. This is very use full if you need to do further work on a commit. 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: http://community.kde.org/Sysadmin/GitKdeOrgManual http://community.kde.org/20110213_GitWorkflowAgenda http://community.kde.org/20110213_GitWorkflowAgenda/StevesIdea 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 Infrastructure/Tools Infrastructure/Tutorials/Git Infrastructure/Tutorials/Git/BestPractices Infrastructure/Tutorials/Git/Intermediate Infrastructure/Tutorials/Git/Recipes Infrastructure/Tutorials/Git/Create a patch Infrastructure/Tutorials/Git/git-svn Infrastructure/Tutorials/Git/Basics Infrastructure/Tutorials/Git/KdeOnGit Infrastructure/Tutorials/Git/kde-qt Infrastructure/Tutorials/Git/Pushing Infrastructure/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 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 Getting_Started Getting_Started/Build 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 The following pages can now be deleted: Getting_Started/Build/KDE4/Generic Build_requirements 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 Retrieved from "https://community.kde.org/index.php?title=Infrastructure/Git&oldid=51921" Content is available under Creative Commons License SA 4.0 unless otherwise noted.