Development/Tutorials/Git/GitQuickStart: Difference between revisions

From KDE TechBase
m (Added link to help generating the SSH key)
 
(8 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.
Line 30: Line 29:
=== Setting up ssh keys for authentication ===
=== 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.
* create a set of keys to use using ssh-keygen, look [http://techbase.kde.org/Contribute/Get_a_Contributor_Account#Generating_the_SSH_keys here] for help.
* log in to https://identity.kde.org/
* log in to https://identity.kde.org/
* go to "Profile" -> "Edit" -> "Edit public ssh keys"
* go to "Profile" -> "Edit" -> "Edit public ssh keys"
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
Line 43: Line 42:
     IdentityFile ~/.ssh/id_rsa.kde
     IdentityFile ~/.ssh/id_rsa.kde


=== Commit changes ===
* set your git identity
  $ git config --global user.email "[email protected]"
  $ 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:
* now you should be able to push your changes to the central git repository:
   $ git push
   $ git push

Latest revision as of 12:51, 17 July 2013

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 "[email protected]:"]
     pushInsteadOf = git://anongit.kde.org/


Setting up ssh keys for authentication

  • create a set of keys to use using ssh-keygen, look here for help.
  • 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 "[email protected]"
  $ 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