2017-07-02 1 views
0

Ich habe festgestellt, dass, wenn ich einen Befehl in einem lokalen Git-Repository eingeben dauert es etwa 7-8 Sekunden, um Tastenanschläge und weitere 7-8 Sekunden zu registrieren, um den Befehl zu starten. Ich habe meine Logs von anderen Apps wie Antivirensoftware überprüft und nichts Obszönes gefunden. Ich benutze iTerm, aber ich habe auch überprüft, dass genau dasselbe bei der Verwendung von Terminal passiert.OSX-Terminal läuft langsam in Git-Repositories

Irgendwelche Ideen, was das Problem sein könnte?

Wenn es hilft, bin ich auf OSX Yosemite.

Antwort

1

Wahrscheinlich haben Sie etwas in Ihrer Shell-Eingabeaufforderung ausgeführt, das den aktuellen Status des Repositorys überprüft und meldet. Viele Shell-Frameworks werden dies tun (wie oh-my-zsh oder bash-it). Sie überprüfen den Status des Repositorys jedes Mal, wenn eine Eingabeaufforderung angezeigt wird.

Wenn Sie in einem Repository sind, das aus irgendeinem Grund sehr langsam seinen Status meldet, wird dieses Verhalten möglicherweise angezeigt. Mögliche Gründe sind:

  • Das Repository ist auf einem Speichergerät (Festplatte, USB-Stick, NAS), die ein Problem auftritt, und ist langsam zu reagieren.

  • Das Repository befindet sich in einem netzwerkgespeisten Dateisystem, das langsam reagiert.

  • Das Repository befindet sich in einem Dateisystem-Mount mit niedriger Leistung, z. B. in einer virtuellen Maschine.

+0

Ich benutze oh-my-zsh, also sind Sie wahrscheinlich richtig in diesem Teil. Das Repository befindet sich jedoch nicht in einem dieser drei Fälle. Es ist auf der internen SSD. Ich habe ungefähr 21 GB auf dem Laufwerk und das Problem tritt auf, selbst wenn mein aktuelles Verzeichnis in einem leeren Git Repo ist. Ich denke, ich habe nur ein anderes Repo auf meiner SSD und es ist nicht sehr groß. Überprüft oh-my-zsh nur den aktuellen Repo-Status? – joinkss

+0

@joinkss Wahrscheinlich ist der einfachste Test, mit einer anderen Shell in das Repository zu gehen ('exec/bin/bash' zum Beispiel), so dass oh-my-zsh prompt nicht aufgerufen wird, und git' git status', ' git log', etc sind langsam. Wenn sie sind, dann deutet das darauf hin, dass etwas im Repo tatsächlich langsam ist; Sonst ist oh-my-zsh wahrscheinlich schuld. –