2011-01-13 5 views
2

Ich bin komplett neu in Git.Git von localhost zu remotehost mit einem Team von drei

Ich habe gerade erst herausgefunden, wie man Github auf einfache Art und Weise benutzt (zB meine lokalen Dateiänderungen auf Github übertragen - also habe ich den Inhalt von Github nicht 'runtergezogen' und 'in' hineingemischt) localhost-Version oder etwas ähnliches).

Ich habe mir diese Frage angesehen - Git: localhost > remote development > remote production - aber ich denke, dass es zu diesem Zeitpunkt etwas fortgeschritten für mich war, da ich die Terminologie, die die meisten Leute benutzten, nicht verstand.

Was ich erreichen möchte, ist eine lokale Server-Einrichtung zu haben, die mein Team von Entwicklern alle 'pushen'/'ziehen' kann usw. Und dann muss dieser lokale Server alle aktualisierten Dateien automatisch auf unsere hochladen Webserver, damit wir die Updates live im Browser sehen konnten.

Ich bin froh, eine Server-Einrichtung im Büro mit Mac OSX Server zu bekommen und dann Git installieren und dann die Entwickler zu einem Shell-Skript schreiben, um auf den Remote-Server zu schieben, aber nur wenn es fair war einfach für den lokalen git der Entwickler, um zu diesem neuen lokalen Server zu stoßen.

Ich bin kein Netzwerktechniker, also weiß ich nicht, was dafür eingerichtet werden müsste, ich weiß natürlich, wir könnten den Server so einrichten, dass er über eine lokale IP-Adresse wie 192.168 erreichbar ist .0.xxx, aber nicht sicher, wie das mit Pushing zu einem Git-Repository auf diesem Server funktioniert?

Wäre das buchstäblich so etwas wie dies zu tun auf meinem lokalen Rechner sein:

git remote add MyGitFile git://192.168.0.xxx/MyGitFile.git 

?

Alle Ideen oder Ratschläge, die Sie einem Git-Neuling geben können, um seinem Team zu helfen, einen besseren Arbeitsfluss zu bekommen.

Mit freundlichen Grüßen, Mark

+0

empfehle ich einen DNS-Server als auch einzurichten, denn in meiner Erfahrung ändert sich nichts schneller als einmal für alles Mögliche (TM) feste IP-Adressen einrichten. – Rudi

Antwort

1

Dies ist ein relativ fortgeschrittenes Thema, aber Sie sollten Git Haken erforschen. Sie werden wahrscheinlich einen Git-Post-Receive-Hook verwenden müssen, und abhängig davon, ob das Repository und der Webserver auf der gleichen Box leben, ein bisschen Scripting, um das Update durchzuführen. Siehe beispielsweise http://toroid.org/ams/git-website-howto.

+0

Wenn Sie eine Anleitung zu Git auf dem Server benötigen, hat ProGit ein großes Kapitel dazu: http://progit.org/book/ch4-0.html, und ein weiteres auf hooks http://progit.org/book/ch7 -3.html – catsby

0

Ich denke, es ist am einfachsten, ein git shared Repo mit einem HTTP-Server einzurichten. Sie haben es wahrscheinlich schon, also versuchen Sie http://localhost mit Ihrem Browser. setzen Sie Ihre nur nackte Version von Repo wo HTTP-Server Zugriff haben, dann können Sie verwenden:

git clone http://192.168.your.ip/path/to/repo.git 

auf Ihrem Computer klonen den gleichen Repo verpflichten und es verwenden, wie Sie wollen, drücken Sie dann wieder auf das gemeinsame Repository.

0

Ich würde vorschlagen, dass Sie Gitosis für Ihren lokalen Git-Server verwenden. Auf diese Weise können Entwickler ssh mit Public-Key-Authentifizierung (wie bei GitHub) pushen und ziehen.

Anstelle eines dedizierten Webservers kann es einfacher sein, Gitweb auf demselben Server einzurichten. Gitweb ermöglicht das einfache Anzeigen von Repositories/Abzweigungen/Updates (example)

Beide Anwendungen sind als Pakete auf Debian verfügbar und können leicht installiert und eingerichtet werden. Die Installation kann jedoch unter Mac OS X schwieriger sein, aber es gibt viele Anleitungen für beide Apps.

1

In Antwort auf ‚farnoy‘ (sorry ich kann nicht scheinen, ohne dass 50 Treffer zu Menschen auf Stackoverflow zu antworten?)

Was ist die nackte Version von Repo? Ich habe einen freigegebenen Ordner über eine IP-Adresse auf unserem lokalen Netzwerk Set-up (ich auf einem Mac bin) und ich habe:

git init 

im entsprechenden Ordner, aber ich weiß nicht, wie man Holen Sie sich die URL von .git?

Jede Hilfe wird geschätzt.

Ich denke für unsere Zwecke, es über unseren localhost tun wird gut funktionieren, aber ich bin immer noch ziemlich neu in Git, so dass ich nicht ganz verstehe die 'nackte Version Repo' oder was das tut?

Danke.

M.