Difference between revisions of "Development/Tutorials/Git/GitQuickStart"

Jump to: navigation, search
(Pushing your changes)
m (Tell ssh to use this key: Note that this is the private key.)
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
 
== Getting the sources from git ==
 
== Getting the sources from git ==
 
* head over to https://projects.kde.org/projects . There you'll see a long list with all the projects hosted on KDE git.
 
* head over to https://projects.kde.org/projects . There you'll see a long list with all the projects hosted on KDE git.
 
* find the project you are interested in, and click the link, e.g. to Attica
 
* find the project you are interested in, and click the link, e.g. to Attica
 
* on the Attica project page, go to the repository page. There you will find the clone command.
 
* on the Attica project page, go to the repository page. There you will find the clone command.
* Execute this clone command and you'll get a copy of the sources: $ git clone git://anongit.kde.org/attica
+
* Execute this clone command and you'll get a copy of the sources:
 
+
    $ git clone git://anongit.kde.org/attica
  
 
== Pushing your changes ==
 
== Pushing your changes ==
Line 37: Line 36:
 
=== Tell ssh to use this key ===
 
=== Tell ssh to use this key ===
  
* put the following in your ~/.ssh/config :
+
* put the following in your ~/.ssh/config (note that id_rsa.kde is your private key, with default name id_rsa):
  
 
   Host git.kde.org
 
   Host git.kde.org
 
     User git
 
     User git
 
     IdentityFile ~/.ssh/id_rsa.kde
 
     IdentityFile ~/.ssh/id_rsa.kde
 +
 +
=== Commit changes ===
 +
 +
* set your git identity
 +
  $ git config --global user.email "you@example.com"
 +
  $ git config --global user.name "Your Name"
 +
 +
* add the changed file(s):
 +
  $ git add <filename(s)>
 +
 +
* run git commit:
 +
  $ git commit -m "commit message"
 +
 +
* now you should be able to push your changes to the central git repository:
 +
  $ git push

Revision as of 09:04, 21 May 2013

Contents

Getting the sources from git

  • head over to https://projects.kde.org/projects . There you'll see a long list with all the projects hosted on KDE git.
  • find the project you are interested in, and click the link, e.g. to Attica
  • on the Attica project page, go to the repository page. There you will find the clone command.
  • Execute this clone command and you'll get a copy of the sources:
   $ git clone git://anongit.kde.org/attica

Pushing your changes

If you followed the steps above, you now have a clone of the git repository.

In order to be able to commit your changes, you need

  • tell git to push to git.kde.org, instead of anongit.kde.org
  • to setup a ssh key for authentication
  • tell ssh to use that key for git.kde.org

In the following we go through this step by step

Telling git to push to git.kde.org

Above, we got the sources from anongit.kde.org. These are mirrors of git.kde.org and should for performance reasons be used for obtaining the sources. But for committing git.kde.org has to be used.

This is done by putting the following into ~/.gitconfig:

 [url "git@git.kde.org:"]
     pushInsteadOf = git://anongit.kde.org/


Setting up ssh keys for authentication

  • create a set of keys to use using ssh-keygen, and name the key e.g. id_rsa.kde.
  • log in to https://identity.kde.org/
  • go to "Profile" -> "Edit" -> "Edit public ssh keys"
  • upload the public key you just created

Tell ssh to use this key

  • put the following in your ~/.ssh/config (note that id_rsa.kde is your private key, with default name id_rsa):
 Host git.kde.org
   User git
   IdentityFile ~/.ssh/id_rsa.kde

Commit changes

  • set your git identity
  $ git config --global user.email "you@example.com"
  $ git config --global user.name "Your Name"
  • add the changed file(s):
  $ git add <filename(s)>
  • run git commit:
  $ git commit -m "commit message"
  • now you should be able to push your changes to the central git repository:
  $ git push

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal