Thread (3 messages) flat view 3 messages, 3 authors, 2016-06-15

Re: Git Config Question

From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:49:08

(+cc: Eyvind Bernhardsen, Finn Arne Gangstad)

Hi!

Shilpa Kulkarni wrote:
2. Person Y checks in code (commit & push). Checks in file a, b.

3. Person X does a 'git pull origin master'.

Pull succeeds - however
'git status' shows file a, b as modified even though person X has done
nothing with these files.
[...]
Someone has recommended we all use
core.safecrlf=false
core.autocrlf=false
But this would require running dos2unix cmd while running scripts on
linux which seems like an overhead.
I have not kept up with the latest best practices.  But I suspect
something like the following would work:

1. In .git/config, ~/.gitconfig, or /etc/gitconfig, on Windows:

	[core]
		autocrlf = true

See core.autocrlf in git-config(1).  I think git for windows does this
automatically.

2. In .git/config, ~/.gitconfig, or /etc/gitconfig, on Unix:

	[core]
		autocrlf = input

3. Convert line-endings in the tracked content.  Something like:

	$ git status; # make sure there are no untracked files present
	$ git rm -fr --cached .; # stop tracking all files
	$ git add .; # fix line-endings on all files
	$ git commit; # record that you have done so

4. Convert line-endings in the work tree.  Something like:

	$ git rm -fr .; # remove all tracked files
	$ git checkout HEAD -- .; # fetch them back again

5. In .gitattributes, something like:

	*	auto
	*.sh	crlf
	*.[ch]	crlf
	*.jpg	-crlf

See gitattributes(5) for details.

Hope that helps,
Jonathan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help