Persönlich würde ich einfach Cygwin installieren und mit den üblichen *nix-Shell-Tools fortfahren, aber ich muss einigen Kunden, die etwas Anfängerfreundlicheres benötigen, eine Softwareempfehlung geben.
Die Situation ist, dass mehrere Clients Website(s) der meist statischen HTML-Art entwickelt haben, aber der Server, auf dem sie bereitstellen müssen, nicht über die übliche Sammlung von Protokollen aus den 1990er Jahren verfügt (z. B. kein FTP ). Tatsächlich gibt es keinen Zugriff auf eine grafische Oberfläche. Die Bereitstellung erfolgt über Git. Änderungen müssen an ein Remote-Repository übertragen werden, auf das nur über die SSH-Schlüsselanmeldung zugegriffen werden kann. Alle Commits an den Master-Branch, die vom autorisierten Schlüssel gepusht werden, lösen ein Hook-Skript aus, das die Site auf den Produktionsservern bereitstellt.
Ich möchte einen Git -Client für Windows vorschlagen, der:
Für jeden Kunden steht eine GitLab -Instanz zur Verfügung, die ein Projekt pro Domain hat und das Hinzufügen ihres öffentlichen Schlüssels ziemlich einfach macht. Es gibt auch die Klon-/Remote-URLs für jedes Projekt an und macht es ziemlich einfach, den Status des Remote-Repositorys zu überprüfen.
Open Source wäre bevorzugt, aber jede seriöse Freeware wäre akzeptabel. Auf welche Client-Software soll ich sie verweisen?
Bearbeiten: Die meisten Vorschläge scheinen sich bisher auf vollständige Frontends für alle Funktionen von Git zu konzentrieren. Ich suche nach etwas abgespeckterem, das nur die Grundlagen abdeckt und besser für eine bestimmte Aufgabe geeignet ist, als mit den großen Hunden zu laufen. Ich denke hier an das KISS-Prinzip für Leute, die die Versionskontrolle für nichts anderes verwenden und nur ihre Websites "hochladen" möchten .
Für Anfänger gibt es nichts Besseres als TortoiseGit .
Ich bin von Github für Windows und dann von Git Extensions zu SmartGit gewechselt und kann es empfehlen. Hier ist der Grund-
Einfache saubere Benutzeroberfläche. Die Hauptschnittstelle zeigt nur die geänderten Dateien und die großen Commit-, Merge-, Push- und Pull-Buttons.
Kommerzielle Software, aber kostenlos für den privaten Gebrauch.
Für Git-Anfänger oder Nicht-Git-Benutzer besteht die einzige Schwierigkeit darin , die SSH-Schlüssel einzurichten . Sobald Sie das getan und Ihr erstes Repository geklont haben, ist es einfach und Sie müssen die Konsole nie mehr öffnen.
Ich verwende Atlassian SourceTree und mag es sehr.
Hier ist die Übung:
Schöne Benutzeroberfläche:
HINWEIS - Dieser Screenshot stammt von einer viel älteren Version. Die Benutzeroberfläche der neueren Version ist einfacher.
Fazit - ich finde es fast perfekt und benutze es für alle Bedürfnisse, die nicht in meiner IDE abgedeckt sind.
Ich mag Git für Windows (msysGit) sehr . Es hat drei "Modi" - Bash (wo Sie alles tun können ), Windows-Kontextmenü und GUI (wo Sie viel weniger tun können, aber ich würde sagen, es ist sehr benutzerfreundlich).
Von der cmdline aus können Sie ALLES tun (so ziemlich); Die GUI hat einige Funktionen, aber auf dem Frontscreen wird nichts Kompliziertes angezeigt (nur Commit-bezogen), alles andere ist in den Menüs versteckt.
Das einfachste und einfachste, das ich je gesehen habe, ist GitHub für Windows :
Aber es gibt eine Einschränkung : Die Verwendung mit Nicht-Github- Repositories ist nicht intuitiv (fühlt sich an wie ein Hack TBH) .
Sie können erwägen, GitKraken zu verwenden . Einige Eigenschaften:
- Kostenlos für nicht-kommerzielle Nutzung
- Plattformübergreifend (Windows, Mac, Linux)
- Unterstützung mehrerer Profile
- Mit einem Klick rückgängig machen und wiederherstellen
- Eingebautes Merge-Tool
- Drag-and-Drop zum Zusammenführen, Rebasieren, Zurücksetzen, Pushen und mehr
- In der Größe anpassbares, leicht verständliches Commit-Diagramm
- Bildunterschiede in der App anzeigen
- Untermodule und Gitflow-Unterstützung
- Integration mit GitHub- oder Bitbucket-Konto
ungit hat einen starken Fokus auf Benutzerfreundlichkeit und Verständlichkeit (wie der Name schon sagt)
https://github.com/FredrikNoren/ungit
Installieren:
npm install -g ungit
Es basiert auf Node.js und führt einen Server aus, den Benutzer im Browser anzeigen können, sodass es plattformübergreifend ist.
Ich bin mir nicht sicher, ob es SSH für Benutzer verwaltet, aber ich kann es definitiv sehen.
node_modules
besonders? Passiert das nicht auch mit anderen Verzeichnissen? Ist es kein .gitignore
Problem?gitignore
es, sicher, aber ich zögere, jedem Benutzer dieses Repos eine Änderung aufzuzwingen, nur weil mein Git-Client (Teile davon?) seinen Quellcode in das Repo legt. Sicherlich würde jemand fragen, was zum Teufel ich mit "node_modules" in einem C++-Projekt mache.Ich bin überrascht, dass kaum jemand Git Extensions erwähnt hat . Ich benutze es seit vielen Jahren und finde es benutzerfreundlicher als Tortoise Git.
Ich verwende es als Haupt-Git-Schnittstelle unter Linux. Sehr einfach, alltägliche Operationen durchzuführen
Ich bin kürzlich von Sourcetree zu Fork umgezogen . Der Name ist für Google sehr schwer zu finden, aber es ist eine großartige Software. Das Killer-Feature für mich war, dass ich bestimmte Dateien speichern und anwenden konnte und nicht nur alle lokalen Änderungen. Es ist keine kostenlose Software ($50), aber es beschämt Sie einfach, wie es WinZip hin und wieder tut.
Fürs Protokoll, ich habe nie etwas gefunden, das wirklich alles erfüllte, wonach ich in dieser Frage gesucht hatte.
Meine aktuelle Empfehlung, wenn ein Anfänger eine kostenlose GUI benötigt, ist GitAhead . Es hat ein paar Ecken und Kanten, ist aber die einfachste und sauberste Implementierung, die mir begegnet ist und die Open Source ist. Es ist Fork sehr ähnlich – es fehlt ein wenig von Forks Politur, aber es kommt auch nicht mit einem Preisschild.
Kaleb
Dɑvïd
ManuelSchneid3r
Angelo Fuchs
Paul d’Aoust
Bomberlt