dinsdag 29 januari 2013

GITHUB voor beginners

Als je JQuery plugins ontwikkelt, moet je source code op Github staan. Eenvoudig? Neen, allesbehalve. Er is wel een mooi "Github for Windows" programma, maar die kan geen versies taggen (wat echt nodig is).

Hoe het dan wel werkt? Ga naar github.com, maak een account en klik dan op "create new repo". Kies een projectnaam ("repository name"). Zet "Initialize this repository with a README" aan, dit maakt het makkelijker om daarna het project over te nemen op je PC.

Er is nu een leeg project aangemaakt op Github, met enkel een README bestand in.

We gaan dit project nu overnemen op onze PC. Installeer hiervoor "GIT For Windows" (http://git-scm.com/download/en).

We gaan nu eerst onze SSH key aanmaken, anders kunnen we niets wijzigen op Github. Open in het Start Menu Git / Git Bash en tik:

ssh-keygen -C "name@email.com" -t rsa

Gebruik het email adres waarmee je je Github account hebt aangemaakt.

Belangrijk: sla de keyfile op in de standaard directory die wordt voorgesteld (c:/users/...). Een passphrase is niet nodig (gewoon enter drukken).

Open nu de file "id_rsa.pub" met een tekst editor. Dit is je public key. Ga naar "edit your profile" op Github en voeg de SSH key toe. Als naam heb ik "home pc" gekozen. Je moet ook je Github paswoord nog eens intkken.

Nu geven we Git een paar settings mee. Op de command prompt tik je:

GIT CONFIG --global user.name "Je naam"
GIT CONFIG --global user.email name@email.com

Daarna creƫren we de directory structuur om straks ons project in op te vangen. Zorg er voor dat je in de directory van je project staat als je dit doet.

MD github
CD github

Maak nu de directory waar je wil dat je project in terecht komt. Ga hier staan en laat Git de projectbestanden schrijven:

MD projectnaam
CD projectnaam
GIT INIT

We maken nu een alias aan voor ons project, zodat we straks niet elke keer het volledige github pad moeten opgeven bij elke commit:

GIT REMOTE ADD naam_project git@github.com:je_username/naam_project.git

We kunnen nu de inhoud van het project van de Github server halen met:

GIT PULL git@github.com:je_username/naam_project.git

Opgelet, gebruik de USERNAME en niet je e-mail adres!

Nu kun je naar hartelust bestanden en mappen wijzigen, wissen en toevoegen in de directory.

Als je files hebt toegevoegd, moeten deze ook in GIT worden gedeclareerd. Het commando GIT STATUS toont welke files nog niet in het project zijn opgenomen. Voeg deze toe zoals ze in de lijst staan, bijvoorbeeld:

GIT ADD index.html
GIT ADD js/

Je kunt ook GIT ADD * gebruiken overigens.

Alle wijzigingen geef je een versienummer en een commentaar mee en commit je vervolgens in Git:

GIT COMMIT -m "Commentaar"
GIT TAG 0.0.2

Om de wijzigingen ook op Github te publiceren, volstaat dit commando:

GIT PUSH projectnaam --tags

En om deze versie dan ook als productieversie te gebruiken (de MASTER versie):

GIT PUSH --tags projectnaam master

Als je GITHUB PAGES gebruikt voor je project, kun je de inhoud van de master branch ten slotte ook nog pushen naar je webpagina's, zodat alle files als CDN beschikbaar zijn.

git push -f  projectnaam master:gh-pages

Veel plezier!

Geen opmerkingen: