GIT en GitHub
Nu weet ik dat GIT een stuk beter is dan SVN, maar volgens mij is het zo dat alles dan wordt opgeslagen bij GitHub of een andere partij, klopt dat? En ik wil dit namelijk niet, gezien het geen opensource-project is. Betalen voor een niet publieke repository (hoe heet dat bij GIT) zie ik ook niet zitten.
Ook wil ik niet afhankelijk zijn van een derde partij zoals GitHub of BitBucket of wat dan ook.
Dus, hoe zit dit nou eigenlijk? Of kan ik dan maar beter SVN gebruiken.. of toch GIT?
Gewijzigd op 30/10/2012 13:22:59 door - Ariën -
Dit is een leuke git tutorial. (Let op PDF download direct) Maar misschien kan je beter het Git Boek lezen. Ik denk dat je ook een Nederlandstalige versie hebt.
EDIT: gebruik je Windows of Linux? Je moet namelijk alles in de command shell doen. Ik weet niet hoe dit werkt op windows.
Als je Eclipse gebruikt moet je eens kijken naar Egit.
Gewijzigd op 30/10/2012 13:55:11 door LEDfan nvt
Zelf een Git server opzetten is echt mega simpel als je een beetje Linux kennis hebt. Bovendien kun je op je eigen omgeving al een repository aanmaken zonder dat je een git server hebt, je kunt er altijd een remote repository aan hangen.
Je kunt een ander domputer, VPS of een site die gratis private repo's aanbied gebruiken als backup repo mocht er iets met je lokale gebeuren.
Een lokale repo starten is zo simpel als `git init` gevolg door je eerste commit.
Als je zelf een git server op wilt zetten of Raad ik het boek "Pro Git" aan als eerste stop aangezien het online staat. (Onder de Creative Commons Attribution Non Commercial Share Alike 3.0 license)
Mocht het nog niet duidelijk zijn: je hebt geen server nodig.
Gewijzigd op 30/10/2012 14:01:03 door Dos Moonen
En verder zoals Kees zegt.. beetje ervaring met linux? dan kan je zelf op een server een repo maken en daarnaartoe pushen/pullen.
GitHub is 1 van de vele online websites voor het hosten van GIT repositories. Het mooie van GitHub is dat deze een perfecte social coding integratie heeft, waardoor alle grote open source projecten daarop staan. Doormiddel van forks, pull requests, issues en nog veel meer biedt GitHub een mooie extra tool voor social coding. Op vele momenten wil een privé persoon/bedrijf dat helemaal niet en dan hoeft dat ook niet.
Je kunt ook je eigen GIT site maken op je website op bijv. git.aarphp.nl. Zorg alleen wel dat dit beveiligd wordt met een SSH verbinding, anders kan iedereen jou online repo bewerken.
Ik heb op Google Drive/DropBox mijn GIT server opgericht. Je kan namelijk ook gewoon een remote repo opslaan op je computer. Een simpele start hiervoor:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# ga naar de dropbox map
$ cd ~/Dropbox
# maak een nieuwe git map
$ mkdir git
# maak een nieuwe bare repo, deze kun je niet bewerken maar alleen naar pushen, pullen en clonen
$ git init --bare MyProject.git
# ga naar je project map
$ cd ~/wamp/www/MyProject
# start een repo
$ git init
# ... doe veel leuke dingen: bewerking, commits, merge, rebase, ect.
# voeg je dropbox bare repo toe als remote branch (vervang local naar de naam die jij wilt)
$ git remote add local ~/Dropbox/git/MyProject.git
# push de veranderingen naar deze repo
$ git push local
$ cd ~/Dropbox
# maak een nieuwe git map
$ mkdir git
# maak een nieuwe bare repo, deze kun je niet bewerken maar alleen naar pushen, pullen en clonen
$ git init --bare MyProject.git
# ga naar je project map
$ cd ~/wamp/www/MyProject
# start een repo
$ git init
# ... doe veel leuke dingen: bewerking, commits, merge, rebase, ect.
# voeg je dropbox bare repo toe als remote branch (vervang local naar de naam die jij wilt)
$ git remote add local ~/Dropbox/git/MyProject.git
# push de veranderingen naar deze repo
$ git push local
Ik ga me er eens in verdiepen, en kijken hoe ik het ga inrichten.
www.bitbucket.org aan te raden, zij beiden onbeperkt privé repositories. Ook via bitbucket kan je makkelijk "on push"-hooks maken. Wanneer ik bijvoorbeeld push naar de "unstable" branch, dan wordt mijn code automatisch deployed op unstable.example.com, voor local testing gebruik ik de PHP build-in webserver.
Als je toch een centrale opslag wilt, dan is Gerard M op 05/11/2012 13:25:38:
Als je toch een centrale opslag wilt, dan is www.bitbucket.org aan te raden, zij beiden onbeperkt privé repositories. Ook via bitbucket kan je makkelijk "on push"-hooks maken. Wanneer ik bijvoorbeeld push naar de "unstable" branch, dan wordt mijn code automatisch deployed op unstable.example.com, voor local testing gebruik ik de PHP build-in webserver.
Lees de eerste post eens:
Quote:
Ook wil ik niet afhankelijk zijn van een derde partij zoals GitHub of BitBucket of wat dan ook.
Ik werk trouwens ook wel met BitBucket, maar hoe maak je dan een hook die het automatisch deployed?
Misschien dat ik toch voor een externe partij kies, maar misschien wel een eigen opzet......
Dus als iemand een antwoord op de laatste vraag hebt, over het deployen. Voor SVN weet ik het ongeveer wel, maar voor GIT, is dat een andere koek :-)
en dan kun je gaan pushen naar die repo:
Code (php)
1
2
3
4
2
3
4
$ cd myGreatProject
$ git commit -m 'Changed some things'
$ git remote add mijnsite http://git.mijnsite.nl/
$ git push mijnsite
$ git commit -m 'Changed some things'
$ git remote add mijnsite http://git.mijnsite.nl/
$ git push mijnsite
Je moet wel rekening houden met het beveiligen van die server, wat de rede is dat ik ervoor heb gekozen om met een externe partij te werken. (en ook omdat ik een enorme open-sourcer ben en github de grootste open-source projecten heeft).
Op github heb je trouwens ook tonnen aan service-hooks:
WebHook URLs (0), ActiveCollab, Acunote, AgileBench, AgileZen, AmazonSNS, AMQP, Apoio, AppHarbor, Asana, Backlog, Bamboo, BasecampClassic, Basecamp, Boxcar, buddycloud (GitHub plugin), Bugherd, Bugly, Bugzilla, Buildcoin, Campfire, CIA, CodeClimate, CodePorting-C#2Java, CoffeeDoc.info, Co-Op, Cube, Ducksboard, Email, Flowdock, FogBugz, Freckle, FriendFeed, Gemini, Gemnasium, geocommit, GetLocalization, gitlive, Grmble, GroupTalent, Grove, Habitualist, Hall, Harvest, HipChat, Hostedgraphite, HubCI, IceScrum, IRC, Jabber, Jaconda, Jenkins (GitHub plugin), Jenkins (Git plugin), Jira, Kanbanery, Kickoff, Lean-To, Lighthouse, Loggly, MantisBT, Masterbranch, MQTT publish, Notify My Android, Nodejitsu, Notifo, OnTime, Pachube, Packagist, PivotalTracker, Planbox, Planio, Presently, Prowl, PuppetLinter, Pushover, PythonPackages, Railsbp, RailsBrakeman, Rally, RationalTeamConcert, Rdocinfo, ReadTheDocs, Redmine, Rubyforge, ScrumDo, ShiningPanda, Slatebox, SnowyEvening, Socialcast, SoftLayerMessaging, Sourcemint, SplendidBacon, Sprintly, SqsQueue, Stackmob, StatusNet, Talker, TargetProcess, TeamCity, Tender, TestPilot, Toggl, Trac, Trajectory, Travis, Trello, Twilio, Twitter, Unfuddle, WebTranslateIt, Yammer, YouTrack, Zendesk, ZohoProjects.
Gewijzigd op 01/05/2014 17:35:05 door - Ariën -
Toevoeging op 05/11/2012 18:56:18:
Ik heb zelf een antwoord gevonden op die laatste vraag over het automatisch deployen. Je moet gewoon de tutorial volgen op http://www.stephenradford.me/blog/tutorials/deploy-via-bitbucket-or-github-service-hooks
Als je het opzet op een eigen server, kijk dan eens naar gitolite.
Ik probeer een git repo (op eigen server),
local (xampp/htdocs/map) te gebruiken met Sourcetree.
Sourcetree ziet de repo op de server, maar ik krijg steeds
de melding dat de repo leeg ect.
Het lijkt me overigens ook een goed idee om je bericht nog eens door te lezen, ik kan er op dit moment namelijk niet veel van maken. Probeer volle zinnen te maken en je probleem te vertellen, inclusief complete foutmeldingen en eventuele code/mapstructuren.