Ich versuche zu verstehen, wie Git besser funktioniert.Wie entscheidet GIT, was in einen Blob geht?
Gibt es einige willkürliche Dateien und eine beliebige Anzahl von Commits, wie entscheidet sich git, wie diese Dateien in Blobs aufgeteilt werden, die dann eindeutig mit SHA-1-Hashes identifiziert werden?
Ich habe gerade etwa 10 Commits von Perl/C/Java-Code und Text in neue Git Repo und irgendwie Git unterteilt die Dateien in kleine Segmente, wie hat es entschieden, wie diese Segmente geteilt werden sollten?
OK, danke für den ersten Teil, hilft viel, auf den letzten Punkt, ich denke, was mich verwirrt, ist, dass das Durchsuchen einer bestimmten Datei mit GiTK File Viewer Git scheint zu wissen, was bestimmte zu tun Teile einer neu kombinierten Datei kamen von, dort habe ich die "Segmente", wie bestimmt Git die Bestimmung und woher diese Segmente kamen und woher weiß man, dass zum Beispiel eine oft wiederholte Zeile wie "make" Teil von unique ist Segment und nicht eine wiederholte Änderung in eigener Sache? –
Ich bin mir nicht sicher, was du meinst. Wenn Sie die Unterschiede, die es im Vergleich zur letzten Revision zeigt, meinen, nennt man das "Diff" und wird im Handumdrehen berechnet, indem Sie die beiden Dateien vergleichen. Wenn Sie die Schuldanzeige in git gui meinen, die durch einen cleveren Schuldzuweisungsalgorithmus erfolgt, sehen Sie in der Befehlszeile "git tschuldigung". Es funktioniert in etwa wie ein Diff, wird aber für jede Revision erstellt und berücksichtigt auch entfernte Zeilen aus anderen Dateien. – Pieter
OK, danke, ich glaube, ich verstehe jetzt, was mich verwirrt von anderen untergeordneten SCMs (SVN/CVS/perforce) war, dass sie normalerweise nicht automatisch gegen ältere Revisionen diffundieren konnten, die in anders benannten Dateien in verschiedenen Verzeichnissen existierten, außer Verzweigungen wurde explizit gemacht, was ich in diesem Fall nicht mit Git gemacht hatte. Also, ich verstehe jetzt, dass das 2 separate Probleme sind, wie das "clevere" diff/blame algo funktioniert und wie Code in Blobs gespeichert wird. Ich markiere deine als die Antwort, fühle mich frei, Details hinzuzufügen, wenn uns etwas anderes in den Sinn kommt Git Neulinge ... Danke –