Подтвердить что ты не робот

Как получить Git 1.8 в Cygwin?

Согласно http://cygwin.com/packages/git/, последний доступный пакет Cygwin равен 1.7.9-1.

Я хотел бы обновить git до не менее 1.8.0.

Могу ли я это сделать?

4b9b3361

Ответ 1

Чтобы установить git 1.8.0, вам нужно скомпилировать исходный код.

Вам нужно клонировать репозиторий git (git clone https://github.com/git/git.git), введите каталог git, измените текущую версию на 1.8.0 или другую версию (git checkout v.1.8.0) и введите следующие команды:

make configure
./configure --prefix=/usr/local
make
make install

Он установит git в директорию /usr/local. Для получения дополнительной информации о установке git, например документации, вы можете заглянуть в файл INSTALL, локализованный в корневом репозитории git.

Ответ 2

cygwinports имеет множество новых версий различных инструментов

В то время, когда я пишу это, он имеет 1.8.3.4

Новые, упрощенные инструкции по установке:

  • Используйте новейшие инсталляторы Cygwin (по крайней мере, версии 2.829): setup-x86.exe для 32-разрядных или setup-x86_64.exe для 64-разрядных. (Обратите внимание, что многие пакеты еще не были перенесены на x86_64.)
  • Установка запуска - *.exe с флагом -K, например:

    cygstart -/path/to/setup-x86.exe -K http://cygwinports.org/ports.gpg

  • На странице "Выбор типа установки" выберите "Установить из Интернета".

  • На странице "Выбрать сайт для загрузки" выберите зеркало-зеркало, затем введите ftp://ftp.cygwinports.org/pub/cygwinports в поле "URL-адрес пользователя" и нажмите "Добавить" (убедитесь, что оба выделены).
    • В качестве альтернативы вы можете использовать зеркало с исходным кодом, но если вы это сделаете, вы должны использовать один размещенный на другом сервере, чем выбранный вами дистровое зеркало.
  • Продолжайте выбор и установку пакетов, убедитесь, что установлены какие-либо указанные зависимости.

Ответ 3

Я успешно установил git 1.8.4.474, выполнив эти инструкции; Я запускаю 64-разрядные версии Windows 7, версия cygwin 1.7.22 (0.268/5/3)

  • Запустите утилиту настройки Cygwin и убедитесь, что у вас установлены следующие пакеты:

    gcc
    autoconf
    curl
    libcurl-devel, required for http/https support 
                   (NOTE: this is an obsolete package, you will need to
                   uncheck "Hide obsolete packages" when selecting packages
                   to install)
    make
    libiconv
    python
    perl
    gettext
    

    Вам может понадобиться libiconv-devel и cygwin32-liviconv (см. комментарий Marek)

  • Клонировать источники git с помощью git clone https://github.com/git/git.git. Несколько замечаний относительно конфигурации git:

    Удостоверьтесь, что core.autocrlf=false, иначе вы закончите с окончанием строки стиля DOS, из-за чего сборка будет нарушена.

    У меня также было винное значение свойства http.sslcainfo; либо отмените его, либо укажите на /usr/ssl/certs/ca-bundle.crt.

  • Из вашего недавно клонированного репозитория git выполните следующие команды:

    make configure
    ./configure
    make
    make install
    

Ответ 4

Ваши инструкции на самом деле не работают для меня...

Я выполнил эти инструкции (чтобы убедиться, что все правильные пакеты установлены)

http://randomartifacts.blogspot.com/2013/04/compiling-git-on-cygwin.html

Изменено Makefile

$ git diff Makefile
diff --git a/Makefile b/Makefile
index 3588ca1..90f337c 100644
--- a/Makefile
+++ b/Makefile
@@ -407,7 +407,7 @@ RPMBUILD = rpmbuild
 TCL_PATH = tclsh
 TCLTK_PATH = wish
 XGETTEXT = xgettext
-MSGFMT = msgfmt
+MSGFMT = msgfmt.py
 PTHREAD_LIBS = -lpthread
 PTHREAD_CFLAGS =
 GCOV = gcov

затем

make configure NO_MSGFMT_EXTENDED_OPTIONS=1
./configure
make NO_MSGFMT_EXTENDED_OPTIONS=1
make install NO_MSGFMT_EXTENDED_OPTIONS=1

Не уверен, что параметр необходим для всех команд make, но это сработало для меня.

Ответ 5

У меня возникла проблема при выполнении "make install". Сообщение об ошибке:

install -d -m 755 '/usr/local/bin'
git: 'installation' не является командой git. См. "git --help".
./install: строка 4: Обычно: команда не найдена
./install: строка 5: будет: команда не найдена
./install: строка 6: Кому: команда не найдена
./install: строка 8: $: команда не найдена
./install: строка 11: синтаксическая ошибка около неожиданного токена .'
./install: line 11:
(или префикс =/usr/local, конечно). Как и любой программный пакет

Это связано с нечувствительностью к регистру ОС Windows, если у вас есть "./" в вашем PATH. Cygwin использует файл INSTALL в исходном дереве git вместо /usr/bin/install. Мы должны переименовать некоторые файлы "INSTALL" в исходном дереве в другое имя файла. Это упоминается http://zengrong.net/post/1817.htm

Ответ 6

У меня была проблема с этим, и мне потребовался час для отладки, поэтому я отправляю ответ на случай, если кто-то еще придет сюда.

На самом деле это та же самая причина, что и Yorkwar, но разные ошибки.

Все идет нормально, пока выходы make install:

$ make install
    GEN perl/PM.stamp
    SUBDIR gitweb
    SUBDIR ../
make[2]: 'GIT-VERSION-FILE' is up to date.
    GEN git-instaweb
    BUILTIN all
    SUBDIR git-gui
    SUBDIR gitk-git
    SUBDIR perl
    SUBDIR templates
install -d -m 755 '/usr/local/bin'
make: execvp: install: Permission denied
Makefile:2342: recipe for target 'install' failed
make: *** [install] Error 127

После многократного удаления UAC, setuid, icacls, прав собственности и т.д., я обнаружил через strace, что фактическая проблема заключается в том, что при выполнении install: поскольку у меня есть ./ в моем PATH и Windows не чувствительна к регистру, она пытается выполнить install, который является текстовым файлом, который не имеет установленного бита x. Таким образом, "Permission denied" ссылается на то, что x не задано в этом файле.

@Yorkwar исправил это, переименовав все файлы install, однако другой вариант - отредактировать Makefile и заменить

INSTALL = install

с

INSTALL = /usr/bin/install

Я использую cygwin 32-bit в Windows 7 64-bit (установил его до выхода cygwin64 и не потрудился для обновления). Успешно построена и установлена ​​ git version 2.0.0.rc4.dirty, которая была результатом git clone https://github.com/git/git.git.

Ответ 7

Вы можете установить последнюю версию для платформы Windows из git-scm.com/download/win.

Добавьте в свой ~/.profile следующее:

export PATH=$PATH:`cygpath 'C:\Program Files (x86)\Git\bin'`

Я использую этот git клиент из SourceTree и cygwin в сочетании с сервером Gerrit/SSH и не сталкивался с какой-либо проблемой.