Показаны сообщения с ярлыком VCS. Показать все сообщения
Показаны сообщения с ярлыком VCS. Показать все сообщения

среда, 19 сентября 2012 г.

четверг, 16 августа 2012 г.

Git: fatal: LF would be replaced by CRLF


Git перестал добавлять файлы в репозиторий, выдавая ошибку:

fatal: LF would be replaced by CRLF in *file*

Связанно это с тем что переносы строк были в Unix-формате, так как дело происходило под Windows.
Простые решения:

  1. Очень просто конвертировать переносы строк в Windows-формат помогает текстовый редактор Notepad++: Правка→EOL конверсия→Преобразовать в WIN-формат.
    Подробнее.
  2. Вручную преобразовать символы перевода строки из виндовых в линуксовые, открыть файл, еще раз визуально все проконтролировать и сохранить.
  3. Быстро заменить CRLF на LF можно утилитой dos2unix, входящей в MINGW, с которым поставляется git  для win32:
    dos2unix.exe -f -D *file*


Если таких файлов много: то самое простое - отключить проверку формата:

$ git config --global core.autocrlf false

$ git config --global core.safecrlf false

Здесь интересное обсуждение различных комбинаций значений этих двух опций. Если изменения в core.autocrlf ни к чему не привели, то пробуйте:

Try git config —global core.safecrlf warn

вторник, 31 июля 2012 г.

git



**** update in dev *****

git stash save
git checkout master
git pull
git checkout dev
git stash pop
***************

insufficient permission

При следующих ошибках:
  • bash-3.2$ git commit -am 'foo' error: insufficient permission for adding an object to repository database .git/objects error: Error building trees
  • error: insufficient permission for adding an object to repository database ./objects fatal: failed to write object error: unpack failed: unpack-objects abnormal exit
нужно сделать:
1. simple permissions error (sudo chown hatim:hatim .git -R fixed it)
2. ssh to server
cd repository.git sudo chmod -R g+ws * sudo chgrp -R mygroup * git repo-config core.sharedRepository true and the try to push origin master again
Если не помогло:

Как вариант можно пересоздать связь с удаленным репозиторием:
git remote rm origin - удаляем старую связь
git remote add origin git@server:repo.git - создаем новую связь