2009-03-27 7 views
8

После миграции на Windows я использую msysgit с включенной оболочкой bash, и это работает хорошо для меня. Но у меня есть проблемы: наш процесс сборки ant не будет запущен в этой оболочке, я бы хотел использовать xterms Cygwin вместо командного окна Windows, так как совместимость с терминалом недостаточно хороша, чтобы запускать все остальное, что мне нужно в это окно и т. д.Могу ли я использовать mSysGit и Cygwin's git?

Я действительно сделал попытку придерживаться msysgit в командной оболочке Windows, так что мне не нужно использовать отдельное окно для сборки, но у этого есть еще больше проблем: отсутствие cd - и завершение файла убивает меня, большинство команд, которые я хотел бы использовать в трубе, нет, и т. д.

Итак, если я переключусь на использование git Cygwin, или, что еще хуже, использую оба в разное время, линейные окончания укуси меня? Будет ли git Cygwin ожидать, что все будет \n, и подумайте, что он видит изменения, потому что mSysGit преобразован в \r\n при проверке? Будет ли Cygwin git проверяться как \n и запутать мое Windows Eclipse, которое, я уверен, хочет, чтобы все было \r\n?

+3

Вопрос от заинтересованной стороны: вы пробовали использовать MSYS git от Cygwin? Если да, то работает ли он? Благодарю. – joce

+2

msysgit не из Cygwin. Я обнаружил, что могу использовать git и msysgit для Cygwin взаимозаменяемо, если я осторожен с настройками, такими как core.autocrlf – skiphoppy

ответ

10

Самый простой подход - установить любой git (msysGit или Cygwin git), чтобы игнорировать стили crlf.

core.autocrlf=false 

Таким образом, у вас нет муравьиного нежелательного конфликта.

+0

Это указывало на меня в правильном направлении, за исключением того, что я думаю, что мне нужно сделать, это установить значение true из Cygwin. Я считаю, что для поддержания совместимости с другими приложениями для Windows я должен придерживаться терминаторов CRLF. – skiphoppy

+0

Какие еще приложения для Windows? Как говорит Питер Боутон в своем ответе: «Большинство современных приложений (включая Eclipse) отлично умеют использовать только \ n». – VonC

+0

У меня на самом деле были проблемы с окончанием строки с использованием разных версий msysGit. Явно установил autocrlf. –

3

Будет мерзавец Cygwin следует проверить, как \ п и путайте мой Windows, Eclipse, который я уверен, хочет, чтобы все было \ г \ п?

Большинство современных приложений (включая Eclipse) отлично умеют использовать только \ n.

Существует несколько раздражающих исключений (например, протокол электронной почты), но в большинстве случаев вы можете использовать только \ n для всех.

Итак, как говорит VonC, просто отключите настройку autocrlf, и все будет хорошо.

+0

Если skiphoppy не имеет особого контекста, требующего использования \ r \ n, я согласен с вами. +1 – VonC

1

На самом деле, просто придерживаться msysGit не спасет вас. У меня была одна проблема, когда каждый отдельный исходный файл показывался как измененный из-за проблемы с окончанием строки при использовании разных версий msysGit. Исправлена ​​установка core.autocrlf в файле конфигурации git.

0

я получил головную боль на окончаниях линии. Я использую cygwin git, и он всегда сообщает о некоторых новых извлеченных текстовых файлах как «измененных». Когда я изменил «core.autocrlf» с «true» на «input», десять из пятнадцати файлов исчезли из измененного списка, а остальные 5 исчезли после того, как я установил «core.autocrlf» в «false».

Я не могу голосовать за решение VonC из-за низкой репутации, но я бы сказал, что это работает для меня.

0

Я установил core.autocrlf в false в msysgit и взял по умолчанию любой cygwin.

У меня возникли проблемы с проверкой из командной строки с использованием инструментов cygwin и инструментов mingw, поставляемых с msysgit, из-за очевидных изменений в режимах файлов (755, казалось, изменилось на 644 в каждом файле). Это, по-видимому, проблема с исполняемым битом. git reset не помогло.

Однако выполнение начального клона из окна GUI msysgit не создало этой проблемы, и теперь я могу свободно использовать cygwin либо из собственной оболочки bash, либо из командной строки, либо из msysgit из своей оболочки bash. Другими словами, все кажется счастливым.

Итак, в нижней строке, если вы видите, что каждый файл, который появляется, меняется, и, как представляется, причиной возникновения проблемы не является причина, попробуйте проверить из графического интерфейса.

0

После отладки этого какое-то время я решил это для своего дела. Я скопировал файл id_rsa из раздела Linux в окольном пути, оставив окончание строки в формате LF (Unix). Открытие файла в eclipse и преобразование окончаний строки в Windows исправили это. Кроме того, у меня есть GIT_SSH, установленный на Plink (from Putty), следуя этим инструкциям: http://www.mainelydesign.com/blog/view/git-plink-for-ssh-on-windows

 Смежные вопросы

  • Нет связанных вопросов^_^