[GIT] clone lokale repository naar central repository

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • chrisO
  • Registratie: Mei 2003
  • Laatst online: 10-09 14:24
Ik heb met behulp van de tool git-gui een git repository gemaakt om lokaal versie beheer te hebben voor een klein project. Nu werk ik er aan op meerdere computers,ook wel eens op een ander OS ( windows & Linux ) op dezelfde machine. Nu kopieer ik dus constant de gehele repository van Windows naar Linux en van de ene pc naar de andere... dit is niet echt handig.

Nu heb ik een Fedora box die fungeert als server en die staat altijd aan... dus even een git centrale repository erop gezet ( gitolite ) maar hoe krijg ik nu mijn lokale repository inclusief history in de central repository?

Een nieuwe repo maak ik aan mbv:

git remote Server ssh://git@Server:10022/nieuweRepo

maar op die manier kan ik niet mijn bestaande repo naar de centrale repo pushen...

Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 00:07
Hmmm? Ik snap je probleem niet echt... Git is decentralized en zou je dus niet puur lokaal moeten draaien. Gewoon Github oid gebruiken en alles er naartoe sturen/vandaan halen met de git push en git pull commando's.

Waarom werkt het btw niet, krijg je een error? Welke commando's gebruik je?

[ Voor 15% gewijzigd door Avalaxy op 03-02-2011 23:36 ]


Acties:
  • 0 Henk 'm!

  • Bigs
  • Registratie: Mei 2000
  • Niet online
Na het toevoegen van een remote kun je met 'git push Server' (in jouw geval) je lokale wijzigingen naar dat repository pushen. Evt. kun je er ook een branch naam achter zetten. Met git pull haal je alle commits uit je remote op.

Zie ook deze wat uitgebreidere voorbeelden.

Acties:
  • 0 Henk 'm!

  • Bigs
  • Registratie: Mei 2000
  • Niet online
Avalaxy schreef op donderdag 03 februari 2011 @ 23:35:
Hmmm? Ik snap je probleem niet echt... Git is decentralized en zou je dus niet puur lokaal moeten draaien. Gewoon Github oid gebruiken en alles er naartoe sturen/vandaan halen met de git push en git pull commando's.

Waarom werkt het btw niet, krijg je een error? Welke commando's gebruik je?
Doordat Git gedecentraliseerd is kan het juist lokaal draaien. Als je alles op Github baseert ben je eigenlijk in feite juist gecentraliseerd bezig :) Wat de TS doet is op zich niet ongewoon bij een DVCS.

Acties:
  • 0 Henk 'm!

  • chrisO
  • Registratie: Mei 2003
  • Laatst online: 10-09 14:24
Bigs schreef op vrijdag 04 februari 2011 @ 09:37:
[...]


Doordat Git gedecentraliseerd is kan het juist lokaal draaien. Als je alles op Github baseert ben je eigenlijk in feite juist gecentraliseerd bezig :) Wat de TS doet is op zich niet ongewoon bij een DVCS.
De in instantie eerste reden om GiT ( een (D)VCS) te gebruiken was, zodat ik terug zou kunnen naar een eerdere versie van code, indien ik een deel van m'n code zou verzieken, doordat ik iets wilde uit proberen en als het misging eenvoud/snel terug kon naar een werkende versie.
Een centraal vcs is daarvoor overkill. Nu zijn er inmiddels meerdere kleine projecten, werk ik eraan op meerdere pc's/operating systems, en is het dus lastig geworden om bij te houden op welke pc/os de laatste versie ook al weer stond....
Daarnaast wordt er van mijn thuisserver automatisch iedere 2 dagen een backup gemaakt, dus als m'n projecten daar staan worden ze ook automatisch gebackupped en heb ik daar ook geen omkijken meer naar.

ik heb gisteren veel ge-googled en tutorials gelezen ( de meeste gaan enkel over de basis of standaard acties )

Op de server creer ik nu als volgt een lege repository:

code:
1
2
$ mkdir /var/git/projectA.git && cd /var/git/projectA.git
$ git --bare init


Lokaal:
code:
1
2
3
$ cd ProjectA
$ git remote add Server ssh://git@Server:10022/ProjectA
$ git push Server master


Als ik nu vervolgens de repository clone met:
code:
1
git clone ssh://git@Server:10022/ProjectA


dan blijkt dat ik niet de volledige history heb ( alleen de eerste commit message staat in de log )

inmiddels tijdens het schrijven van deze post, ben ik er achtergekomen dat ik na de eerste commit geswitched was naar een ander branch en de rest van de history dus daar stond.... |:(

Even de branch clonen:
code:
1
git clone --branch branchname ssh://git@Server:10022/ProjectA


en alles staat weer lokaal vanaf m'n nieuwe centrale repo :) Overigens moest ik daarvoor eerst ook de branch naar de centrale repo pushen.

Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 00:07
Bigs schreef op vrijdag 04 februari 2011 @ 09:37:
[...]

Doordat Git gedecentraliseerd is kan het juist lokaal draaien. Als je alles op Github baseert ben je eigenlijk in feite juist gecentraliseerd bezig :) Wat de TS doet is op zich niet ongewoon bij een DVCS.
Nee, juist niet omdat je lokaal een repository hebt en extern een repository hebt. Je werkt niet alleen maar op de externe repo. Dat het gedecentraliseerd is betekent niet dat er per definitie een exclusiviteit is voor het lokaal werken.
Pagina: 1