Сочетание Mingw и Git - PullRequest
       11

Сочетание Mingw и Git

39 голосов
/ 13 апреля 2011

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

Полагаю, мне нужно использовать правильные пути, но некоторые пути жестко закодированы. Как и вызовы сценариев монтирования msys /bin/msysmnt.exe

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

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

Ответы [ 4 ]

28 голосов
/ 13 апреля 2011

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


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

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

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

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

ОБНОВЛЕНИЕ: подробные инструкции по добавлению каталога в PATH под любым MSYS:

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

или хакерски найдите / 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

на:

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.

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

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

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

make и gcc работали.

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

16 голосов
/ 23 мая 2011

Я поместил Git в оболочку MinGW, открыв профиль c: \ MinGW \ msys \ 1.0 \ etc \ (не в блокноте, возврат каретки отсутствует) и добавив:

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

на x86Система это будет:

export PATH=$PATH:/c/Program\ Files/Git/bin
6 голосов
/ 09 июня 2014

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

6 голосов
/ 09 августа 2011

обновление:

теперь msys поставляется с двоичным пакетом git.

http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/

старый ответ:

Если вы используете последнюю версию mingw & portableGit , просто поместите git.exe (извлеките файл из portableGitXXX.7z) в C: \ MinGW \ msys \ 1.0 \ bin \

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...