Werken met git en github

From Joomla! Documentation

Revision as of 07:07, 22 January 2016 by MartijnM (talk | contribs)
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎português do Brasil • ‎русский
Documentation all together tranparent small.png
Under Construction

This article or section is in the process of an expansion or major restructuring. You are welcome to assist in its construction by editing it as well. If this article or section has not been edited in several days, please remove this template.
This article was last edited by MartijnM (talk| contribs) 8 years ago. (Purge)

Introductie

Dit document geeft informatie over het bijdragen aan het Joomla! CMS met behulp van Git en Github. Als u graag op een eenvoudige wijziging (op een enkel bestand) wilt doen is het beter om deze documentatie te raadplegen: De Github UI gebruiken om een Pull Request in te dienen Als u meer complexe wijzigingen wilt doorvoeren of geïnteresseerd bent, lees dan vooral door!

Wat zijn Git en GitHub

Git is een gedistribueerd versiebeheersysteem. Het is een systeem dat wijzigingen in bestanden registreert en deze wijzigingen in een historisch bestand opslaat. U kunt altijd terug kijken in een eerdere versie van uw code en indien gewenst wijzigingen herstellen. Door het historisch archief is Git erg handig als je met veel mensen samenwerkt in hetzelfde project.

Dit is hoe GitHub gebruikt kan worden. GitHub is een website die bij het beheren van Gitprojecten op een visuele manier helpt. Als een eigenaar van een project kan je de code wijzigen en vergelijken met verschillende versies. Als een gebruiker van een project kunt u door het maken van een Pull Request een bijdrage leveren. Een Pull Request is een verzoek aan de eigenaar om wat code in het project te plaatsen. U biedt een stuk code aan (misschien de oplossing voor een bug) en hiermee vraagt u de projecteigenaar of hij deze code wilt gebruiken. Als de eigenaar het wil kan hij deze code samenvoegen (merge) in zijn project.

Joomla! gebruikt GitHub en Git om zijn code te beheren. Iedereen kan bijdragen aan de Joomla! software. De URL naar het Joomla! CMS Project op GitHub is: https://github.com/joomla/joomla-cms


Aan de slag

Aanmelden op GitHub en Git installeren

First, you will need to register at GitHub. It's free and easy to do. Just follow the provided steps.

One we are signed up, we need to install Git. The latest version of Git can be found on http://git-scm.com. Download and open the installer. Git is an CLI (Command Line Interface) program. At the start this can be confusing and a bit scary but this document will lead you through the process.

If you're not an advanced user, just run the installer and press the "next" buttons until the program is installed. Git won't damage your system. Later you can remove it just like any other program if you like.

Zodra we Git hebben geïnstalleerd kunnen we het programma genaamd "Git Bash" starten. Er zal een commandoregel geopend worden. We gaan Git onze naam en e-mailadres geven. Git zal deze gegevens gebruiken wanneer we een bijdrage leveren aan een project. Met de volgende commandos kunnen we Git deze gegevens geven±

git config --global user.name "Your name"
git config --global user.email youremail@mail.com

In the above commands, and all other commands given in this documentation, each line is a new command. So you type the fist line, press enter and then type the second line and press enter.

We are now ready to use Git and go farther with setting up our test installation.


Instellen van de testinstallatie

For our test installation we need a Web server program so that we can install and run Joomla! on our computer. There are a lot of programs that can do that such as MAMP and XAMPP. Download an install one of them.

Na de installatie van een programma als dat (in dit voorbeeld wordt MAMP gebruikt) kunnen we de laatste versie van Joomla! installeren. In ons geval is de laatste versie van Joomla! niet de stabiele versie. De laatste versie van Joomla! is de "staging branche" op GitHub. We gaan eerst GitHub wat beter uitleggen.

"Fork" en kloon Joomla!

Op GitHub kunt u verschillende projecten vinden, de zogenaamde "Repositories". In een project kunt u verschillende versies vinden. Zo'n versie heet een "branch". Joomla! heeft de volgende "branches":

  • "'Staging:"' Deze "branch" bevat de laatste bugfixes en nieuwe features van Joomla!
  • "'Master:"' Deze branche is de huidige stabiele versie van Joomla!
  • 3.5-dev This branch contains the files for Joomla! 3.5, which is not stable at this writing.

On our test location we going to use the Staging branch but if we should use this branch directly we have problem. We cannot modify this branch because we are not the owner of it. We are going to make a copy of it. On GitHub this is called a Fork. We are the owner of that copy so we can modify it. After modifying we compare our fork with the original project. Then we can make a Pull Request for the changes we've made. More about that later. You can Fork a branch by pressing the Fork button on the Joomla! CMS Github Repository. This button is located at the right top of the page.

Github-fork-button.png

Nadat we de "Fork" hebben aangemaakt kunnen we Joomla! op onze lokale server installeren. Ga naar de map waar u de bestanden van de webserver kan uitvoeren. De meeste programma's gebruiken een map als htdocs. Zodra we in deze map zitten, klik op de rechtermuis toets en klik op: "Git Bash Here". De command line zal openen op deze locatie.

