Nous soutenons l’Ukraine pour aider à protéger les civils. Rejoignez-nous
FR
Lorsque vous achetez via les liens de notre site, nous pouvons percevoir une commission d’affiliation

Git pour Mac

Système de contrôle de version.

Gratuit
Version 2.33.0
5.0
D’après 1 note d’utilisateur

Aperçu de Git

Git est un système de contrôle de version distribué gratuit et open-source conçu pour gérer tout, des petits aux très grands projets avec rapidité et efficacité.

Git est facile à apprendre et a une empreinte minuscule avec des performances ultra-rapides. Il surpasse les outils SCM comme Subversion, CVS, Perforce et ClearCase avec des fonctionnalités telles que le branchement local peu coûteux, des zones de staging pratiques et plusieurs flux de travail.

Nouveautés de la version 2.33.0

Version 2.33.0:
Interface utilisateur, Flux de travail & Fonctionnalités :
  • "git send-email" a appris l'option de ligne de commande "--sendmail-cmd" et la variable de configuration "sendemail.sendmailCmd", qui est une approche plus sensée que la manière actuelle de réutiliser le "smtp-server" qui est censé nommer le serveur pour nommer à la place la commande pour parler au serveur.
  • Le modèle userdiff pour C# a appris le jeton "record".
  • "git rev-list" apprend à omettre les lignes d'en-tête "commit " de la sortie avec l'option `--no-commit-header`.
  • "git worktree add --lock" a appris à enregistrer pourquoi le worktree est verrouillé avec un message personnalisé.
Performance, Mise en œuvre interne, Support au développement, etc. :
  • Le code pour gérer l'option "--format" dans "for-each-ref" et amis faisait trop de comparaisons de chaînes sur %(atom)s utilisé dans la chaîne de format, ce qui a été corrigé en les convertissant en énumération lorsque la chaîne de format est analysée.
  • Utilisez l'API hashfile dans le chemin de code qui écrit le fichier d'index pour réduire la duplication de code.
  • Les détections de renommage répétées dans une séquence d'opérations de fusion ont été optimisées pour la stratégie de fusion 'ort'.
  • Nettoyage préliminaire des tests avant que les principaux changements de reftable n'atteignent la base de code.
  • Le backend pour "diff -G/-S" a été mis à jour pour utiliser le moteur pcre2 lorsque disponible.
  • Utilisez le pseudo-cible ".DELETE_ON_ERROR" pour simplifier notre Makefile.
  • Nettoyage du code autour des fonctions struct_type_init().
  • Optimisation de "git send-email".
  • Mise à jour des actions GitHub / CI. (fusion 0dc787a9f2 js/ci-windows-update plus tard à maint).
  • Les accès aux objets dans les dépôts avec de nombreux magasins d'objets alternatifs ont été optimisés.
  • "git log" a été optimisé pour ne pas gaspiller de cycles à charger des données de décoration de référence qui peuvent ne pas être nécessaires.
  • De nombreuses fonctions d'aide de type "printf" que nous avons ont été annotées avec __attribute__() pour attraper les incompatibilités de placeholder/paramètre.
  • Les tests qui couvrent les bits de protocole ont été mis à jour et les aides utilisées là-bas ont été consolidées.
  • Le CI a gagné un nouveau travail pour exécuter "make sparse" check.
  • Le chemin de code "git status" a appris à fonctionner avec un index peu peuplé sans l'hydrater complètement.
  • Une directive pour une documentation neutre en matière de genre a été ajoutée.
  • La documentation sur "git diff -l" et diff.renameLimit a été mise à jour, et les valeurs par défaut pour ces limites ont été augmentées.
  • Le support de complétion utilisé pour offrir une orthographe alternative des options qui existent uniquement pour la compatibilité, ce qui a été corrigé.
  • "TEST_OUTPUT_DIRECTORY=there make test" n'a pas fonctionné, ce qui a été corrigé.
  • "git bundle" a gagné plus de couverture de test.
  • "git read-tree" avait un chemin de code où les blobs sont récupérés un par un depuis le remote promisor, ce qui a été corrigé pour récupérer en masse.
  • La réécriture de "git submodule" en C se poursuit.
  • "git checkout" et "git commit" apprennent à fonctionner sans développer inutilement des index épars.
