GIT

Logiciel capture d'écran:
GIT
Détails logiciels:
Version: 2.16.0 Mise à jour
Date de transfert: 20 Jan 18
Développeur: Junio C Hamano
Licence: Gratuit
Popularité: 252

Rating: 2.5/5 (Total Votes: 2)

Git est l'un des systèmes de contrôle de version distribué les plus utilisés, décrit par les développeurs du monde entier comme le premier service VCS. Il fonctionne uniquement à partir du terminal, mais plusieurs frontaux sont disponibles en téléchargement.

C'est une application de système de contrôle de version libre et open source qui peut gérer des projets petits et grands avec un maximum d'efficacité et de rapidité. Le programme peut être facilement décrit comme étant petit, rapide et distribué.


Options de ligne de commande

Le programme vient avec une poignée de commandes qui peuvent être facilement mémorisées par n'importe qui dès le départ. Toutes les opérations sont effectuées localement et ont été conçues pour fonctionner sur le noyau Linux.

Les commandes incluses sont: add, bisect, branche, checkout, clone, commit, diff, fetch, grep, init, log, fusion, mv, pull, push, rebase, reset, rm, show, status, et tag. Vous pouvez facilement apprendre ce que fait chaque commande en exécutant la commande git --help à partir d'une fenêtre de terminal.


Caractéristiques en un coup d'oeil

Lors de l'utilisation de Git, les utilisateurs pourront ajouter des fichiers, parcourir des branches ou des chemins, cloner des dépôts, créer des dépôts Git vides, rejoindre plusieurs historiques de développement, afficher le statut de l'arbre de travail, enregistrer les changements, créer, supprimer des branches.

De plus, l'application permet aux utilisateurs d'afficher les changements entre les commits et les arbres de travail, imprimer les lignes qui correspondent à un modèle, consulter les logs de commit, télécharger des refs et des objets, renommer ou déplacer des fichiers, symlinks et répertoires des fichiers d'un arbre de travail.


Diverses interfaces graphiques existent

Même s'il s'agit d'un logiciel en ligne de commande, différentes interfaces graphiques (GUI) sont disponibles, y compris git-cola, SmartGit, GitEye, giggle et gitg. Le projet surclasse les utilitaires SCM (Software Configuration Management), tels que CVS, Subversion, ClearCase et Perforce, avec des branches locales bon marché, des flux de travail multiples et des zones de transit pratiques.


Ligne de fond

En résumé, Git est un système de contrôle de version gratuit qui offre des performances rapides comme l'éclair, il est facile à apprendre et a un très faible encombrement. Avec Git, vous pouvez effectuer un changement de contexte sans friction, des lignes de code basées sur les rôles, un flux de travail basé sur les fonctions et des expérimentations jetables.