Typ de volgende opdracht om de bestanden van de "Fork" van het Joomla! CMS naar uw computer te downloaden. Vervang Gebruikersnaam met de gebruikersnaam die u gebruikt op GitHub.

git clone https://github.com/username/joomla-cms.git

U zal Git moeten openen via de bovenstaande beschreven stappen om alle commando's uit te voeren die in deze documentatie worden gegeven. Onthoudt dat voor alle andere commando's in deze documentatie.

Als Git klaar is kunt u de browser starten en naar de installatie op uw localhost gaan. Meestal is de URL iets als: http://localhost/joomla-cms. U zult nu een standaard Joomla! installatie zien.

Installeer Joomla!

De installatie van Joomla! op onze lokale testinstallatie is bijna hetzelfde als een reguliere installatie. Er zijn twee kleine verschillen.

For the database settings, the password and username are default. Most often the username is root and the password is also root or there is no password. If you still can't connect to the database, look in the manual for your local Web server for the username and password.

Het laatste verschil is de laatste stap van de installatie. Normaliter moeten we de installation-map verwijderen om verder te gaan naar de backend of frontend van onze website. Voor de testinstallatie kunnen we dit overslaan en kunnen we direct naar de backend of front-end gaan. Verwijder de installation-map niet. Dit kan erg nuttig zijn bij het opnieuw installeren van Joomla!

Maak uw wijzigingen

Nu is het tijd om ons Joomla! bestand te wijzigen. Alle wijzigingen die gemaakt worden zullen worden geregistreerd door Git. Op elk moment kunt u via de commando git status zien welke bestanden gewijzigd zijn en welke niet worden "Untracked" (gemonitord). "Untracked" betekent dat het bestand op de locatie nieuw is voor Git.

Als u een vergissing heeft gemaakt of een bestand wilt herstellen, kunt u dit commando gebruiken:

git checkout path/to/file

Als u de wijzigingen die u hebt gemaakt wilt verwijderen, gebruik dan het volgende commando:

git checkout .
git clean -f -d

Het eerste commando reset alle bestanden. Het tweede verwijdert alle "untracked" bestanden en mappen.

Publish Our Changes on GitHub

"Push" de wijziging naar de "fork"

Nadat alle wijzigingen gemaakt zijn moeten we onze wijzigingen uploaden naar onze "repository" op GitHub. Hierna kunnen we een "pull request" maken met onze wijzigingen.

Het uploaden van de wijzigingen heet "push" in Git terminologie. Voordat we dat kunnen doen moeten we eerst iets anders belangrijks doen. We moeten een nieuwe "branch" aanmaken voor onze wijzigingen. (Een "branche" is een versie van ons project, weet u nog?) als we dit niet doen en we maken onze wijziging direct in de "staging branch" dan zal de eerste keer daar geen probleem mee zijn. Maar wanneer we wijzigingen voor de tweede keer maken en eerste wijzigingen zijn nog niet "gemerged" zullen al die wijzigingen ook als nieuwe wijzigingen beschouwd worden.

Dus onze eerste commando dat we uitvoeren is het creëren van een nieuwe "branche". Het voorkomt het hier boven beschreven probleem. Vervang "name-new-branche" met de naam van uw nieuwe "branche". Deze naam moet kort zijn en kan alleen kleine letters en getallen bevatten. Gebruik GEEN spaties. In plaats van spaties kan de - (minus) gebruikt worden.

git checkout -b name-new-branch

De volgende commando verteld git dat alle wijzigingen goed zijn en klaar staan om te worden "commit".

git add --all

Het volgende commando voegt onze wijziging toe aan de "branche". Vervang het bericht door een korte beschrijving van de wijzigingen die gemaakt zijn. Deze beschrijving zal de titel zijn van de "pull request" die we gaan maken.

git commit -m "description"

Het laatste commando zal de wijzigingen uploaden ("push") naar onze "fork" Vervang alstublieft name-new-branche- door de naam van de "branche" die u een paar stappen eerder gekozen heeft.

git push origin name-new-branch

Vergelijk "forks" en doe een "pull request"

Nadat onze wijziging ge"pusht" is naar GitHub kan u naar uw Joomla! CMS "fork" gaan.

Meer informatie

Omdat de "staging' versie van Joomla! op elk moment kan wijzigen is het erg nuttig om de mogelijkheid te hebben om onze "fork" up-to-date te kunnen houden. We kunnen dit doen door een "remote" toe te voegen aan onze project "fork".

git remote add upstream https://github.com/joomla/joomla-cms.git

We hebben nu een "remote" genaamd "upstream" toegevoegd. Met het volgende commando kunnen we Git laten zoeken naar nieuwe "commits" in de "staging branch" die we niet in onze "fork" hebben.

git pull upstream staging

De wijzigingen zijn nu alleen in onze lokale "fork" gemaakt. We kunnen ze met het volgende commando naar GitHub uploaden:

git push


Categorie: Bug Squad/nl Bug Squad Categorie: Ontwikkeling/nl Ontwikkeling Categorie:GitHub/nl GitHub