Использование msysGit из MinGW и наоборот
Я использую git как мою систему контроля версий. Для этого я установил msysGit для проверки своих репозиториев на MSW. Теперь я хочу скомпилировать мои программы с MinGW и нашел для меня эту "проблему":
Когда я устанавливаю MinGW и MSYS через mingw-get, я могу скомпилировать свою программу, без проблем. Но я не могу получить доступ к git. Когда я использую git Bash, я могу работать с git, но не могу скомпилировать.
Есть ли возможность:
- установить MinGW "в" git Bash (потому что он уже содержит msys, не так ли?) OR
- установить "ссылки" между обеими установками, чтобы заставить его работать.
Я бы предпочел, чтобы я мог обновлять оба пакета в актуальном состоянии.
Заранее спасибо:)
Ответы
Ответ 1
Как вы установили Msysgit? Вы выбрали третий вариант на экране, где он запрашивает установку PATH?
![enter image description here]()
(выше скриншота из: http://ekkescorner.files.wordpress.com/2010/02/git-windows-msysgit-install-3.png.)
Вам нужно выбрать третий вариант или даже второй может быть достаточно.
Ниже показан снимок экрана с моего MingW
![enter image description here]()
В любом случае, все о настройке правильного пути к git.exe в msysgit, или мне что-то не хватает?
Ответ 2
Вы можете добавить символическую ссылку на git в MinGW, если вы выбрали второй вариант.
Итак, если ваша установка msysgit находится в папке C:\Program Files (x86)\Git
Откройте оболочку MinGW и введите:
cd /usr/bin
ln -s /c/Program\ Files\ \(x86\)/Git/bin/git git
Это создаст символическую ссылку под названием git в MinGW/usr/bin, указывающую на установку msysgit.
Затем вы можете использовать команду git в любом месте от оболочки MinGW.
Ответ 3
Вам нужно исправить PATH, чтобы вы выполняли внешние команды, соответствующие среде msys или msysgit. В зависимости от того, как вы установили эти две среды оболочки, один из них будет первым в PATH, поэтому независимо от того, какой из bash вы используете, вы будете запускать внешние команды из каталога bin, который является первым в PATH.
Вы можете проверить это, запустив ls.exe из разных оболочек bash, я нашел, что один работал, а другой - нет, но когда я исправил PATH, они оба работали.
Я попытался выработать умный script, который будет работать для обоих, но это сложно, поскольку они оба сопоставляют свой собственный каталог bin с /bin. Когда мне стало сложно работать, я создал msys.sh и msysgit.sh с линией:
export PATH=/c/MinGW/msys/1.0/bin:/c/MinGW/bin:${PATH}
или
export PATH="/c/Program Files (x86)/Git/bin:${PATH}"
соответственно. Эти файлы должны быть отправлены в среду, в которой вы работаете. Например:
source ./msys.sh
Вам действительно нужен только один script, поскольку одна среда будет работать, но я также установил RubyDevKit, у которого была такая же проблема, поэтому было проще создать script для каждой среды.
Ответ 4
Если вы хотите, чтобы путь изменялся каждый раз, когда вы запускаете git bash в окнах.
Вам необходимо выполнить следующие действия:
- В прогоне Windows введите "git bash"
- Vim ~/.profile
- Добавить "экспорт PATH =/c/MinGW/msys/1.0/bin:/c/MinGW/bin: ${PATH}" в последнюю строку файла. (MinGW должен найти в C:\MinGW)
- : wq, существуют vim.
- выйти из git bash и снова перезапустить