Que les paramètres lors du processus d'installation de msysgit est réellement ici pour fixer la valeur de core.autocrlf
config.
core.autocrlf
Si cela est vrai, fait convertir git CRLF
à la fin des lignes dans des fichiers texte à LF
lors de la lecture du système de fichiers, et convertir en sens inverse lors de l'écriture au système de fichiers. La variable peut être définie sur 'input
', auquel cas la conversion se produit uniquement lors de la lecture du système de fichiers, mais les fichiers sont écrits avec LF
à la fin des lignes. Actuellement, les chemins à considérer comme "texte" (c'est-à-dire être soumis au mécanisme d'autocrlf) sont décidés uniquement en fonction du contenu.
j'insister sur pas essayer de convertir quoi que ce soit automagiquement, les effets secondaires sont trop importants (en terme de conflit fusion potentiel, en particulier sur le développement distribué avec des environnements différents)
Si vos outils peut gérer la terminaison de ligne Unix, vous devez les configurer pour produire des lignes Unix, qui peuvent ensuite être lues par Windows (VS2008, Notepad ++, ...) et Unix, et peuvent être traitées par tous les scripts Git 'sh'.
Mais avec core.autocrlf
mis à false, la décision de transformer une terminaison de ligne de texte sera une décision explicite volontaire, et non une arrière-plan invisible.
Voir plus à "How line ending conversions work with git core.autocrlf
between different operating systems"
| Resulting conversion when | Resulting conversion when
| committing files with various | checking out FROM repo -
| EOLs INTO repo and | with mixed files in it and
| core.autocrlf value: | core.autocrlf value:
--------------------------------------------------------------------------------
File | true | input | false | true | input | false
--------------------------------------------------------------------------------
Windows-CRLF | CRLF -> LF | CRLF -> LF | as-is | as-is | as-is | as-is
Unix -LF | as-is | as-is | as-is | LF -> CRLF | as-is | as-is
Mac -CR | as-is | as-is | as-is | as-is | as-is | as-is
Mixed-CRLF+LF | as-is | as-is | as-is | as-is | as-is | as-is
Mixed-CRLF+LF+CR | as-is | as-is | as-is | as-is | as-is | as-is
Merci! Je vais de l'avant avec la terminaison de ligne Unix. –
Je ne vois pas comment vous pouvez obtenir un conflit de fusion basé sur les fins de ligne. Dans le cas où vous avez autocrlf True, si vous récupérez localement quelqu'un qui a CRLF, les fins ne seraient-elles pas converties en LF (avant la fusion)? (Vous auriez également n'importe quel CRLF converti en LF si vous venez de pousser localement) – RJFalconer
@BlueNovember: le raisonnement est que vous ne pouvez pas garantir que chaque paramètre dans chaque environnement a ce paramètre correctement défini. Même si vous ne rencontrez pas de conflit dans votre environnement, vous risquez de provoquer des problèmes insoupçonnés dans d'autres clients Git distants. – VonC