Gibt es eine Möglichkeit, die Integrität eines geklonten Repos zu überprüfen?

9

Ich habe ein Remote-Repo ausgecheckt. Jetzt habe ich einige Operationen ausgeführt, um dem Repo eine Datei hinzuzufügen. sowie (vielleicht) einige Dateien im Repo zu entfernen. In beiden Fällen wurde git nicht über die Änderungen informiert. Gibt es eine Möglichkeit für Git, die Integrität des Repos zu überprüfen? und informieren Sie mich, welche Dateien geändert wurden (oder nicht)?

Ich habe diesen Beitrag 1 gesehen, aber keine Ahnung, ob dies das Szenario abdeckt, das ich oben geteilt habe. Ist $git fsckgenug Wenn ich eine Datei aus dem lokalen Repo entferne. Wie würde Git es erzählen / zeigen?

Freuen Sie sich auf Antworten.

shirish
quelle
Sehen Sie sich die Protokolle der beiden Repositorys an? Können Sie näher erläutern, worüber Sie verwirrt sind?
Zoredache
@Zoredache danke für die Antwort. Ich habe meinen Beitrag bearbeitet, aber um ganz klar zu sein, was ist, wenn ich Dateien entfernt oder hinzugefügt habe, nachdem ich a $git pull origin master. In einem solchen Fall wären die Git-Protokolle identisch (denke ich). Um es zu testen, habe ich dem Git Repo ein paar Dateien hinzugefügt. und habe es versucht $git fsck. Es wurde mir nicht einmal gesagt, dass diese Dateien nicht Teil des Repos sind. Dies ist, was die Ausgabe $git fsckzeigt: -
Shirish
$ git fsck Checking object directories: 100% (256/256), done. Checking objects: 100% (1974/1974), done. Wie zu sehen ist, wurde mir nicht mitgeteilt, dass einige Dateien zum Repo hinzugefügt wurden. die nicht verfolgt werden (dh git weiß nichts über sie, da ich nicht verwendet habe $git-add. Ebenso, wenn eine Datei gelöscht wird, weiß ich nicht, ob git fsck es klappen würde oder nicht. Wenn jemand irgendwelche Ideen hat, teilen Sie bitte.
shirish
Was meinst du mit Entfernen von Dateien? Meinen Sie damit, Dinge im .gitOrdner zu ändern ? Oder dein Arbeitsbaum? Wenn Sie Dinge in Ihrem Arbeitsbaum geändert haben, verwenden Sie git status. Wenn Sie lokale Commits vorgenommen haben, git logwerden die Commits angezeigt und mit den richtigen Optionen können Sie eine Liste der Dateien oder den vollständigen Patch erhalten.
Zoredache
ah danke, git statusist was ich gesucht habe. Es hat mir gesagt, dass einige Dateien und Verzeichnisse nicht verfolgt werden. Würde es mir auch mitteilen / mitteilen, ob Dateien auf ähnliche Weise gelöscht werden? Noch eine Frage, wie schließe ich diese Frage? Ich sehe keine Möglichkeit, eine Frage zu schließen, sobald sie beantwortet wurde. Nochmals
vielen

Antworten:

6

Sie scheinen nach dem git statusBefehl zu suchen .

Vom Menschen git-status

Zeigt Pfade mit Unterschieden zwischen der Indexdatei und dem aktuellen HEAD-Commit, Pfade mit Unterschieden zwischen dem Arbeitsbaum und der Indexdatei sowie Pfade im Arbeitsbaum an, die nicht von git verfolgt werden (und von gitignore nicht ignoriert werden (5). ). Die ersten sind das, was Sie durch Ausführen von git commit festschreiben würden. Das zweite und dritte können Sie festschreiben, indem Sie git add ausführen, bevor Sie git commit ausführen.

Zoredache
quelle