Nouveautés de cette version:

  • Une fonction d'aide pour lire une seule ligne entière dans strbuf a déclenché par erreur une erreur de MOO à EOF dans certaines conditions, qui a été corrigé.
  • En plus de "cc: # cruft", "cc: a@dd.re.ss # cruft & quot; a été enseigné à "git send-email" comme un moyen valable de lui dire qu'il doit également envoyer une copie carbone dans la section de la remorque.
  • Correction de la régression de & quot; gitk --bisect & quot; par une mise à jour récente.
  • Contrairement à "git commit-tree & lt; fichier & quot ;, & quot; git commit-tree -F fichier & quot; n'a pas passé le contenu du fichier verbatim et a complété une ligne incomplète à la fin, si elle existe. Ce dernier a été mis à jour pour correspondre au comportement de l'ancien.
  • & quot; git archive & quot ;, en particulier lorsqu'il est utilisé avec pathspec, stocke un répertoire vide dans sa sortie, même si Git lui-même ne le fait jamais. Cela a été corrigé.
  • Vérification des erreurs de l'API, ce qui arrive également aux avertissements de GCC.
  • & quot; git gc & quot; essaie d'éviter d'exécuter deux instances en même temps en lisant et en écrivant pid / host depuis et vers un fichier lock; il utilisait un format fscanf () incorrect lors de la lecture, qui a été corrigé.
  • On a enseigné au testeur que nous n'aimons pas "echo -e".
  • Code cmp.std.c nitpick.
  • & quot; git décrire --match & quot; appris à prendre plusieurs modèles dans la série v2.13, mais la fonctionnalité ignoré les modèles après le premier et n'a pas fonctionné du tout. Cela a été corrigé.
  • & quot; git cat-file --textconv & quot; commencé à segfaulting récemment, qui a été corrigé.
  • Le motif intégré pour détecter l'en-tête de la fonction & quot; pour HTML ne correspond pas .. éléments sans attributs, qui a été corrigé.
  • & quot; git mailinfo & quot; était lâche dans le décodage cité imprimable et produit des ordures lorsque les deux lettres après le signe égal ne sont pas hexadécimales. Cela a été corrigé.
  • La documentation de '-X' pour les fusions était écrite de manière trompeuse pour suggérer que "leurs" & quot; existe, ce qui n'est pas le cas.
  • Épelez le nom de notre système en tant que & quot; Git & quot; dans la sortie du script request-pull.
  • Corrige un problème d'accès à la mémoire identifié par valgrind.
  • Les rétroportages d'un équivalent moral de 2015 corrigent l'émulation d'interrogation du gnulib en amont pour corriger les ruptures occasionnelles sur HPE NonStop.
  • Dans le & quot; - format = ... & quot; option du "git for-each-ref" commande (et ses amis, c'est-à-dire le mode de listage de "git branch / tag"), & quot;% (atom:) & quot; (par exemple, "% (refname:)", "% (body:)" utilisé pour l'erreur, les traite comme si le signe deux-points et une chaîne vide qui le suivait n'étaient pas présents.
  • Utilisateurs avec & quot; color.ui = always & quot; dans leur configuration ont été cassés par un changement récent qui a fait des commandes de plomberie pour leur faire attention comme le patch créé en interne par "git add -p & quot; ont été colorés (heh) et rendus inutilisables. Cela a été corrigé.
  • & quot; branche git -M a b & quot; alors que sur une branche qui n'est pas du tout liée à la branche A ou à la branche B, elle s'est mal conduite lorsque plusieurs arbres de travail étaient utilisés. Cela a été corrigé.
  • & quot; git fast-export & quot; avec l'option -M / -C émise "copier"; instruction sur un chemin qui est simultanément modifié, ce qui était incorrect.
  • La commande de point de contrôle & quot; git fast-import & quot; n'a pas vider les mises à jour des références et des marques sauf si au moins un objet a été créé depuis le dernier point de contrôle, qui a été corrigé, car ces choses peuvent se produire sans qu'aucun nouvel objet ne soit créé.
  • Les scripts pour piloter TravisCI ont été réorganisés puis une optimisation pour éviter les cycles de dépenses sur une branche dont le tip est tagué a été implémentée.
  • & quot; git fetch: & quot; permet à un nom d'objet sur le côté lorsque l'autre camp accepte une telle requête depuis Git v2.5, mais la documentation a été laissée de côté.
  • Une régression dans 2.11 qui a fait que le code lise la liste des autres objets stockés à la fin de la chaîne a été corrigé.

Nouveautés dans la version 2.15.1:

  • Une fonction d'aide pour lire une seule ligne entière dans strbuf a déclenché par erreur une erreur de MOO à EOF dans certaines conditions, qui a été corrigé.
  • En plus de "cc: # cruft", "cc: a@dd.re.ss # cruft & quot; a été enseigné à "git send-email" comme un moyen valable de lui dire qu'il doit également envoyer une copie carbone dans la section de la remorque.
  • Correction de la régression de & quot; gitk --bisect & quot; par une mise à jour récente.
  • Contrairement à "git commit-tree & lt; fichier & quot ;, & quot; git commit-tree -F fichier & quot; n'a pas passé le contenu du fichier verbatim et a complété une ligne incomplète à la fin, si elle existe. Ce dernier a été mis à jour pour correspondre au comportement de l'ancien.
  • & quot; git archive & quot ;, en particulier lorsqu'il est utilisé avec pathspec, stocke un répertoire vide dans sa sortie, même si Git lui-même ne le fait jamais. Cela a été corrigé.
  • Vérification des erreurs de l'API, ce qui arrive également aux avertissements de GCC.
  • & quot; git gc & quot; essaie d'éviter d'exécuter deux instances en même temps en lisant et en écrivant pid / host depuis et vers un fichier lock; il utilisait un format fscanf () incorrect lors de la lecture, qui a été corrigé.
  • On a enseigné au testeur que nous n'aimons pas "echo -e".
  • Code cmp.std.c nitpick.
  • & quot; git décrire --match & quot; appris à prendre plusieurs modèles dans la série v2.13, mais la fonctionnalité ignoré les modèles après le premier et n'a pas fonctionné du tout. Cela a été corrigé.
  • & quot; git cat-file --textconv & quot; commencé à segfaulting récemment, qui a été corrigé.
  • Le motif intégré pour détecter l'en-tête de la fonction & quot; pour HTML ne correspond pas .. éléments sans attributs, qui a été corrigé.
  • & quot; git mailinfo & quot; était lâche dans le décodage cité imprimable et produit des ordures lorsque les deux lettres après le signe égal ne sont pas hexadécimales. Cela a été corrigé.
  • La documentation de '-X' pour les fusions était écrite de manière trompeuse pour suggérer que "leurs" & quot; existe, ce qui n'est pas le cas.
  • Épelez le nom de notre système en tant que & quot; Git & quot; dans la sortie du script request-pull.
  • Corrige un problème d'accès à la mémoire identifié par valgrind.
  • Les rétroportages d'un équivalent moral de 2015 corrigent l'émulation d'interrogation du gnulib en amont pour corriger les ruptures occasionnelles sur HPE NonStop.
  • Dans le & quot; - format = ... & quot; option du "git for-each-ref" commande (et ses amis, c'est-à-dire le mode de listage de "git branch / tag"), & quot;% (atom:) & quot; (par exemple, "% (refname:)", "% (body:)" utilisé pour l'erreur, les traite comme si le signe deux-points et une chaîne vide qui le suivait n'étaient pas présents.
  • Utilisateurs avec & quot; color.ui = always & quot; dans leur configuration ont été cassés par un changement récent qui a fait des commandes de plomberie pour leur faire attention comme le patch créé en interne par "git add -p & quot; ont été colorés (heh) et rendus inutilisables. Cela a été corrigé.
  • & quot; branche git -M a b & quot; alors que sur une branche qui n'est pas du tout liée à la branche A ou à la branche B, elle s'est mal conduite lorsque plusieurs arbres de travail étaient utilisés. Cela a été corrigé.
  • & quot; git fast-export & quot; avec l'option -M / -C émise "copier"; instruction sur un chemin qui est simultanément modifié, ce qui était incorrect.
  • La commande de point de contrôle & quot; git fast-import & quot; n'a pas vider les mises à jour des références et des marques sauf si au moins un objet a été créé depuis le dernier point de contrôle, qui a été corrigé, car ces choses peuvent se produire sans qu'aucun nouvel objet ne soit créé.
  • Les scripts pour piloter TravisCI ont été réorganisés puis une optimisation pour éviter les cycles de dépenses sur une branche dont le tip est tagué a été implémentée.
  • & quot; git fetch: & quot; permet à un nom d'objet sur le côté lorsque l'autre camp accepte une telle requête depuis Git v2.5, mais la documentation a été laissée de côté.
  • Une régression dans 2.11 qui a fait que le code lise la liste des autres objets stockés à la fin de la chaîne a été corrigé.

Nouveautés dans la version 2.15.0:

  • Une fonction d'aide pour lire une seule ligne entière dans strbuf a déclenché par erreur une erreur de MOO à EOF dans certaines conditions, qui a été corrigé.
  • En plus de "cc: # cruft", "cc: a@dd.re.ss # cruft & quot; a été enseigné à "git send-email" comme un moyen valable de lui dire qu'il doit également envoyer une copie carbone dans la section de la remorque.
  • Correction de la régression de & quot; gitk --bisect & quot; par une mise à jour récente.
  • Contrairement à "git commit-tree & lt; fichier & quot ;, & quot; git commit-tree -F fichier & quot; n'a pas passé le contenu du fichier verbatim et a complété une ligne incomplète à la fin, si elle existe. Ce dernier a été mis à jour pour correspondre au comportement de l'ancien.
  • & quot; git archive & quot ;, en particulier lorsqu'il est utilisé avec pathspec, stocke un répertoire vide dans sa sortie, même si Git lui-même ne le fait jamais. Cela a été corrigé.
  • Vérification des erreurs de l'API, ce qui arrive également aux avertissements de GCC.
  • & quot; git gc & quot; essaie d'éviter d'exécuter deux instances en même temps en lisant et en écrivant pid / host depuis et vers un fichier lock; il utilisait un format fscanf () incorrect lors de la lecture, qui a été corrigé.
  • On a enseigné au testeur que nous n'aimons pas "echo -e".
  • Code cmp.std.c nitpick.
  • & quot; git décrire --match & quot; appris à prendre plusieurs modèles dans la série v2.13, mais la fonctionnalité ignoré les modèles après le premier et n'a pas fonctionné du tout. Cela a été corrigé.
  • & quot; git cat-file --textconv & quot; commencé à segfaulting récemment, qui a été corrigé.
  • Le motif intégré pour détecter l'en-tête de la fonction & quot; pour HTML ne correspond pas .. éléments sans attributs, qui a été corrigé.
  • & quot; git mailinfo & quot; était lâche dans le décodage cité imprimable et produit des ordures lorsque les deux lettres après le signe égal ne sont pas hexadécimales. Cela a été corrigé.
  • La documentation de '-X' pour les fusions était écrite de manière trompeuse pour suggérer que "leurs" & quot; existe, ce qui n'est pas le cas.
  • Épelez le nom de notre système en tant que & quot; Git & quot; dans la sortie du script request-pull.
  • Corrige un problème d'accès à la mémoire identifié par valgrind.
  • Les rétroportages d'un équivalent moral de 2015 corrigent l'émulation d'interrogation du gnulib en amont pour corriger les ruptures occasionnelles sur HPE NonStop.
  • Dans le & quot; - format = ... & quot; option du "git for-each-ref" commande (et ses amis, c'est-à-dire le mode de listage de "git branch / tag"), & quot;% (atom:) & quot; (par exemple, "% (refname:)", "% (body:)" utilisé pour l'erreur, les traite comme si le signe deux-points et une chaîne vide qui le suivait n'étaient pas présents.
  • Utilisateurs avec & quot; color.ui = always & quot; dans leur configuration ont été cassés par un changement récent qui a fait des commandes de plomberie pour leur faire attention comme le patch créé en interne par "git add -p & quot; ont été colorés (heh) et rendus inutilisables. Cela a été corrigé.
  • & quot; branche git -M a b & quot; alors que sur une branche qui n'est pas du tout liée à la branche A ou à la branche B, elle s'est mal conduite lorsque plusieurs arbres de travail étaient utilisés. Cela a été corrigé.
  • & quot; git fast-export & quot; avec l'option -M / -C émise "copier"; instruction sur un chemin qui est simultanément modifié, ce qui était incorrect.
  • La commande de point de contrôle & quot; git fast-import & quot; n'a pas vider les mises à jour des références et des marques sauf si au moins un objet a été créé depuis le dernier point de contrôle, qui a été corrigé, car ces choses peuvent se produire sans qu'aucun nouvel objet ne soit créé.
  • Les scripts pour piloter TravisCI ont été réorganisés puis une optimisation pour éviter les cycles de dépenses sur une branche dont le tip est tagué a été implémentée.
  • & quot; git fetch: & quot; permet à un nom d'objet sur le côté lorsque l'autre camp accepte une telle requête depuis Git v2.5, mais la documentation a été laissée de côté.
  • Une régression dans 2.11 qui a fait que le code lise la liste des autres objets stockés à la fin de la chaîne a été corrigé.

Quoi de neuf dans la version 2.14.1:

  • Cette version transmet le correctif pour & quot; ssh: //...quot; URL de Git v2.7.6

Nouveautés dans la version 2.9.3:

  • * Une fonction d'assistance qui prend le contenu d'un objet commit et trouve sa ligne d'objet n'ignore pas les lignes vides principales, comme cela est couramment fait par d'autres chemins de code. Faites en sorte qu'il ignore les premières lignes vides pour correspondre.
  • Git ne sait pas quel devrait être le contenu de l'index pour un chemin ajouté avec "git add -N", donc "git grep --cached" ne devrait pas montrer les hits (ou montrer le manque de hits, avec -L ) dans un tel chemin, mais cette logique ne s'applique pas à "git grep", c'est-à-dire la recherche dans les fichiers de l'arbre de travail. Mais nous l'avons fait par erreur, ce qui a été corrigé.
  • "git rebase -i --autostash" n'a pas restauré la modification automatique lorsque l'opération a été abandonnée.
  • "git commit --amend --allow-vide-message -S" pour un commit sans aucun corps de message pourrait avoir mal identifié où se termine l'en-tête de l'objet commit.
  • Plus de mises à jour de balises pour les chaînes typées qui sont littéralement typées par l'utilisateur final dans une police à largeur fixe.
  • Pendant longtemps, nous avons publié un commentaire dans le code indiquant que notre sortie colorée ne fonctionnerait que si nous utilisions fprintf / fputs sous Windows, ce qui n'est plus le cas ces dernières années.
  • "gc.autoPackLimit" lorsqu'il est mis à 1 ne devrait pas déclencher un reconditionnement quand il n'y a qu'un seul paquet, mais le code a été mal compté et l'a fait.
  • Une partie de "git am" avait une fonction d'aide bizarre qui appelait des choses de l'extérieur de "son" plutôt que d'appeler ce que nous avons "nôtre", qui n'était pas neutre et incompatible avec le reste du système Les choses extérieures sont généralement appelées "les leurs" contrairement à "les nôtres".
  • Le framework de test a appris une nouvelle aide test_match_signal pour vérifier qu'un code de sortie ne soit pas tué par un signal attendu.
  • "git blame -M" a manqué une ligne qui a été déplacée dans le fichier.
  • Correction des chemins de code récemment introduits qui sont impliqués dans les opérations de sous-modules parallèles, qui ont renoncé trop tôt à la lecture, et qui auraient pu gaspiller du CPU en essayant d'écrire sous une condition de coin.
  • "git grep -i" a appris à replier le casse dans des environnements locaux non-ascii correctement.
  • Un test qui utilise inconditionnellement "mktemp" a appris que la commande n'est pas nécessairement disponible partout.
  • "git blame file" permettait d'inspecter le lignage des lignes du contenu non-validé non-validé de "file", mais il refusait lorsque "file" n'apparaissait pas dans le commit actuel. Lorsque "fichier" a été créé en renommant un fichier existant (mais la modification n'a pas été validée), cette restriction était inutilement restreinte.
  • "git add -N répertoire / fichier &" git write-tree "a généré un arbre incorrect quand il y a d'autres chemins dans le même répertoire qui trie après" fichier ".
  • "git fetch http: // utilisateur: pass @ host / repo ..." nettoyait la partie userinfo, mais pas "git push".
  • Un bug ancien qui provoquait une mauvaise utilisation de "git diff --ignore-space-at-eol" a été corrigé.
  • "git notes merge" avait un code pour voir si un chemin existe (et échoue si c'est le cas) et ensuite ouvrir le chemin pour l'écriture (quand ce n'est pas le cas). Remplacez-le par open avec O_EXCL.
  • "git pack-objects" et "git-index-pack" fonctionnent principalement avec off_t quand on parle du décalage des objets dans un fichier pack, mais il y avait une poignée d'endroits qui utilisaient "unsigned long" pour contenir cette valeur. à une troncature involontaire.
  • La mise à jour récente de "git daemon" essaie d'activer KEEPALIVE au niveau du socket, mais lorsqu'elle est générée via inetd, le descripteur de fichier d'entrée standard n'est peut-être pas nécessairement connecté à un socket. Supprime une erreur ENOTSOCK de setsockopt ().
  • FreeBSD récent a arrêté de rendre perl disponible dans / usr / bin / perl; changez par défaut le chemin intégré vers / usr / local / bin / perl sur des versions de FreeBSD pas trop anciennes.
  • "git status" a appris à suggérer "merge --abort" lors d'une fusion conflictuelle, tout comme il suggère déjà "rebase --abort" lors d'un rebasement en conflit.
  • Les sources .c / .h sont marquées comme telles dans notre fichier .gitattributes de sorte que "git diff -W" et les amis fonctionnent mieux.
  • Le test généré par autoconf existant pour le besoin de lier avec la bibliothèque pthread n'a pas vérifié toutes les fonctions des bibliothèques pthread; FreeBSD récent a quelques fonctions dans libc mais pas dans d'autres, et nous avons pensé à tort que la liaison avec libc suffisait quand ce n'est pas le cas.
  • Autoriser les tests du démon http dans les tests Travis CI.
  • Les utilisateurs de la fonction API parse_options_concat () ont besoin d'allouer des slots supplémentaires à l'avance et de les remplir avec OPT_END () lorsqu'ils veulent décider dynamiquement de l'ensemble des options supportées, ce qui rend le code sujet aux erreurs et difficile à lire. Cela a été corrigé en modifiant l'API pour allouer et renvoyer une nouvelle copie du tableau "struct option".
  • L'utilisation de strbuf dans "git rm" pour construire le nom de fichier à supprimer était un peu sous-optimal, ce qui a été corrigé.
  • "git commit --help" dit "--no-verify" ne parle que d'ignorer le hook de pré-commit, et n'a pas réussi à dire qu'il a également ignoré le hook commit-msg.
  • "Git Merge" dans Git v2.9 a été enseigné pour interdire de fusionner des lignes d'histoire indépendantes par défaut, mais c'est exactement le genre de chose que le mode "--rejoin" de "git subtree" (dans contrib /) veut faire. "git subtree" a appris à utiliser l'option "--allow-unrelated-histories" pour remplacer la valeur par défaut.
  • La procédure de construction de l'aide "git persistante-https" (dans contrib /) a été mise à jour afin de pouvoir être compilée avec des versions plus récentes de Go.
  • Il y a une optimisation utilisée dans "git diff $ treeA $ treeB" pour emprunter une copie déjà extraite dans l'arbre de travail quand on sait qu'elle est la même que la blob comparée, en espérant que open / mmap de telle un fichier est plus rapide que de le lire depuis le magasin d'objets, ce qui implique de gonfler et d'appliquer delta. Cependant, ceci a été lancé même lorsque la copie extraite doit passer par la conversion convert-to-git (y compris le filtre clean), ce qui détruit tout le point de l'optimisation. L'optimisation a été désactivée lorsque la conversion est nécessaire.
  • "git -c grep.patternType = le journal étendu --basic-regexp" s'est mal comporté parce que l'API interne pour accéder à la machine grep n'a pas été bien conçue.
  • Le port de Windows échouait à certains tests dans t4130, en raison du manque d'inum dans les valeurs retournées par son émulation lstat (2).
  • Les caractères dans l'étiquette affichée pour les tags / refs pour les validations dans la sortie "gitweb" sont désormais correctement échappés pour une sortie HTML correcte.
  • FreeBSD peut mentir lorsqu'on lui demande mtime d'un répertoire, ce qui fait que le code cache non suivi retourne à un chemin lent, ce qui à son tour a fait échouer les tests en t7063 car il voulait vérifier le comportement du fast-path.
  • Avertissements du compilateur Squelch pour la bibliothèque netmalloc (dans compat /).
  • La documentation de l'API pour hashmap n'était pas claire si hashmap_entry pouvait être supprimé sans autre considération. Indiquez que vous pouvez le faire en toute sécurité.
  • La réécriture récente de "git am" qui commençait à effectuer des appels internes dans la machine de commit avait une régression involontaire, en ce sens que peu de secondes étaient nécessaires pour appliquer plusieurs patchs, l'horodateur du commit résultant étaient tous les mêmes.
  • "git difftool ..." démarré dans un sous-répertoire n'a pas réussi à interpréter les chemins relatifs à ce répertoire, qui a été corrigé.

Nouveautés dans la version 2.9.1:

  • Lorsque "git daemon" est exécuté sans - [init-] timeout spécifié, une connexion d'un client qui se déconnecte silencieusement peut traîner pendant longtemps, gaspillant des ressources. Le KEEPALIVE au niveau de la socket a été activé pour permettre au système d'exploitation de remarquer de telles connexions ayant échoué.
  • Les commandes de la famille `git log` prennent% C (auto) dans une chaîne au format personnalisé. Cela a inconditionnellement activé la couleur, en ignorant --no-color ou avec --color = auto lorsque la sortie n'est pas connectée à un tty; ceci a été corrigé pour que le format se comporte vraiment comme "auto".
  • "git rev-list --count" dont la longueur de marche est limitée avec l'option "-n" ne fonctionnait pas bien avec le comptage optimisé pour regarder l'index bitmap.
  • "git show -W" (extension de hunks pour couvrir toute la fonction, délimitée par des lignes correspondant au modèle "funcname") utilisée pour afficher le fichier entier lorsqu'une modification ajoute une fonction entière à la fin du fichier, a été corrigé.
  • L'ensemble de documentation a été mis à jour pour que les commandes littérales, les variables de configuration et les variables d'environnement soient systématiquement composées en caractères de largeur fixe et en caractères gras dans les pages de manuel.
  • La sous-commande "git svn propset" qui a été ajoutée en 2,3 jours est documentée maintenant.
  • La documentation essaie d'épeler systématiquement "GPG"; en se référant au nom du programme spécifique, "gpg" est utilisé.
  • "git reflog" s'est arrêté en voyant une entrée qui dénote un événement de création de branche (alias "unborn"), ce qui l'a fait apparaître comme si le reflog était tronqué.
  • Le scriptlet git-prompt (dans contrib /) n'était pas compatible avec ceux qui utilisent "set -u", qui a été corrigé.
  • Un chemin de code utilisant alloca (3) pour placer une quantité illimitée de données sur la pile a été mis à jour pour éviter de le faire.
  • "git update-index --add --chmod = + x fichier" peut être utilisable comme une trappe d'échappement, mais pas une chose amicale à forcer pour les personnes qui ont besoin de l'utiliser régulièrement. "git add --chmod = + x fichier" peut être utilisé à la place.
  • Construire des améliorations pour gnome-keyring (dans contrib /)
  • "git status" utilisé pour dire "répertoire de travail" quand il voulait dire "arbre de travail".
  • Les commentaires sur la mauvaise manipulation des shells de FreeBSD ont été clarifiés avec le numéro de version (9.x et avant sont cassés, les plus récents sont OK).
  • "git cherry-pick A" travaillait sur une branche à naître, mais "git cherry-pick A..B" ne fonctionnait pas.
  • "git add -i / -p" a appris à honorer le bouton expérimental de diff.compactionHeuristic, de sorte que l'utilisateur peut travailler sur le même partage de morceaux que la sortie "git diff".
  • "log --graph --format =" a appris que "% & gt; | (N)" spécifie la largeur par rapport au bord gauche du terminal, pas par rapport à la zone pour dessiner le texte qui se trouve à droite de l'ascendance -Graphique Il accepte maintenant N négatif, ce qui signifie que la limite de la colonne est relative à la bordure droite.
  • La règle de propriété du morceau de mémoire contenant les références à extraire dans "git fetch" était vicieuse et a été nettoyée.
  • "git bisect" fait un appel interne à "git diff-tree" quand la bissection trouve le coupable, mais cet appel n'a pas initialisé la structure de données à transmettre correctement à l'API diff-tree.
  • Les formats des différentes données (et comment les valider) où nous utilisons la signature GPG ont été documentés.
  • Correction d'une régression involontaire dans v2.9 qui casse "clone --depth" qui récursive en sous-modules en forçant les sous-modules à être clonés superficiellement, ce que de nombreuses instances de serveur qui hébergent en amont des sous-modules ne sont pas préparés. / li>
  • Correction inutile de l'utilisation idiomatique de ': $ {VAR = default}' pour définir la valeur par défaut, sans la placer entre guillemets.
  • Un code spécifique à une plateforme avait des déclarations strictes non-ANSI de fonctions C qui ne prenaient aucun paramètre, ce qui a été corrigé.
  • Le code interne utilisé pour afficher le décalage de fuseau horaire local n'est pas prêt à gérer les horodatages au-delà de l'année 2100 et a donné une valeur de décalage bidon à l'appelant. Utilisez à la place un +0000 plus bénin et laissez "git log" aller dans un tel cas, au lieu d'abandonner.
  • Une invocation de readlink (1) dans notre suite de tests a été réécrite afin que le test puisse s'exécuter sur les systèmes sans la commande (d'autres sont dans le framework de test valgrind et t9802).
  • t / perf a besoin / usr / bin / time avec l'extension GNU; l'invocation de celui-ci est mise à jour pour "gtime" sur Darwin.
  • Un bogue, qui a provoqué "git p4" en mode verbeux pour signaler des chemins qui ont été omis du fait du préfixe de branche, a été corrigé; la commande a dit "ignorer le fichier en dehors du préfixe" pour les chemins qui sont _inside _.
  • La documentation de haut niveau "git help git" indiquait toujours la documentation hébergée dans un dépôt google-code maintenant disparu. Mettez-le à jour à la place de https://git.github.io/htmldocs/git.html à la place.

Nouveautés dans la version 2.9.0:



Nouveau dans GIT 2.8.1 (5 avril 2016)

Nouveautés dans la version 2.8.1:

  • La cible "make rpmbuild" a été brisée car son entrée, git.spec.in, n'a pas été mise à jour pour correspondre à un fichier qu'elle décrit qui a été renommé récemment. Cela a été corrigé.

Nouveautés dans la version 2.7.3:

  • Traditionnellement, les tests qui essayent les commandes qui fonctionnent sur le contenu de l'arbre de travail ont été nommés avec "worktree" dans leurs noms de fichiers, mais avec la récente sous-commande "git worktree", dont les tests sont aussi nommés, devenir plus difficile de les distinguer. Les tests traditionnels ont été renommés pour utiliser "arbre de travail" afin de les différencier.
  • De nombreux chemins de code oublient de vérifier la valeur retournée par git_config_set (); la fonction est faite à die () pour s'assurer que nous ne procédons pas lors de l'échec d'une variable de configuration.
  • Le traitement des erreurs lors de l'écriture dans notre processus asynchrone interne a été rendu plus robuste, ce qui réduit les défauts dans nos tests.
  • "git show 'HEAD: Foo [BAR] Baz'" n'interprétait pas l'argument comme un rev, c'est-à-dire l'objet nommé par le chemin avec des caractères génériques dans un objet arbre.
  • "git rev-parse --git-common-dir" utilisé dans la fonctionnalité worktree mal géré lors de l'exécution à partir d'un sous-répertoire.
  • La sous-commande "v (iew)" de la commande interactive "git am -i" a été interrompue en 2.6.0 timeframe quand la commande a été réécrite en C
  • "git merge-tree" utilisé pour mal traiter "les deux côtés ajoutés" est en conflit avec son propre "créer un faux fichier ancêtre qui a les parties communes de ce que les deux parties ont ajouté et faire une fusion à trois voies"; ceci a été mis à jour pour utiliser l'approche habituelle "fusion à trois voies avec un blob vide comme faux ancêtre commun" utilisée dans le reste du système.
  • La règle de propriété de la mémoire de l'API fill_textconv (), qui était un peu compliquée, a été documentée un peu mieux.
  • La documentation n'indiquait pas clairement que le mode 'simple' est maintenant le mode par défaut pour 'git push' quand la configuration de push.default n'est pas définie.
  • Les versions récentes de GNU grep sont plus sélectives quand leur entrée contient des données binaires arbitraires, ce que certains de nos tests utilisent. Réécrivez les tests pour contourner le problème.
  • Une fonction auxiliaire "git submodule" utilise depuis v2.7.0 pour lister les modules qui correspondent à l'argument pathspec donné à ses sous-commandes (par exemple "submodule add") a été corrigé.
  • "git config section.var value" pour définir une valeur dans le fichier de configuration par référentiel a échoué quand il a été exécuté en dehors de tout dépôt, mais n'a pas dit la raison correctement.
  • Le code pour lire les données du paquet en utilisant les offsets stockés dans le fichier pack idx a été fait plus attentivement vérifier la validité des données dans l'idx.

Nouveautés dans la version 2.7.2:

  • La machine de fusion de bas niveau a appris à utiliser la terminaison de ligne CRLF lors de l'insertion de marqueurs de conflit dans des contenus fusionnés eux-mêmes terminés par des lignes CRLF.
  • "git worktree" avait un code brisé qui essayait de réparer automatiquement les incohérences possibles résultant du déplacement d'un arbre de travail par des utilisateurs finaux sans indiquer à Git (le référentiel d'origine doit maintenir les backpointers sur ses workstrees, mais "mv" géré par des utilisateurs finaux qui ne sont pas familiers avec ce fait ne les ajustera évidemment pas), ce qui a aggravé les choses quand il a été déclenché.
  • "git push --force-with-lease" a appris à rapporter si la poussée avait besoin de forcer (ou d'avance rapide).
  • La commande "yes" émulée utilisée dans nos scripts de test a été modifiée pour ne pas passer trop de temps à générer une sortie inutile qui n'est pas utilisée pour aider ceux qui testent sur Windows où elle ne s'arrêterait pas. manque de SIGPIPE.
  • Le backend vimdiff pour "git mergetool" a été ajusté pour organiser et numéroter les tampons dans l'ordre qui correspondrait à l'attente de la majorité des gens qui lisent de gauche à droite, puis redescend et affecte des tampons 1 2 3 4 "mentalement" aux fenêtres de fusion à distance locales de base en fonction de cet ordre.
  • La documentation pour "git clean" a été corrigée; il a mentionné que .git / modules / * sont supprimés en donnant deux "-f", ce qui n'a jamais été le cas.
  • Les chemins qui ont été renseignés sur l'index avec "add -N" ne sont pas encore dans l'index, mais quelques commandes se sont comportées comme si elles étaient déjà dangereuses.
  • Inclut également une minuscule documentation et des mises à jour de test.

Nouveautés dans la version 2.6.4:

  • Le script "configure" n'a pas testé correctement -lpthread, ce qui a perturbé certains linkers.
  • Ajout du support pour parler http / https sur le proxy de chaussettes.
  • Correctif de portabilité pour Windows, qui peut réécrire la variable $ SHELL en utilisant des chemins non-POSIX.
  • Nous permettons maintenant systématiquement à tous les hooks d'ignorer leur entrée standard, plutôt que de se plaindre de SIGPIPE.
  • Correction d'une citation shell dans le script contrib.
  • Test de la portabilité d'un sujet dans la version 2.6.1.
  • Autorise l'extension tilde dans certaines variables de configuration http.
  • Donnez un cas particulier utile "diff / show --word-diff-regex =." à titre d'exemple dans la documentation.
  • Correction d'un casse dans une branche de filtre.
  • Faites travailler git-p4 sur une tête détachée.
  • Clarification de la documentation pour "check-ignore" sans "--verbose".
  • Tout comme l'arbre de travail est nettoyé lorsque l'utilisateur a annulé sa soumission dans P4Submit.applyCommit (), nettoyez le désordre si "p4 submit" échoue.
  • Avoir un fichier .idx restant sans fichier .pack correspondant dans le référentiel nuit aux performances; "git gc" a appris à les tailler.
  • Le code pour préparer l'arborescence du répertoire temporaire pour la fonction "dir-diff" a oublié que les liens symboliques n'ont pas besoin d'être copiés (ou symétriquement) dans la zone temporaire, car le code casse et écrase déjà leur. En outre, il était erroné d'essayer de calculer le nom de l'objet de la cible du lien symbolique, qui peut même ne pas exister ou être un répertoire.
  • Il n'y avait aucun moyen de vaincre une variable rebase.autostash configurée à partir de la ligne de commande, car "git rebase --no-autostash" était manquant.
  • Autorisez "git interprét-trailers" à s'exécuter en dehors d'un référentiel Git.
  • Produisez un marqueur "sale" correct pour les invites du shell, même lorsque nous sommes sur une orpheline ou une branche non-née.
  • Certains cas de coin ont été corrigés dans la chaîne de caractères "git status".
  • L'implémentation cryptographique courante d'Apple de SHA1_Update () ne prend pas plus de 4 Go à la fois, et nous avons maintenant une solution de contournement à la compilation.

Nouveautés dans la version 2.5.3:

  • La fonctionnalité expérimentale de mise en cache non mise en cache était boguée lorsque des chemins comportant quelques niveaux de sous-répertoires étaient impliqués.
  • Les versions récentes du script "git am" ont une régression de performance dans le codepath "git am --skip", qui n'existe plus dans la version intégrée sur le front "master". Corrigez la régression dans la dernière version scriptée qui apparaît dans la piste de maintenance 2.5.x et plus ancienne.

Nouveautés dans la version 2.4.6:

  • "git fetch --depth =" et "git clone --depth =" ont émis une requête de transfert superficielle même vers un paquet de téléchargement qui ne supporte pas la capacité.
  • "git fsck" utilisé pour ignorer les objets manquants ou invalides enregistrés dans reflog.
  • La fin de tcsh écrit un scriptlet bash mais cela aurait échoué pour les utilisateurs avec noclobber.
  • Les récentes mises à jour de Mac OS X cassent la logique pour détecter que la machine est sur le courant alternatif dans l'exemple de script pré-auto-gc.
  • "git format-patch --ignore-if-amont A..B" n'a pas aimé être alimenté par des balises comme limites.
  • Contient également des typofixes, des mises à jour de documentation et du code trivial
  • nettoyages.

Nouveautés dans la version 2.4.2:

  • "git rev-list --objects $ old --not --all" pour voir si tout ce qui est accessible depuis $ old est déjà connecté aux refs existants était très inefficace.
  • "hash-object --literally" introduit dans v2.2 n'était pas prêt à prendre un nom de type d'objet vraiment long.
  • "git rebase --quiet" n'était pas très calme quand il n'y a rien à faire.
  • La fin de la valeur du paramètre "log --decorate =" était incorrecte.
  • Message de journal de validation corrompu "filter-branch" qui se termine par une ligne incomplète sur les plates-formes avec certaines implémentations "sed" qui modifient cette ligne. Travaillez autour en évitant d'utiliser "sed".
  • "git daemon" ne parvient pas à générer à partir de la source sous la configuration NO_IPV6 (régression dans 2.4).
  • "git stash pop / apply" a oublié de s'assurer que non seulement l'arbre de travail est propre mais aussi que l'index est propre. Ce dernier est important car une application de dissimulation peut entrer en conflit et l'index sera utilisé pour la résolution des conflits.
  • Nous avons préfixé $ GIT_EXEC_PATH et le chemin "git" est installé dans (typiquement "/ usr / bin") à $ PATH en invoquant des sous-programmes et des hooks pour presque éternité, mais le cas d'utilisation original que ce dernier essayait de supporter était semi -bogus (ie installer git dans / opt / foo / git et l'exécuter sans avoir / opt / foo sur $ PATH), et plus important encore, il est devenu de moins en moins pertinent à mesure que Git devenait plus mainstream (ie les utilisateurs voulaient avoir sur leur PATH $). Arrêtez d'ajouter le chemin dans lequel "git" est installé à $ PATH des utilisateurs, car cela interférerait avec l'ordre de recherche des commandes (par exemple, ils peuvent ne pas aimer les versions de programmes qui ne sont pas liés à Git dans / usr / bin et substituez-les en ayant des valeurs différentes dans / usr / local / bin et ayez le dernier répertoire plus tôt dans leur $ PATH).
  • Contient également des typofixes, des mises à jour de documentation et des nettoyages de code triviaux.

Logiciel similaire

hg-git
hg-git

20 Feb 15

gwsmhg
gwsmhg

20 Feb 15

ViewGit
ViewGit

11 May 15

Quilt
Quilt

18 Feb 15

Commentaires à GIT

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!