Atlassian SourceTree: Comment changer globalement les fins de ligne?

10

Existe-t-il un moyen, soit dans Atlassian SourceTree, soit avec mon hôte git actuel (BitBucket) pour changer les fins de ligne globalement pour tous mes référentiels.

Je pense qu'ils sont actuellement définis sur Unix (je pense que je l'ai fait par accident) mais je développe uniquement sur Windows. Mon IDE continue de me donner des messages d'avertissement et des erreurs sur les fins de ligne mixtes dans mes fichiers et je voudrais le corriger, mais chaque fois que je pousse mon projet dans le cloud, il est changé en fins Unix donc même si je modifie par lot les fins de ligne ils reviennent quand même.

Scott
la source

Réponses:

12

Vous pouvez configurer la gestion de fin de ligne par référentiel en ajoutant un fichier .gitattributes spécial au dossier racine de votre référentiel Git. Si ce fichier est validé dans le référentiel, il remplace le paramètre core.autocrlf du développeur individuel.

Dans ce fichier, vous pouvez configurer Git pour détecter automatiquement les fins de ligne.

Remarque: - Tous les outils graphiques Git ne prennent pas en charge le fichier .gitattributes, par exemple l'IDE Eclipse ne le prend pas actuellement en charge.

Voici un exemple de fichier .gitattributes. Vous pouvez l'utiliser comme modèle pour vos référentiels:

# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.h text

# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary

Vous remarquerez que les fichiers sont mis en correspondance - *. C, * .sln, * .png--, séparés par un espace, puis donnés un paramètre - texte, texte eol = crlf, binaire. Nous passerons en revue certains paramètres possibles ci-dessous.

text = auto Git traitera les fichiers de la manière qu'il jugera la meilleure. Il s'agit d'une bonne option par défaut.

text eol = crlf Git convertira toujours les fins de ligne en CRLF au moment du paiement. Vous devez l'utiliser pour les fichiers qui doivent conserver les terminaisons CRLF, même sur OSX ou Linux. Par exemple, voici un projet Windows qui applique les fins de ligne CRLF.

text eol = lf Git convertira toujours les fins de ligne en LF lors du paiement. Vous devez l'utiliser pour les fichiers qui doivent conserver les terminaisons LF, même sous Windows. Par exemple , voici un projet qui applique les fins de ligne LF.

binaire Git comprendra que les fichiers spécifiés ne sont pas du texte et ne devrait pas essayer de les changer. Le paramètre binaire est également un alias pour -text -diff.

gpullen
la source
Les liens externes peuvent devenir indisponibles, auquel cas votre réponse aurait peu de valeur. Veuillez inclure les informations essentielles dans votre réponse et utiliser le lien d'attribution et une source d'informations supplémentaires. Merci.
fixer1234
J'espère que cela comprend les détails requis
gpullen