J'ai un dépôt git dont les fins de ligne des fichiers doivent être CRLF ou LR sur la caisse en fonction du fichier spécifique. Par exemple, je veux que tous les fichiers * .sh soient extraits avec les fins de ligne LR alors que tous les fichiers * .bat avec CRLF.Dépôt Git avec les deux fichiers CRLF et LF?
J'ai essayé de retirer ceci sans résultat, suivant est mon .gitattributes
fichier:
* text=auto
#
# Declare files that will always have CRLF line endings on checkout.
#
*.sh text eol=LF
#
# Declare files that will always have LF line endings on checkout.
#
*.bat text eol=CRLF
#
# Denote all files that are truly binary and should not be modified.
#
*.zip binary
*.tar binary
*.exe binary
*.dll binary
*/dropbear binary
*update-binary binary
Quand j'ouvre un fichier .sh
ou un fichier .bat
les fins de ligne sont CRLF. Qu'est-ce que je fais mal?
Remarque: Je développe sur un ordinateur Windows.
EDIT: système, configuration globale et locale
Système:
core.symlinks=false
core.autocrlf=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=/bin/curl-ca-bundle.crt
sendemail.smtpserver=/bin/msmtp.exe
diff.astextplain.textconv=astextplain
rebase.autosquash=true
mondial:
merge.tool=kdiff3
diff.guitool=kdiff3
core.editor="C:/Program Files (x86)/GitExtensions/GitExtensions.exe" fileeditor
core.autocrlf=true
credential.helper=!'C:\Users\XXXX\AppData\Roaming\GitCredStore\git-credential-winstore.exe'
user.name=xxxxx.xxxx
[email protected]
filter.lfs.clean=git-lfs clean %f
filter.lfs.smudge=git-lfs smudge %f
filter.lfs.required=true
push.default=matching
Local:
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
core.hidedotfiles=dotGitOnly
remote.origin.url=https://github.com/XXXXXX/xxxxxx.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
branch.v2.10.0.remote=origin
branch.v2.10.0.merge=refs/heads/v2.10.0
branch.v2.10.1.remote=origin
branch.v2.10.1.merge=refs/heads/v2.10.1
En outre, GitHub's documentation énonce ce qui suit:
En option, vous pouvez configurer la façon dont Git gère les fins de ligne sur une base par dépôt en configurant un fichier spécial de .gitattributes. Ce fichier est validé dans le référentiel et remplace le paramètre core.autocrlf d'un individu, garantissant un comportement cohérent pour tous les utilisateurs, quels que soient leurs paramètres Git.
EDIT 2:
Si je mets core.autocrlf
-false
et commenter toutes les lignes de .gitattributes
sont ensuite ouverts les deux fichiers .sh
et .bat
avec des fins de ligne LF.
Une "bonne réponse", un +1 et si possible je vous donnerais un baiser. Tu as résolu un problème qui m'a fait perdre de nombreuses heures! – Storo
omg .. J'ai eu le même problème quand j'ai utilisé .gitattributes pour la première fois, et j'ai complètement oublié que – quetzalcoatl