Могу ли я использовать mSysGit и Cygwin's git? - PullRequest
8 голосов
/ 27 марта 2009

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

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

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

Ответы [ 7 ]

10 голосов
/ 27 марта 2009

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

core.autocrlf=false

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

3 голосов
/ 27 марта 2009

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

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

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

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

2 голосов
/ 05 октября 2009

Из этого поста - «Настройка сервера GIT с Msysgit в Windows» - пользователь предложил эту ссылку - http://www.timdavis.com.au/git/setting-up-a-msysgit-server-with-copssh-on-windows/

Я использовал эту настройку и безупречно работает на Windows для меня.

Надеюсь, это поможет

1 голос
/ 27 марта 2009

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

0 голосов
/ 02 ноября 2011

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

0 голосов
/ 30 июля 2010

Я установил для core.autocrlf значение false в msysgit и взял любой Cygwin, установленный по умолчанию.

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

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

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

0 голосов
/ 25 мая 2010

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

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

...