Corrections :
  • Nous avons historiquement rejeté une très courte chaîne comme nom d'auteur lors de l'acceptation d'un e-mail de patch, ce qui a été assoupli. (fusion 72ee47ceeb ef/mailinfo-short-name plus tard à maint).
  • Le chemin de code de checkout parallèle n'a pas initialisé le champ ID d'objet utilisé pour parler aux processus de travail de manière à l'épreuve du temps.
  • Réécriture du code qui déclenche un avertissement de comportement indéfini. (fusion aafa5df0df jn/size-t-casted-to-off-t-fix plus tard à maint).
  • La description de "fast-forward" dans le glossaire a été mise à jour. (fusion e22f2daed0 ry/clarify-fast-forward-in-glossary plus tard à maint).
  • Le récent "git clone" a laissé un répertoire temporaire derrière lorsque la couche de transport a renvoyé un échec. (fusion 6aacb7d861 jk/clone-clean-upon-transport-error plus tard à maint).
  • "git fetch" sur le protocole v2 a laissé son côté de la socket ouvert après avoir fini de parler, ce qui a gaspillé inutilement la ressource de l'autre côté. (fusion ae1a7eefff jk/fetch-pack-v2-half-close-early plus tard à maint).
  • La complétion de ligne de commande (dans contrib/) a appris que "git diff" prend l'option "--anchored". (fusion d1e7c2cac9 tb/complete-diff-anchored plus tard à maint).
  • Les tests "git-svn" supposaient que "locale -a", qui est utilisé pour choisir une locale UTF-8 disponible, est disponible partout. Un bouton a été introduit pour permettre aux testeurs de spécifier une locale appropriée à utiliser. (fusion 482c962de4 dd/svn-test-wo-locale-a plus tard à maint).
  • Mise à jour de "git subtree" pour mieux fonctionner sur Windows. (fusion 77f37de39f js/subtree-on-windows-fix plus tard à maint).
  • Suppression de multimail de contrib/ (fusion f74d11471f js/no-more-multimail plus tard à maint).
  • Rendre la base de code propre pour MSAN. (fusion 4dbc55e87d ah/uninitialized-reads-fix plus tard à maint).
  • Contourner la substitution glob inefficace dans les anciennes versions de bash en réécrivant des parties d'un test. (fusion eb87c6f559 jx/t6020-with-older-bash plus tard à maint).
  • Éviter le travail dupliqué lors de la construction de bitmaps de portée. (fusion aa9ad6fee5 jk/bitmap-tree-optim plus tard à maint).
  • Nous avons cassé "GIT_SKIP_TESTS=t?000" pour sauter certains tests dans la mise à jour récente, ce qui a été corrigé.
  • Le démultiplexeur de bande latérale utilisé pour afficher la sortie de progression de l'extrémité distante n'a pas effacé correctement la ligne lorsque la fin de ligne atteint une limite de paquet, ce qui a été corrigé.
  • Certains scripts de test supposaient que readlink(1) était universellement installé et disponible, ce qui n'est pas le cas. (fusion 7c0afdf23c jk/test-without-readlink-1 plus tard à maint).
  • La mise à jour récente du script de complétion (dans contrib/) a cassé ceux qui utilisent l'assistant __git_complete pour définir la complétion pour leur commande personnalisée. (fusion cea232194d fw/complete-cmd-idx-fix plus tard à maint).
  • La sortie de certains de nos tests a été affectée par la largeur du terminal dans lequel ils ont été exécutés, ce qui a été corrigé en exportant une valeur fixe dans l'environnement COLUMNS. (fusion c49a177bec ab/fix-columns-to-80-during-tests plus tard à maint).
  • Sous Windows, mergetool a été appris à trouver kdiff3.exe tout comme il trouve winmerge.exe. (fusion 47eb4c6890 ms/mergetools-kdiff3-on-windows plus tard à maint).
  • Lorsque nous ne pouvons pas déterminer la largeur du terminal, nous utilisons une valeur de secours de 80 nous-mêmes (ce qui ne peut pas être évité), mais lorsque nous exécutons le pager, nous l'exportons dans COLUMNS, ce qui force le pager à utiliser la valeur codée en dur, même lorsque le pager est parfaitement capable de le déterminer lui-même. Arrêtez d'exporter COLUMNS lorsque nous revenons à la valeur par défaut codée en dur pour notre propre usage. (fusion 9b6e2c8b98 js/stop-exporting-bogus-columns plus tard à maint).
  • "git cat-file --batch-all-objects"" se comportait mal lorsque "--batch" est utilisé et ne demandait pas certains traits d'objet. (fusion ee02ac6164 zh/cat-file-batch-fix plus tard à maint).
  • Certaines clarifications de code et de documentation autour de "git push".
  • La variante de résolution de conflit "union" se comportait mal lorsqu'elle était utilisée avec un pilote de fusion binaire. (fusion 382b601acd jk/union-merge-binary plus tard à maint).
  • Empêcher "git p4" d'échouer à soumettre des modifications à un fichier binaire. (fusion 54662d5958 dc/p4-binary-submit-fix plus tard à maint).
  • "git grep --and -e foo" aurait dû être diagnostiqué comme une erreur mais a plutôt provoqué un segfault, ce qui a été corrigé. (fusion fe7fe62d8d rs/grep-parser-fix plus tard à maint).
  • Le code de fusion avait des interactions étranges entre la détection de renommage basée sur le contenu et la détection de renommage de répertoire. (fusion 3585d0ea23 en/merge-dir-rename-corner-case-fix plus tard à maint).
  • Lors de la reconstruction du fichier d'index multi-pack en réutilisant un existant, nous avions tendance à faire confiance aveuglément au fichier existant et avons fini par transporter des données corrompues dans le fichier mis à jour, ce qui a été corrigé. (fusion f89ecf7988 tb/midx-use-checksum plus tard à maint).
  • Mise à jour de l'emplacement du fichier de configuration côté système sur Windows. (fusion e355307692 js/gfw-system-config-loc-fix plus tard à maint).
  • Le code récemment ajouté pour prendre en charge la négociation d'ancêtres communs lors de "git push" n'a pas vérifié soigneusement ses arguments. (fusion eff40457a4 ab/fetch-negotiate-segv-fix plus tard à maint).
  • Mise à jour de la documentation pour ne pas supposer que les utilisateurs sont d'un certain genre et ajoute des directives pour le faire. (fusion 46a237f42f ds/gender-neutral-doc plus tard à maint).
  • "git commit --allow-empty-message" ne va pas interrompre l'opération en cas de message vide, mais l'indice affiché dans l'éditeur disait le contraire. (fusion 6f70f00b4f hj/commit-allow-empty-message plus tard à maint).
  • Le code qui donne un message d'erreur dans "git multi-pack-index" lorsqu'aucun sous-commande n'est donnée a essayé d'imprimer un pointeur NULL comme une chaîne, ce qui a été corrigé. (fusion 88617d11f9 tb/reverse-midx plus tard à maint).
  • Mise à jour CI. (fusion a066a90db6 js/ci-check-whitespace-updates plus tard à maint).
  • Correction de documentation pour "git pull --rebase=no". (fusion d3236becec fc/pull-no-rebase-merges-theirs-into-ours plus tard à maint).
  • Une course entre le reconditionnement et l'utilisation de bitmaps de pack a été corrigée. (fusion dc1daacdcc jk/check-pack-valid-before-opening-bitmap plus tard à maint).
  • Les modifications locales mises de côté par "git merge --autostash" ont été perdues lorsque la fusion a échoué de certaines manières, ce qui a été corrigé.
  • L'équivalent de Windows rmdir() se comporte différemment des versions POSIX en ce sens que lorsqu'il est utilisé sur un lien symbolique qui pointe vers un répertoire, le répertoire cible est supprimé, ce qui a été corrigé. (fusion 3e7d4888e5 tb/mingw-rmdir-symlink-to-directory plus tard à maint).
  • Autres nettoyages de code, corrections de documentation, corrections de construction, etc. :
  • (fusion bfe35a6165 ah/doc-describe plus tard à maint).
  • (fusion f302c1e4aa jc/clarify-revision-range plus tard à maint).
  • (fusion 3127ff90ea tl/fix-packfile-uri-doc plus tard à maint).
  • (fusion a84216c684 jk/doc-color-pager plus tard à maint).
  • (fusion 4e0a64a713 ab/trace2-squelch-gcc-warning plus tard à maint).
  • (fusion 225f7fa847 ps/rev-list-object-type-filter plus tard à maint).
  • (fusion 5317dfeaed dd/honor-users-tar-in-tests plus tard à maint).
  • (fusion ace6d8e3d6 tk/partial-clone-repack-doc plus tard à maint).
  • (fusion 7ba68e0cf1 js/trace2-discard-event-docfix plus tard à maint).
  • (fusion 8603c419d3 fc/doc-default-to-upstream-config plus tard à maint).
  • (fusion 1d72b604ef jk/revision-squelch-gcc-warning plus tard à maint).
  • (fusion abcb66c614 ar/typofix plus tard à maint).
  • (fusion 9853830787 ah/graph-typofix plus tard à maint).
  • (fusion aac578492d ab/config-hooks-path-testfix plus tard à maint).
  • (fusion 98c7656a18 ar/more-typofix plus tard à maint).
  • (fusion 6fb9195f6c jk/doc-max-pack-size plus tard à maint).
  • (fusion 4184cbd635 ar/mailinfo-memcmp-to-skip-prefix plus tard à maint).
  • (fusion 91d2347033 ar/doc-libera-chat-in-my-first-contrib plus tard à maint).
  • (fusion 338abb0f04 ab/cmd-foo-should-return plus tard à maint).
  • (fusion 546096a5cb ab/xdiff-bug-cleanup plus tard à maint).
  • (fusion b7b793d1e7 ab/progress-cleanup plus tard à maint).
  • (fusion d94f9b8e90 ba/object-info plus tard à maint).
  • (fusion 52ff891c03 ar/test-code-cleanup plus tard à maint).
  • (fusion a0538e5c8b dd/document-log-decorate-default plus tard à maint).
  • (fusion ce24797d38 mr/cmake plus tard à maint).
  • (fusion 9eb542f2ee ab/pre-auto-gc-hook-test plus tard à maint).
  • (fusion 9fffc38583 bk/doc-commit-typofix plus tard à maint).
  • (fusion 1cf823d8f0 ks/submodule-cleanup plus tard à maint).
  • (fusion ebbf5d2b70 js/config-mak-windows-pcre-fix plus tard à maint).
  • (fusion 617480d75b hn/refs-iterator-peel-returns-boolean plus tard à maint).
  • (fusion 6a24cc71ed ar/submodule-helper-include-cleanup plus tard à maint).
  • (fusion 5632e838f8 rs/khash-alloc-cleanup plus tard à maint).
  • (fusion b1d87fbaf1 jk/typofix plus tard à maint).
  • (fusion e04170697a ab/gitignore-discovery-doc plus tard à maint).
  • (fusion 8232a0ff48 dl/packet-read-response-end-fix plus tard à maint).
  • (fusion eb448631fb dl/diff-merge-base plus tard à maint).
  • (fusion c510928a25 hn/refs-debug-empty-prefix plus tard à maint).
  • (fusion ddcb189d9d tb/bitmap-type-filter-comment-fix plus tard à maint).
  • (fusion 878b399734 pb/submodule-recurse-doc plus tard à maint).
  • (fusion 734283855f jk/config-env-doc plus tard à maint).
  • (fusion 482e1488a9 ab/getcwd-test plus tard à maint).
  • (fusion f0b922473e ar/doc-markup-fix plus tard à maint).

Git pour Mac

Gratuit
Version 2.33.0
Rédigez un avis détaillé sur Git

Écrivez ce que vous en pensez dans notre bon vieux champ de commentaire

Politique de commentaires de MacUpdate. Nous vous encourageons vivement à laisser des commentaires ; ceux qui contiennent des propos injurieux, du harcèlement ou des attaques personnelles seront modérés.
5.0

(0 avis sur Git)

Il n’y a pas encore d’avis
  • Commentaires

  • Notes des utilisateurs

Aidez la communauté
Il n’y a pas encore d’avis, soyez le premier à en laisser un
kaysarahmed
kaysarahmed
Aug 27, 2026
2.33.0
5.0
Aug 27, 2026
5.0
Version: 2.33.0