Git — Set text=auto and eol=lf in gitattributes
I want git to normalize text files with LF line endings using a .gitattributes
file in my repo.
I've tried * text=auto
, however, that checks out files on Windows with CRLF line endings, converting them back to LF upon adding the changes to Git.
I've also tried * eol=lf
, but that also sets the line ending for files that aren't text, like .jar
files.
I've tried adding both the same line (* text=auto eol=lf
), but that just did the same as having * eol=lf
.
Is there a way to normalize line endings of only text files using .gitattributes
, that doesn't checks them out as LF on Windows platforms?
git
add a comment |
I want git to normalize text files with LF line endings using a .gitattributes
file in my repo.
I've tried * text=auto
, however, that checks out files on Windows with CRLF line endings, converting them back to LF upon adding the changes to Git.
I've also tried * eol=lf
, but that also sets the line ending for files that aren't text, like .jar
files.
I've tried adding both the same line (* text=auto eol=lf
), but that just did the same as having * eol=lf
.
Is there a way to normalize line endings of only text files using .gitattributes
, that doesn't checks them out as LF on Windows platforms?
git
add a comment |
I want git to normalize text files with LF line endings using a .gitattributes
file in my repo.
I've tried * text=auto
, however, that checks out files on Windows with CRLF line endings, converting them back to LF upon adding the changes to Git.
I've also tried * eol=lf
, but that also sets the line ending for files that aren't text, like .jar
files.
I've tried adding both the same line (* text=auto eol=lf
), but that just did the same as having * eol=lf
.
Is there a way to normalize line endings of only text files using .gitattributes
, that doesn't checks them out as LF on Windows platforms?
git
I want git to normalize text files with LF line endings using a .gitattributes
file in my repo.
I've tried * text=auto
, however, that checks out files on Windows with CRLF line endings, converting them back to LF upon adding the changes to Git.
I've also tried * eol=lf
, but that also sets the line ending for files that aren't text, like .jar
files.
I've tried adding both the same line (* text=auto eol=lf
), but that just did the same as having * eol=lf
.
Is there a way to normalize line endings of only text files using .gitattributes
, that doesn't checks them out as LF on Windows platforms?
git
git
asked Nov 12 '18 at 22:02
wheelerwheeler
867820
867820
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Git has some heuristics to guess what a text file is, but since it doesn't always guess correctly, you can specify which types of files you want to affect. For example, if you're working on a Java project, you might write the following
*.java text
*.jar -text
That will cause Java files to be checked out using CRLF on Windows and LF on Unix, while storing LF in the repository. If you want to use LF on all systems, write something like:
*.java eol=lf
*.jar -text
Specifying -text
means that you don't want those files to be affected by core.autocrlf
, which is the option that makes Windows systems see CRLF while keeping LF in the repo. You can combine multiple of these types of lines to affect different files.
Git does know what a text file is.* text=auto
performs heuristics based content type checking.
– wheeler
Nov 13 '18 at 2:03
Updated to reflect that, thanks.
– brian m. carlson
Nov 14 '18 at 23:49
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53270756%2fgit-set-text-auto-and-eol-lf-in-gitattributes%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Git has some heuristics to guess what a text file is, but since it doesn't always guess correctly, you can specify which types of files you want to affect. For example, if you're working on a Java project, you might write the following
*.java text
*.jar -text
That will cause Java files to be checked out using CRLF on Windows and LF on Unix, while storing LF in the repository. If you want to use LF on all systems, write something like:
*.java eol=lf
*.jar -text
Specifying -text
means that you don't want those files to be affected by core.autocrlf
, which is the option that makes Windows systems see CRLF while keeping LF in the repo. You can combine multiple of these types of lines to affect different files.
Git does know what a text file is.* text=auto
performs heuristics based content type checking.
– wheeler
Nov 13 '18 at 2:03
Updated to reflect that, thanks.
– brian m. carlson
Nov 14 '18 at 23:49
add a comment |
Git has some heuristics to guess what a text file is, but since it doesn't always guess correctly, you can specify which types of files you want to affect. For example, if you're working on a Java project, you might write the following
*.java text
*.jar -text
That will cause Java files to be checked out using CRLF on Windows and LF on Unix, while storing LF in the repository. If you want to use LF on all systems, write something like:
*.java eol=lf
*.jar -text
Specifying -text
means that you don't want those files to be affected by core.autocrlf
, which is the option that makes Windows systems see CRLF while keeping LF in the repo. You can combine multiple of these types of lines to affect different files.
Git does know what a text file is.* text=auto
performs heuristics based content type checking.
– wheeler
Nov 13 '18 at 2:03
Updated to reflect that, thanks.
– brian m. carlson
Nov 14 '18 at 23:49
add a comment |
Git has some heuristics to guess what a text file is, but since it doesn't always guess correctly, you can specify which types of files you want to affect. For example, if you're working on a Java project, you might write the following
*.java text
*.jar -text
That will cause Java files to be checked out using CRLF on Windows and LF on Unix, while storing LF in the repository. If you want to use LF on all systems, write something like:
*.java eol=lf
*.jar -text
Specifying -text
means that you don't want those files to be affected by core.autocrlf
, which is the option that makes Windows systems see CRLF while keeping LF in the repo. You can combine multiple of these types of lines to affect different files.
Git has some heuristics to guess what a text file is, but since it doesn't always guess correctly, you can specify which types of files you want to affect. For example, if you're working on a Java project, you might write the following
*.java text
*.jar -text
That will cause Java files to be checked out using CRLF on Windows and LF on Unix, while storing LF in the repository. If you want to use LF on all systems, write something like:
*.java eol=lf
*.jar -text
Specifying -text
means that you don't want those files to be affected by core.autocrlf
, which is the option that makes Windows systems see CRLF while keeping LF in the repo. You can combine multiple of these types of lines to affect different files.
edited Nov 14 '18 at 23:49
answered Nov 13 '18 at 0:14
brian m. carlsonbrian m. carlson
1,561210
1,561210
Git does know what a text file is.* text=auto
performs heuristics based content type checking.
– wheeler
Nov 13 '18 at 2:03
Updated to reflect that, thanks.
– brian m. carlson
Nov 14 '18 at 23:49
add a comment |
Git does know what a text file is.* text=auto
performs heuristics based content type checking.
– wheeler
Nov 13 '18 at 2:03
Updated to reflect that, thanks.
– brian m. carlson
Nov 14 '18 at 23:49
Git does know what a text file is.
* text=auto
performs heuristics based content type checking.– wheeler
Nov 13 '18 at 2:03
Git does know what a text file is.
* text=auto
performs heuristics based content type checking.– wheeler
Nov 13 '18 at 2:03
Updated to reflect that, thanks.
– brian m. carlson
Nov 14 '18 at 23:49
Updated to reflect that, thanks.
– brian m. carlson
Nov 14 '18 at 23:49
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53270756%2fgit-set-text-auto-and-eol-lf-in-gitattributes%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown