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

Объединение mingw и git

У меня есть установка MinGW в D:\mingw. У меня есть Git установка в C:\Program Files\ git. Я хочу разработать/скомпилировать с помощью MinGW и использовать git для управления версиями.

Я предполагаю, что мне нужно использовать правильные пути, но некоторые пути жестко закодированы. Подобно msys mount script вызывает /bin/msysmnt.exe

Итак, у меня есть 2 варианта: 1. используйте git shell (чтобы показать мне ветку в командной строке) 2. используйте mingw (msys) shell - чтобы иметь правильные пути

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

4b9b3361

Ответ 1

Небольшое обновление:. Поскольку выпуски Git 2.x, Git для Windows основаны на MSYS2 и доступен в бинарной форме 32 и 64 бит. Он по-прежнему является вилкой и не взаимозаменяем с реальным MSYS2.


Одна вещь, которую вы должны понимать: msysgit (используется Git) - это fork из msys с добавленной функциональностью Git. В оболочку msys включено множество инструментов unix (полный список см. В папке msysgit/bin).

Возможно, в папку msysgit bin добавятся дополнительные инструменты msys, но я бы не рискнул на это.

В свете этого, я думаю, было бы оптимально просто добавить вашу инструментальную цепочку к пути msysgit (используя файл профиля bash или что-нибудь в дереве msysgit) и просто использовать это. Если какая-либо конкретная утилита отсутствует, добавьте ее из дерева MinGW-msys и надейтесь, что она будет работать нормально.

В качестве альтернативы просто используйте msys- git из cmd.exe. Начиная с последних версий, он работает очень хорошо (включая Git show, редактирование сообщений фиксации и т.д.). Для этого добавьте каталог /cmd в PATH, и вы можете использовать все команды Git, которые вы хотите. Это то, что я делаю, поскольку msys - это перетаскивание, но необходимое зло для Git для работы в Windows.

UPDATE: подробные инструкции по добавлению каталога в PATH под любым видом MSYS:

export PATH=/d/MinGW/bin:$PATH

или hackishly найти /etc/profile и изменить этот раздел

if [ $MSYSTEM == MINGW32 ]; then
  export PATH=".:/usr/local/bin:/mingw/bin:/bin:$PATH"
else
  export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH"
fi

to:

if [ $MSYSTEM == MINGW32 ]; then
  export PATH=".:/usr/local/bin:/d/MinGW/bin:/bin:$PATH"
else
  export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH"
fi

Нет более чистого способа, потому что люди msys- git отключили функциональность fstab, присутствующую в vanilla msys.

Обновление от Nick (что я сделал, чтобы заставить его работать):

Я создал файл в C:\Program Files\Git\etc под названием bash_profile. Это содержимое файла:

export PATH=$PATH:/d/mingw/bin:/d/mingw/msys/1.0/bin

make и gcc.

bash_profile не поставляется с msysgit, поэтому вы не будете перезаписывать его при обновлении.

Ответ 2

Я помещаю Git в оболочку MinGW, открывая c:\MinGW\msys\1.0\etc\profile (не в Блокноте, нет возврата каретки) и добавляя:

export PATH=$PATH:/c/Program\ Files\ \(x86\)/Git/bin

В системе x86 это будет:

export PATH=$PATH:/c/Program\ Files/Git/bin

Ответ 4

Использовать msys2. Его msys с достойным менеджером пакетов (pacman) и системой сборки (makepkg), портированным из arch linux. У меня есть одна оболочка со всеми моими devtools и git и такими al