![]() |
Zusammenfassung Versionsverwaltungen SVN , GIT
Da es noch Programmierer gibt, die die Vorteile eines Versionskontrolsystems nicht schätzen, hier nochmal für die Einsteiger die Tutorials zusammengefaßt. :wink:
negative/falsche Aussagen (kommentiert): Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Tutorials by Sebastian (Entwickler-Ecke) SVN: ![]() GIT: ![]() |
AW: Tutorial Versionsverwaltungen SVN , GIT
:shock:
Die Aussagen hast Du Dir doch gerade ausgedacht! Manche Antworten erscheinen mir aber für den Rahmen eines Tutorials etwas knapp. Sherlock |
AW: Tutorial Versionsverwaltungen SVN , GIT
Als jemand der selbst mal gegen Versionscontroll-System war sag ich jetzt einfach mal :thumb:
Vielleicht noch die ein oder andere Ergänzung: Zitat:
Zitat:
Zitat:
Zitat:
und noch ein Kommentar zum Kommentar :): Zitat:
Zitat:
LINKS: ![]() ![]() |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
Zitat:
Titel angepaßt... |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
Zitat:
Danke für den kleinen Schubs am Morgen. :thumb: Sherlock |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
|
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
Zitat:
Mit einer ordentlichen Benennung findet man alles immer sofort wieder. Wer seinen Quellcode kennt, findet auch den alten Code direkt wieder. Zitat:
Zitat:
Du sagst also, dass demjenigen, der kein SVN und wie sie nicht alle heißen nutzt, sein Quellcode NICHT wichtig ist. So so. Das wusste ich noch nicht. |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
Und man hat ein übersichtliches Log über alle Änderungen, was bei Einzelkopien nicht möglich ist. Da mußt du dir auch erstmal einen Verzeichnissdiff von irgendeinem Programm erstellen lassen und hast da NUR die einen Unterschiede zwischen den zwei gerade verglichenen Verzeichnissen/Dateien. |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
|
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
Was ich gerne zulasse ist der Hobbyisten Ansatz. Darüber kann man auch gar nicht streiten. Ich will nur so viel sagen: Irgendwann wirst Du alt, eventuell vorher schon sorglos und Dein Benennungsschema für die ZIP-Archive geht in die Binsen. Dann wars das mit der "einfachen" Ortung einer bestimmten Version. Wichtiger noch ist das Auffinden einer bestimmten Änderung, bzw. dem Zeitpunkt wann diese Änderung in den Code gekommen ist. Wenn das (wie bei Software nicht unüblich) mehr als ein paar Monate zurück liegt, herzliches Beileid und viel Erfolg bei der ZIP-Sichtung. Wie gesagt: Im Hobby-Fall eventuell vertretbar, aber ich würde mir das nicht antun wollen. Versionskontrolle ist viel weniger Hexenwerk als Kompression oder Compilierung. Sherlock |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
Die Vorteile dieser Lösung: - Quellcode-Dupleten en mass. Fehler die in gemeinsamen Units einmalig behoben wurden (und im Quellcodeveraltungssystem für alle verfügbar sind) schwirren noch in diesen High-End-Ziparchtiven herum - Keinerlei Review-Prozess möglich. Bei der Enthusiasten-Fraktion werden alle Quellcodeänderungen zu den Tickets abgelegt so das man mit einem Klick im Ticketsystem (hier Jira) sieht was geändert wurde und ohne mit Zipdateien-Auspacken und Winmerge-Aufrufen ein Review möglich ist. - Wiederverwendung von Funktionalität wird erfolgreich vermieten. Alle Quelldaten von Projekten die aktuell nicht bearbeitet werden liegen in Zip-Datei so gut verpackt vor, das man nicht auf die Idee kommt mal über einen einfache Suche über ein ausgechecktes Repository nach evtl. vorhandener ähnlicher/gleicher Implementierung zu suchen. |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
@SneakyBagels
Zitat:
Zitat:
|
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Also auch wenn ich die gelieferten Contras teilweise nicht sehr qualifiziert empfinde, kann man vielleicht schon nach "Einzelanwender" und "Teamentwicklung" und entsprechenden Anforderungen unterscheiden.
Aber Angenommen es gibt ein geniales Namensschema für gezippte Delphisourcen einer OneManShow, was alle Suchanforderungen abbildet, dann ist ziemlich offensicht, was passieren wird, wenn dieses Genie mit einem Kollegengenie eine Firma gründet. Anonsten leisten diese Tools einfach und die verschiedenen Frontends dazu viel mehr, als ZIP Archive es könnten. Branching, Ticketintegration, Diff Darstellung, .. wurde schon genannt. |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Ich kann auch jedem Hobbyprogrammierer - gerade auch für Anfänger - nur empfehlen, irgendeine Form von Versionsverwaltung zu nutzen, da man hier schnell, komfortabel und ohne großen Aufwand auch nachträglich noch nachvollziehen, was man irgendwann mal geändert hat.
Irgendwelchen Quatsch mit ZIP-Dateien umkopieren dagegen... mal ehrlich, das ist doch ein Witz oder? :lol: |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
Zitat:
Es ist schade, wie hier einem Worte in den Mund gelegt werden, die man niemals geschrieben hat. Zitat:
|
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
Sherlock |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Bleibt doch wieder auf einer sachlichen Ebene. Sonst schaukelt sich das wieder sinnlos auf.
Ich habe SVN und GIT mal versucht, aber kam damit nicht klar. Ich war einfach zu unsicher, was die Software da genau macht und einige Male war da nur noch Müll in den Versionen. Sicher lag das an mir, aber mit Zips (incl. Zeitstempel im Dateinamen) komme ich als Einzelentwickler besser klar. Im Team als Nutzer eines betreuten Kontrollsystems sähe das sicher anders aus. |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Etwas mehr Toleranz bitte und zwar auf beiden Seiten. Achtet auf der einen Seite bitte auf eure Wortwahl und Ausdrucksweise und auf der anderen Seite, nehmt nicht alles gleich so persönlich. Dann klappt das auch mit einer sachlichen Diskussion.
|
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
|
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Und das sagt genau was aus?
|
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Das sagt aus, dass es auch professionelle Entwickler gibt denen ihr Code wichtig ist, die trotzdem keine Versionskontrolle benutzen sondern ganz normale Archive.
Somit wäre das Argument, dass den Leuten die Archive nutzen der Code nicht wichtig sei, aus dem Weg geräumt. |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Man muss ja kein Versionskontrollsystem nutzen, aber wer das einmal getan (und begriffen) hat, der möchte es nicht mehr missen. Ich wüsste zumindest nicht, wie ich in einer Sammlung von Zip-Archiven übersichtlich herausfinden soll, wann ich welches Feature eingeführt habe. Bei einem Versionskontrollsystem schreibe ich das einfach als Kommentar beim Commit hinein und finde das in der Übersicht schnell wieder. Wer ernsthaft in einem Team arbeitet, kommt wohl ohnehin nicht drum herum, sich mit der Materie zu beschäftigen.
|
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Ich bin sozusagen auch Solo Entwickler, nutze GIT hauptsächlich lokal, und pushe im Prinzip nur zum server als Backup.
Vorher hab ich SVN benutzt, aber ich finde mergde und Versions switchen ist wesentlich einfacher bei GIT(aber mit GUI). Warum nutze ich Versionierung? -Hauptgrund ist, das wir über 40 Maschinen mit teilweise stark unterschiedlichen Software Versionen haben (aber das selbe Programm). Tritt irgendwas auf, kann ich mit einem Doppel-Klick auf Version x.y wechseln, und direkt nach dem Fehler suchen. Ein Doppel-Klick! Was bei mir irgendwann wenn Zeit ist auf der Agenda steht, ist, habe mal gelesen das man auch Zwei Repos verknüfen kann. Beispiel: Ein Datenbank Treiber REPO(A) und eine DB Anwendungs REPO(B), die A nutzt. Ich glaube die "nichtnutzung" von Versionierung, hängt teilweise aber auch mit den Programmen zur Verwaltung der Versionierung zusammen. Meine absolute Nr. 1 ist SourceTree. Ist sehr übersichtlich und schnellen Zugriff auf das nötigste. |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
Ich habe früher auch ZIPs verwendet - und einfache Kopien von Verzeichnissen. Früher - das heißt: als Turbo Pascal 4 unter DOS gerade aktuell war. Dann kam RCS - Ende von Zip/Copy! :feuerchen: Heute ist Mercurial mein bevorzugtes System. Das Einrichten eines Repos ist eine Sache von Sekunden und das Handling in der Workbench von TortoiseHG ist sowas von simpel und komfortabel, da kommt kein Copy oder Zip mit. Ich bedauere jeden, der diese Stufe der Erleuchtung noch nicht erreicht hat. :idea: |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Es ist ja nicht so, als ob ich nur Kritik übe. Ich habe schon alle möglichen GUI-Clients ausprobiert und bin nun zum Testen bei SourceTree mit Git hängen geblieben.
Was mir sofort aufgefallen ist: ich kann keine Daten in ein Verzeichnis pushen, welches Buchstaben wie é enthält. Daraus macht SourceTree dann é und legt dementsprechend auch ein Verzeichnis an. Ist der Bug bekannt, dass SourceTree nicht mir speziellen Buchstaben klar kommt? |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Welche Sourcetree Version, welches Windows und wo pusht Du hin?
Habe seit Jahren keine Probleme damit gesehen |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Aktuellste Version.
Ich pushe einfach nur auf ein Verzeichnis auf meinem Netzlaufwerk N:\GitTest\Dév |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Ok, auch auf die Gefahr hin pingelig zu wirken, wo siehst Du diese Verzeichnisse? In Souretree? Im Explorer ?
Wenn Du das Repository in ein anderes lokales Verzeichnis auscheckst wie sehen dann die Ordner im Explorer aus? |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Huhu 8-)
Lasst mich auch mal noch ein paar Argumente in den Raum werfen, um diesen konstruktiven Diskurs am Leben zu halten :roll: Ich würde mich da auch niemals bekriegen deswegen; jeder so, wie es für sie oder ihn läuft. Aber: Ich würde niemals Code in einer Gruppe oder Team schreiben wollen, bei dem Code über Zips oder andere Archivtypen mit Datumsstempel gemanaged werden aus dem einfachen Grund: Versionskonflikte bei Kolaboration! Und wer bei mir ins Team will und sagt, dass er oder sie noch nie mit irgendeinem Versionierungsprogramm zumindest auseinander gesetzt hat, der muss erstmal in die Ecke und bekommt einen Erklärbär nebendran gesetzt :D Die Informatik ist in den letzten Jahrzehnten einem Wandel zum Teamplay zum Opfer gefallen :twisted:. Wer den Luxus genießt ein kleines, handliches Projekt sein eigen nennen zu dürfen, das komplett ohne versionierte Abhängigkeiten auskommt, dem gönne ich das sehr und in diesem Rahmen dürfte das Archivgeschubse wirklich funktionieren! Aber Teamplay ist was Schönes (alle, die in einem eingespielten, harmonischen Team arbeiten dürfen, werden mir da vermutlich freudig nickend zustimmen :-D)! Große Projekte kann man nur im Team stemmen und dabei können großartige Dinge und Freundschaften entstehen. Klar, das läuft nicht immer rund und manchmal hat man die ein oder andere Teambremse mit an Bord, aber selbst das lässt sich oft gut lösen. Für mich ist Git, Mercurial, SVN quasi das Sinnbild für guten Teamgeist! Auch wenn submodules von Git den ein oder anderen Quirk haben, so helfen auch sie beim Abhängigkeiten einbauen: Dadurch das die Daten des Submodules niemals im eigenen Repository landen, sondern nur auf einen ganz bestimmen Versionsstand verwiesen wird, ergibt sich mit diesem Wissen eine ganz neue Restriktive; man wird allein dadurch schon gezwungen ordentlich zu arbeiten und man modularisiert dadurch sprachunabhängig und die Trennung der Module bleibt trotz Versionierung und normaler Sicht im ausgecheckten Ordner erhalten! 8-) Ich hoffe, ich konnte das ein oder andere Argument liefern, das das Herz des einen oder anderen verbissen Gegners von Versionierungstools ein wenig erweichen konnte: Gib der automatisierten Versionierung eine Chance in deinem Workflow zu existieren! :) Und wenn du graphische Tools nicht magst, benutz die Kommandozeile: git pull [--rebase], git log, git add, git commit --interactive, git commit -a, git push, seien als Beispiel deine Freunde. Und wenn du mal gar nicht mehr weiter weißt: ![]() Brighty :) |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
Nur beim Runterladen geht dann wohl was beim decodieen schief, aber eigentlich würde ich denken, dass so ein Bug schon lange aufgefallen und behoben sein sollte. Ich bin bei Tortoise hängen geblieben. Beruflich über SVN da reingerutscht und daheim für GIT und SVN installiert, da man auch ab und an mal irgendwas mit GIT runterladen möchte/müsste. |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Mit dem Fachchinesisch kann ich nix anfangen.
Ich mache einen initialen Commit meines lokalen Quellverzeichnisses. Das klone ich jetzt auf mein Netzlaufwerk. Im Quellverzeichnis-Repository füge ich als Remote das Repository vom Netzlaufwerk hinzu. Jetzt füge ich im Quellverzeichnis eine neue Datei ein und commite die Änderungen. SourceTree zeigt mir nun oben links bei "Push" eine blaue 1 an. Soweit so gut. Jetzt klicke ich auf Push. Es kommt ein Dialog mit einer Liste. Dort mache ich einen Haken bei meinem master branch oder wie auch immer das heißt. Ich klick auf OK, es lädt ein bisschen und werkelt rum, und diese eine Datei befindet sich danach nicht auf meinem Netzlaufwerk. Nichts wurde geklont. |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
|
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Pull funktioniert zwar aber die Verzeichnisse sind nie gleich und das ist ja der Sinn den ich dahinter suche.
Denn wenn ich Dinge commite (lokal) dann würde ich das ganze Repo gerne auf eine andere Festplatte spiegeln damit ich immer eine Sicherung davon habe. Rechtsklick => Kopieren, Rechtsklick => einfügen ist da wesentlich einfacher ;) |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Ich glaube, du musst deine Erwartungen noch geringfügig anpassen.
In deinem Quellverzeichnisses hast du ja einen .git Ordner ("das Repo") und die eigentlichen Dateien (Arbeitskopie/working copy). Als push-Ziel solltest du ausschließlich bare-Repositories benutzen - das sind Repos ohne working copy, die quasi auf das .git Verzeichnis beschränkt sind. Wenn du den push ausführst, wirst du darin nicht einfach so die neue Datei finden. Die ist unter /objects/ irgendwo unter dem Hash abgelegt. Da sollte man erst mal nichts drin verändern. Du kannst jetzt aber jederzeit und überall (wo du git hast) wieder einen neuen clone anlegen, der wieder eine Arbeitskopie enthält. |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Bedeutet das, dass das Push-Feature gar nicht darauf ausgelegt ist mein komplettes Projektverzeichnis in ein anderes Verzeichnis zu spiegeln denn es kopiert nur Änderungen im .git-Verzeichnis?
|
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
|
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
Und wie jfheins schreibt hast Du gerade als Einzelentwickler dem es primär um die Sicherung seiner Sourcen geht ein bare-Repository auf einem anderen REchner, das quasi als Ablage funktioniert. |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Mal etwas in der Mottenkiste gewühlt:
es gab durchaus auch eine Sourcecode Verwaltungssoftware von Borland , Star Team wenn ich mich richtig erinnere , und von den Jedis gab/gibt es Jedi VCS mfg Hannes |
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
|
AW: Zusammenfassung Versionsverwaltungen SVN , GIT
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz