Wir stehen zur Ukraine, um die Menschen in Sicherheit zu bringen. Mitmachen
DE
Wenn Sie über Links auf unserer Website einkaufen, erhalten wir möglicherweise eine Affiliate-Provision

Git für Mac

Versionskontrollsystem.

Kostenlos
Version 2.33.0
5.0
Basierend auf 1 Nutzerbewertung

Git Überblick

Git ist ein kostenloses und Open-Source-verteiltes Versionskontrollsystem, das entwickelt wurde, um alles von kleinen bis sehr großen Projekten schnell und effizient zu verwalten.

Git ist einfach zu lernen und hat einen kleinen Speicherbedarf mit blitzschneller Leistung. Es übertrifft SCM-Tools wie Subversion, CVS, Perforce und ClearCase mit Funktionen wie kostengünstigem lokalem Branching, praktischen Staging-Bereichen und mehreren Workflows.

Was ist neu in Version 2.33.0

Version 2.33.0:
UI, Workflows & Funktionen:
  • "git send-email" hat die Befehlszeilenoption "--sendmail-cmd" und die Konfigurationsvariable "sendemail.sendmailCmd" gelernt, was ein sinnvollerer Ansatz ist als die aktuelle Methode, den "smtp-server" umzupolen, der dazu gedacht ist, den Server zu benennen, um stattdessen den Befehl zu benennen, um mit dem Server zu kommunizieren.
  • Das Userdiff-Muster für C# hat das Token "record" gelernt.
  • "git rev-list" lernt, die "commit "-Headerzeilen mit der Option `--no-commit-header` aus der Ausgabe auszuschließen.
  • "git worktree add --lock" hat gelernt, aufzuzeichnen, warum der Arbeitsbaum mit einer benutzerdefinierten Nachricht gesperrt ist.
Leistung, interne Implementierung, Entwicklungsunterstützung usw.:
  • Der Code zur Handhabung der "--format"-Option in "for-each-ref" und Freunden hat zu viele Stringvergleiche auf %(atom)s verwendet, die im Format-String verwendet werden, was durch die Umwandlung in Enum beim Parsen des Format-Strings korrigiert wurde.
  • Verwenden Sie die Hashfile-API im Codepfad, der die Indexdatei schreibt, um Code-Duplikationen zu reduzieren.
  • Wiederholte Umbenennungsdetektionen in einer Sequenz von Merging-Operationen wurden für die 'ort'-Merge-Strategie optimiert.
  • Vorläufige Bereinigung von Tests, bevor die Hauptänderungen an der Reftabelle den Code erreichen.
  • Das Backend für "diff -G/-S" wurde aktualisiert, um die pcre2-Engine zu verwenden, wenn verfügbar.
  • Verwenden Sie ".DELETE_ON_ERROR"-Pseudo-Ziel, um unser Makefile zu vereinfachen.
  • Codebereinigung rund um die Funktionen struct_type_init().
  • Optimierung von "git send-email".
  • GitHub Actions / CI-Update. (Mergen Sie 0dc787a9f2 js/ci-windows-update später in maint).
  • Objektzugriffe in Repositories mit vielen alternativen Objekt-Speichern wurden optimiert.
  • "git log" wurde optimiert, um keine Zyklen zu verschwenden, um Ref-Dekorationsdaten zu laden, die möglicherweise nicht benötigt werden.
  • Viele "printf"-ähnliche Hilfsfunktionen, die wir haben, wurden mit __attribute__() annotiert, um Platzhalter-/Parameter-Mismatches zu erfassen.
  • Tests, die Protokollbits abdecken, wurden aktualisiert, und die dort verwendeten Helfer wurden konsolidiert.
  • Die CI hat einen neuen Job erhalten, um "make sparse"-Überprüfungen auszuführen.
  • Der Codepfad von "git status" hat gelernt, mit spärlich gefüllten Indizes zu arbeiten, ohne sie vollständig zu hydratisieren.
  • Eine Richtlinie für geschlechtsneutrale Dokumentation wurde hinzugefügt.
  • Die Dokumentation zu "git diff -l" und diff.renameLimit wurde aktualisiert, und die Standardwerte für diese Limits wurden erhöht.
  • Die Unterstützung für die Vervollständigung bot früher alternative Schreibweisen von Optionen, die nur zur Kompatibilität existieren, was korrigiert wurde.
  • "TEST_OUTPUT_DIRECTORY=there make test" funktionierte nicht, was korrigiert wurde.
  • "git bundle" erhielt mehr Testabdeckung.
  • "git read-tree" hatte einen Codepfad, bei dem Blobs einzeln vom versprochenen Remote abgerufen wurden, was korrigiert wurde, um sie in großen Mengen abzurufen.
  • Die Neuschreibung von "git submodule" in C geht weiter.
  • "git checkout" und "git commit" lernen, ohne unnötige Erweiterung spärlicher Indizes zu arbeiten.
Fehlerbehebungen:
  • Wir haben historisch einen sehr kurzen String als Autorennamen abgelehnt, während wir eine Patch-E-Mail akzeptiert haben, was gelockert wurde. (Mergen Sie 72ee47ceeb ef/mailinfo-short-name später in maint).
  • Der parallele Checkout-Codepfad hat das Objekt-ID-Feld, das verwendet wird, um mit den Arbeitsprozessen in einer zukunftssicheren Weise zu kommunizieren, nicht initialisiert.
  • Neuschreibung des Codes, der undefiniertes Verhalten auslöst. (Mergen Sie aafa5df0df jn/size-t-casted-to-off-t-fix später in maint).
  • Die Beschreibung von "fast-forward" im Glossar wurde aktualisiert. (Mergen Sie e22f2daed0 ry/clarify-fast-forward-in-glossary später in maint).
  • Das aktuelle "git clone" ließ ein temporäres Verzeichnis zurück, als die Transportebene einen Fehler zurückgab. (Mergen Sie 6aacb7d861 jk/clone-clean-upon-transport-error später in maint).
  • "git fetch" über Protokoll v2 ließ seine Seite des Sockets offen, nachdem es mit dem Sprechen fertig war, was unnötig Ressourcen auf der anderen Seite verschwendete. (Mergen Sie ae1a7eefff jk/fetch-pack-v2-half-close-early später in maint).
  • Die Befehlszeilenvervollständigung (in contrib/) hat gelernt, dass "git diff" die Option "--anchored" benötigt. (Mergen Sie d1e7c2cac9 tb/complete-diff-anchored später in maint).
  • "git-svn"-Tests gingen davon aus, dass "locale -a", das verwendet wird, um eine verfügbare UTF-8-Locale auszuwählen, überall verfügbar ist. Ein Regler wurde eingeführt, um Testern zu ermöglichen, eine geeignete Locale anzugeben. (Mergen Sie 482c962de4 dd/svn-test-wo-locale-a später in maint).
  • Aktualisieren Sie "git subtree", um besser unter Windows zu funktionieren. (Mergen Sie 77f37de39f js/subtree-on-windows-fix später in maint).
  • Multimail aus contrib/ entfernen (Mergen Sie f74d11471f js/no-more-multimail später in maint).
  • Machen Sie den Code sauber für MSAN. (Mergen Sie 4dbc55e87d ah/uninitialized-reads-fix später in maint).
  • Umgehen Sie ineffiziente Glob-Ersatz in älteren Versionen von Bash, indem Sie Teile eines Tests umschreiben. (Mergen Sie eb87c6f559 jx/t6020-with-older-bash später in maint).
  • Vermeiden Sie doppelte Arbeiten beim Erstellen von Erreichbarkeits-Bitmaps. (Mergen Sie aa9ad6fee5 jk/bitmap-tree-optim später in maint).
  • Wir haben "GIT_SKIP_TESTS=t?000" gebrochen, um bestimmte Tests in einem aktuellen Update zu überspringen, was behoben wurde.
  • Der Side-Band-Demultiplexer, der verwendet wird, um Fortschrittsausgaben vom Remote-Ende anzuzeigen, hat die Zeile nicht richtig gelöscht, wenn das Ende der Zeile an einer Paketgrenze erreicht wurde, was korrigiert wurde.
  • Einige Testskripte gingen davon aus, dass readlink(1) universell installiert und verfügbar ist, was nicht der Fall ist. (Mergen Sie 7c0afdf23c jk/test-without-readlink-1 später in maint).
  • Aktuelle Aktualisierungen des Vervollständigungs-Skripts (in contrib/) haben diejenigen, die den __git_complete-Helfer verwenden, um die Vervollständigung für ihren benutzerdefinierten Befehl zu definieren, gestört. (Mergen Sie cea232194d fw/complete-cmd-idx-fix später in maint).
  • Die Ausgabe einiger unserer Tests wurde von der Breite des Terminals beeinflusst, in dem sie ausgeführt wurden, was behoben wurde, indem ein fester Wert in der COLUMNS-Umgebung exportiert wurde. (Mergen Sie c49a177bec ab/fix-columns-to-80-during-tests später in maint).
  • Unter Windows hat das Mergetool gelernt, kdiff3.exe zu finden, genau wie es winmerge.exe findet. (Mergen Sie 47eb4c6890 ms/mergetools-kdiff3-on-windows später in maint).
  • Wenn wir nicht herausfinden können, wie breit das Terminal ist, verwenden wir selbst einen Fallback-Wert von 80 (was nicht vermieden werden kann), aber wenn wir den Pager ausführen, exportieren wir ihn in COLUMNS, was den Pager zwingt, den fest codierten Wert zu verwenden, selbst wenn der Pager in der Lage ist, ihn selbst herauszufinden. Hören Sie auf, COLUMNS zu exportieren, wenn wir auf den fest codierten Standardwert für unsere eigene Verwendung zurückgreifen.
  • "git cat-file --batch-all-objects" verhielt sich nicht richtig, wenn "--batch" verwendet wurde und fragte nicht nach bestimmten Objektmerkmalen. (Mergen Sie ee02ac6164 zh/cat-file-batch-fix später in maint).
  • Einige Code- und Dokumentationsklarstellungen rund um "git push".
  • Die "union"-Konfliktlösungsversion verhielt sich nicht richtig, wenn sie mit einem binären Merge-Driver verwendet wurde. (Mergen Sie 382b601acd jk/union-merge-binary später in maint).
  • Verhindern Sie, dass "git p4" Änderungen an binären Dateien nicht einreicht. (Mergen Sie 54662d5958 dc/p4-binary-submit-fix später in maint).
  • "git grep --and -e foo" hätte als Fehler diagnostiziert werden sollen, hat jedoch stattdessen einen Segfault verursacht, was korrigiert wurde. (Mergen Sie fe7fe62d8d rs/grep-parser-fix später in maint).
  • Der Merge-Code hatte seltsame Interaktionen zwischen inhaltsbasierter Umbenennungsdetektion und Verzeichnisumbenennungsdetektion. (Mergen Sie 3585d0ea23 en/merge-dir-rename-corner-case-fix später in maint).
  • Beim Wiederaufbau der Multi-Pack-Indexdatei unter Verwendung einer vorhandenen haben wir blind der vorhandenen Datei vertraut und endeten damit, korrupte Daten in die aktualisierte Datei zu übertragen, was korrigiert wurde. (Mergen Sie f89ecf7988 tb/midx-use-checksum später in maint).
  • Aktualisieren Sie den Speicherort der systemseitigen Konfigurationsdatei unter Windows. (Mergen Sie e355307692 js/gfw-system-config-loc-fix später in maint).
  • Der kürzlich hinzugefügte Code zur Unterstützung der Verhandlung über gemeinsame Vorfahren während "git push" hat seine Argumente nicht sorgfältig genug überprüft. (Mergen Sie eff40457a4 ab/fetch-negotiate-segv-fix später in maint).
  • Aktualisieren Sie die Dokumentation, um nicht anzunehmen, dass Benutzer eines bestimmten Geschlechts sind, und fügen Sie Richtlinien hinzu, dies zu tun. (Mergen Sie 46a237f42f ds/gender-neutral-doc später in maint).
  • "git commit --allow-empty-message" wird die Operation bei einer leeren Nachricht nicht abbrechen, aber der Hinweis, der im Editor angezeigt wird, sagt etwas anderes. (Mergen Sie 6f70f00b4f hj/commit-allow-empty-message später in maint).
  • Der Code, der eine Fehlermeldung in "git multi-pack-index" ausgibt, wenn kein Unterbefehl angegeben ist, hat versucht, einen NULL-Zeiger als starken Wert auszugeben, was korrigiert wurde. (Mergen Sie 88617d11f9 tb/reverse-midx später in maint).
  • CI-Update. (Mergen Sie a066a90db6 js/ci-check-whitespace-updates später in maint).
  • Dokumentationsfehler für "git pull --rebase=no". (Mergen Sie d3236becec fc/pull-no-rebase-merges-theirs-into-ours später in maint).
  • Ein Rennen zwischen Repacking und der Verwendung von Pack-Bitmaps wurde korrigiert. (Mergen Sie dc1daacdcc jk/check-pack-valid-before-opening-bitmap später in maint).
  • Die lokalen Änderungen, die durch "git merge --autostash" gespeichert wurden, gingen verloren, als der Merge auf bestimmte Weise fehlschlug, was korrigiert wurde.
  • Das Äquivalent von rmdir() unter Windows verhält sich anders als die POSIX-Versionen, da beim Einsatz auf einem symbolischen Link, der auf ein Verzeichnis zeigt, das Zielverzeichnis entfernt wird, was korrigiert wurde. (Mergen Sie 3e7d4888e5 tb/mingw-rmdir-symlink-to-directory später in maint).
  • Weitere Codebereinigungen, Dokumentationskorrekturen, Buildkorrekturen usw.:
  • (Mergen Sie bfe35a6165 ah/doc-describe später in maint).
  • (Mergen Sie f302c1e4aa jc/clarify-revision-range später in maint).
  • (Mergen Sie 3127ff90ea tl/fix-packfile-uri-doc später in maint).
  • (Mergen Sie a84216c684 jk/doc-color-pager später in maint).
  • (Mergen Sie 4e0a64a713 ab/trace2-squelch-gcc-warning später in maint).
  • (Mergen Sie 225f7fa847 ps/rev-list-object-type-filter später in maint).
  • (Mergen Sie 5317dfeaed dd/honor-users-tar-in-tests später in maint).
  • (Mergen Sie ace6d8e3d6 tk/partial-clone-repack-doc später in maint).
  • (Mergen Sie 7ba68e0cf1 js/trace2-discard-event-docfix später in maint).
  • (Mergen Sie 8603c419d3 fc/doc-default-to-upstream-config später in maint).
  • (Mergen Sie 1d72b604ef jk/revision-squelch-gcc-warning später in maint).
  • (Mergen Sie abcb66c614 ar/typofix später in maint).
  • (Mergen Sie 9853830787 ah/graph-typofix später in maint).
  • (Mergen Sie aac578492d ab/config-hooks-path-testfix später in maint).
  • (Mergen Sie 98c7656a18 ar/more-typofix später in maint).
  • (Mergen Sie 6fb9195f6c jk/doc-max-pack-size später in maint).
  • (Mergen Sie 4184cbd635 ar/mailinfo-memcmp-to-skip-prefix später in maint).
  • (Mergen Sie 91d2347033 ar/doc-libera-chat-in-my-first-contrib später in maint).
  • (Mergen Sie 338abb0f04 ab/cmd-foo-should-return später in maint).
  • (Mergen Sie 546096a5cb ab/xdiff-bug-cleanup später in maint).
  • (Mergen Sie b7b793d1e7 ab/progress-cleanup später in maint).
  • (Mergen Sie d94f9b8e90 ba/object-info später in maint).
  • (Mergen Sie 52ff891c03 ar/test-code-cleanup später in maint).
  • (Mergen Sie a0538e5c8b dd/document-log-decorate-default später in maint).
  • (Mergen Sie ce24797d38 mr/cmake später in maint).
  • (Mergen Sie 9eb542f2ee ab/pre-auto-gc-hook-test später in maint).
  • (Mergen Sie 9fffc38583 bk/doc-commit-typofix später in maint).
  • (Mergen Sie 1cf823d8f0 ks/submodule-cleanup später in maint).
  • (Mergen Sie ebbf5d2b70 js/config-mak-windows-pcre-fix später in maint).
  • (Mergen Sie 617480d75b hn/refs-iterator-peel-returns-boolean später in maint).
  • (Mergen Sie 6a24cc71ed ar/submodule-helper-include-cleanup später in maint).
  • (Mergen Sie 5632e838f8 rs/khash-alloc-cleanup später in maint).
  • (Mergen Sie b1d87fbaf1 jk/typofix später in maint).
  • (Mergen Sie e04170697a ab/gitignore-discovery-doc später in maint).
  • (Mergen Sie 8232a0ff48 dl/packet-read-response-end-fix später in maint).
  • (Mergen Sie eb448631fb dl/diff-merge-base später in maint).
  • (Mergen Sie c510928a25 hn/refs-debug-empty-prefix später in maint).
  • (Mergen Sie ddcb189d9d tb/bitmap-type-filter-comment-fix später in maint).
  • (Mergen Sie 878b399734 pb/submodule-recurse-doc später in maint).
  • (Mergen Sie 734283855f jk/config-env-doc später in maint).
  • (Mergen Sie 482e1488a9 ab/getcwd-test später in maint).
  • (Mergen Sie f0b922473e ar/doc-markup-fix später in maint).

Git für Mac

Kostenlos
Version 2.33.0
Schreiben Sie eine ausführliche Rezension zu Git

Schreiben Sie Ihre Gedanken in unserem klassischen Kommentarfeld

MacUpdate Kommentarrichtlinie. Wir empfehlen ausdrücklich, Kommentare zu hinterlassen – Kommentare mit beleidigenden Wörtern, Mobbing oder persönlichen Angriffen jeglicher Art werden moderiert.
5.0

(0 Rezensionen zu Git)

Es gibt noch keine Rezensionen
  • Kommentare

  • Nutzerbewertungen

Helfen Sie der Community
Es gibt noch keine Rezensionen – schreiben Sie die erste
kaysarahmed
kaysarahmed
Aug 27, 2026
2.33.0
5.0
Aug 27, 2026
5.0
Version: 2.33.0