Development/Tutorials/Git/GitQuickStart: Difference between revisions

From KDE TechBase
No edit summary
m (Added link to help generating the SSH key)
 
(11 intermediate revisions by 4 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 15: Line 14:
* to setup a ssh key for authentication
* to setup a ssh key for authentication
* tell ssh to use that key for git.kde.org
* 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 [http://techbase.kde.org/Contribute/Get_a_Contributor_Account#Generating_the_SSH_keys 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

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