Thread Source Code verwalten
(30 answers)
Opened by tophoven at 2009-07-15 09:40 Quote Wenn du Datensicherheit möchtest musst du backups machen. Eine Speicherung in klartext ist da weniger Sicherer als eine Speicherung in einer Datei. Datensicherheit in diesem Punkt ist einfach nur albern. Und ein Versionierungssystem ist nicht dafür zuständig das ein Datenverlust ausgeschloßen ist. Um ein Datenverlust zu vermeiden dafür sind Backup programme zuständig. Ansonsten da es ja ein denzentrales versionierungssystem ist, hast du ja automatisch mehrere kopien vorhanden wenn du das projekt clonest. Ich selber habe meine Git Projekte immer auf meinen Server, auf meinen Desktop PC, und auf meinen Laptop, das reicht mir persönlich aus. Wenn du dich sicherer füllst, kannst du auch 10 mal das Repro auf deiner Festplatte clonen. Auf den gleichen Rechner oder Festplatte erhöhst du dadurch aber auch nicht die Datensicherheit. Quote Naja die Speichervariante ist eigenltich extrem effizent. Zum Suchen muss nämlich nur eine Datei durchsucht werden. Und eine Datei zu öffnen ist I/O mäßig schnellerer sprich effizenter als zig hunderte kleine Dateien. Und da es komprimiert ist, kann git schneller commits anzeigen und darin suchen als wenn es zig kleine Dateien hat. Die Speicherung ist also nicht ineffizent, sondern genau wegen der einen Datei effizenter. Deswegen macht man es ja auch. Ansonsten wenn du erstmal nur commitest, dann wird der commit in einer neuen Datei abgelegt, und nicht sofort in einer großen Datei. Bei einem Standard commit verfährt es dann erstmal so, wie du meinst das es effizenter ist. Da es das aber nicht ist, kann man halt von zeit zu zeit mit "git gc" die ganzen kleinen objekte wieder zu einer zusammenfassen wodurch es dann performanter wird, und die komprimierung besser wird und der Speicherplatz geringer wird. Was daran jetzt eine Designentscheidung ist weiß ich nicht. Hat man ein haufen kleine Dateien ist es ineffizent und man verschwendet viel speicher. Bei jedem commit allerdiengs immer wieder alles zusammenzuführen ist auch nicht gerade effizent. Daher ist es gemixt. Zuerst einzelne Dateien, und von Zeit zu Zeit kannst du es zusammenfassen und die Vorteile genießen. Naja und gerade für lokale branches ist Git ja bekannt das es schnell ist, und nein, für lokale branches muss auch nichts kopiert werden. Wie kommst du darauf das für branches ein haufen kopiert werden muss? Git benutzt alle Revisionsdaten ebenfalls. Branches funktionieren in Git letztendlich nur durch Pointer. Legst du einen zusätzlichen branch an wird ein zusätzlicher Pointer auf eine Revision gelegt. Erstellst du 100 branches, zeigen 100 Branches auf das gleiche Objekt, erst nach einen commit unterscheidet sich ein branch. weil der pointer dann auf den neuen commit zeigt, und der parent des commits auf den gemeinsamen vorgänger. Bei Git wird nirgendswo etwas umkopiert. Gerade das es nichts umkopiert und somit speicherschonender ist, ist ja gerade ein Vorteil von Git der immer wieder betont wird. Ich weiß nicht was du da genau über Git gelesen hast, aber das war wohl falsch. Quote Ja bekommt es. Es bekommt es sogar mit wenn du die Datei leicht modifizierst. Git zeigt dir prozentual an zu welcher Datei die neue Datei identisch ist. Anhand daran das es dir anzeigt wie die Datei vorher war kannst du History dann weiter durchschauen. Allerdiengs muss man hierzu sagen das das ganze was du meinst eine Designentscheidung war. Es ist weder Falsch, und andere VCS machen es richtig. Quote Einfach unter der Rubrik "High-Level Commands" zu schauen ist wohl zu schwer? High-Level und Low-Level Befehle werden getrennt angezeigt und Sortiert angezeigt. Ansonsten sind die High-Level befehle ziemlich identisch zu denen in anderen VCS Systemen. Und wenn du die Befehle einmal kennst, musst du in der Regel auch nicht mehr einen Befehl suchen. Und ein "git help" liefert dir ebenfalls eine kleine Liste von High-Level befehlen die am meisten genutzt werden. Last edited: 2009-07-19 17:26:25 +0200 (CEST) Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
|