Удаленный репозиторий git просто клонирован в локальное поле, используя Atlassian SourceTree. Даже файлы не были изменены в дереве работы, Atlassian перечисляет кучу файлов сразу в разделе "Uncommitted changes". Каждый файл показывает один и тот же счет строки как снят, так и добавлен, и этот счет равен общему количеству строк в файле. Это как-то подскажет нам, что мы сталкиваемся с проблемой, связанной с окончанием строки.
Однако репозиторий .gitattribute
содержит
# Set default behaviour, in case users don't have core.autocrlf set.
* text=auto
что в статье GitHub Работа с окончанием строки должно явно указывать core.autocrlf
true для репозитория. Однако также ~/.gitconfig
содержит autocrlf = true
.
Если измененные файлы пытались "вернуться" к предыдущему фиксации, эффект не будет. Эти же файлы по-прежнему считаются незафиксированными.
Репозиторий клонирован в несколько местоположений и гарантирует, что файлы не были в одном и том же пути, чтобы убедиться, что SourceTree или git не помнят старые файлы.
Репозиторий взаимодействует с окнами Windows, Linux и OSX. Эта проблема появляется только в OSX.
Что еще может быть неправильным в настройке SourceTree/repository/ git?
Обновление №1, 20. апреля 2013 г.
Поскольку все еще что-то не так, здесь представлены частичные выходы git config --list
.
В консоли SourceTree (OSX)
core.excludesfile=/Users/User/.gitignore_global
core.autocrlf=input
difftool.sourcetree.cmd=opendiff "$LOCAL" "$REMOTE"
difftool.sourcetree.path=
mergetool.sourcetree.cmd=/Applications/SourceTree.app/Contents/Resources/opendiff-w.sh "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED"
mergetool.sourcetree.trustexitcode=true
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.autocrlf=true
Вот соответствующий вывод со стороны Windows:
core.symlinks=false
core.autocrlf=false
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
http.proxy=
core.autocrlf=true
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
core.hidedotfiles=dotGitOnly
core.eol=native
core.autocrlf=true
И полный .gitattributes
для рассматриваемого репозитория
# Set default behaviour, in case users don't have core.autocrlf set.
* text=auto
*.php text
*.twig text
*.js text
*.html text diff=html
*.css text
*.xml text
*.txt text
*.sh text eol=lf
console text
*.png binary
*.jpg binary
*.gif binary
*.ico binary
*.xslx binary