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

Используйте версию Cygwin или msysGit для Git или и то, и другое?

Я запускаю Windows 7, я только что установил Cygwin в первый раз сегодня, поэтому я играл с ним. Теперь я хочу начать использовать Git.

Из того, что я прочитал, msysGit позволит вам использовать графический интерфейс, а также добавляет правый щелчок на опции контекстного меню папки/файла Add to Git GUI и Add to GIT Bash.

В то же время, хотя я бы хотел использовать командную строку для создания каких-либо вещей Git, но я думаю, что в качестве новичка Git было бы неплохо иметь контекстные меню и графический интерфейс.

Итак, я как бы застрял. Пара вопросов...

  • Если я установлю Git с помощью msysGit, могу ли я запустить файл командной строки для Git с помощью Cygwin?

  • В одной книге говорилось, что вы можете установить как Cygwin, так и msysGit его версии, если это так, работают ли они с одними и теми же файлами/репо или это похоже на наличие 2 отдельных резервных копий Git для каждого файла? Если это так, то это кажется излишним.

  • Я также видел, что у msysGit есть переносимая версия. Если бы я использовал эту портативную версию, значит ли это, что репозиторий Git хранится на портативном устройстве USB или только в программе? Было бы здорово, если бы это была программа Git и резервная копия кода, переносимая.

4b9b3361

Ответ 1

1) Если вы не используете cygwin для чего-либо еще, и хотите использовать Git, перейдите к msysgit. Это приносит хорошую Git интеграцию в Windows и почти все инструменты GUI - Git Extensions, TortoiseGit и другие, которые, как я знаю, зависят от msysgit. Также с помощью msysgit вы можете использовать Git из cmd, powershell и т.д., Что невозможно, если у вас есть только cygwin git.

msysgit поставляется с собственным bash, и вы можете использовать его для командной строки, и вам не понадобится cygwin (опять же, из-за того, что вы не используете cygwin для других вещей). Почти все функции Git доступны в msysgit и за исключением некоторых конкретных изменений Windows (и производительности), вы обнаружите, что все работает сопоставимым образом с Git on * nix. cygwin не будет таким же эффективным, как msysgit и гораздо меньше native Git on * nix.

2) И возможно иметь их обоих, и вам не нужны отдельные репозитории. Они могут сосуществовать мирно.

3) Git repos являются легкими, поскольку они включают файловую систему. Нет никакой концепции портативных репозиториев Git, поскольку они эффективно переносятся. Msysgit portable предназначен для работы с репозиториями Git в системе без установки msysgit.

Ответ 2

Вы можете использовать один или оба, но есть некоторые вещи, о которых следует помнить.

На моей последней работе большая часть команды использовала msysGit; Я использовал Cygwin git, потому что я тяжелый пользователь Cygwin.

Два режима разрешают выполнение разрешений по-разному. Когда вы проверяете файл foo.cmd или foo.bat в среде MSYS, он рассматривает его как исполняемый, поскольку суффикс .cmd или .bat обозначает исполняемый формат. Cygwin этого не делает; это Unix-подобная среда, поэтому она не предполагает, что файл является исполняемым на основе его суффикса. Поэтому файлы *.cmd отлично работали для всех, но не для меня.

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

Я также столкнулся с некоторыми проблемами с вводом паролей при выполнении push, pull или fetch; код в git, который отключает эховые работы под MSYS, но не под Cygwin. Я смог избежать этого, используя ssh без пароля.

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

Ответ 3

Git для cygwin и msysGit установить полностью отдельные исполняемые файлы. Первый работает только в cygwin; последний устанавливает свою собственную оболочку bash (и инструменты GUI), но может также работать с cmd.exe или PowerShell. Я лично предпочитаю msysGit.

Оба будут работать с теми же репозиториями Git.

Ответ 4

Если какой-то неудачный поворот судьбы вы имеете дело с репозиторием git, где некоторые из его записей забивают в своей истории, говорят о нескольких концертах в размерах, тогда у вас будет нехватка памяти с MSysGit, потому что справа теперь доступна только 32-разрядная версия (есть 64-битная версия, которая находится в Pre-apha, но по состоянию на данный момент она по-прежнему не выполняет некоторые тесты и поэтому не подходит для производства). Только в этой ситуации требуется 64-разрядная версия git.

UPDATE: существует способ, по которому вы все еще можете использовать 64-битный git, не выходя из маршрута Cygwin:

  • Установить Vagrant
  • Установить VirtualBox
  • Добавьте VagrantFile в пустую папку
  • Подстройте его под свои нужды.
  • В командной строке cd в новую папку и
    • Выполните команду "бродяга вверх". Возьмите кофе, пока это завершено.
    • Затем выполните команду "бродяга ssh"

Теперь у вас установлена ​​виртуальная машина Linux с установленным 64-разрядным git. Затем в виртуальной машине:

  • cd/vagrant
  • git clone

Пусть это будет завершено, и у вас будет 64-разрядная установка git, управляющая вашим репозиторием в Windows.

Ответ 5

Возможно, вы запутаете инструмент git с помощью git repos. msysgit и cygwin git предоставляют инструменты, репозитории могут существовать независимо от наличия двоичных файлов git.

1 - Да. msysgit - это реализация git, которая использует MSYS и имеет более высокую производительность, чем Cygwin git. msysgit имеет также исполняемые файлы командной строки git.exe. msysgit не будет зависеть от других вещей, и вы можете запустить его из обычного cmd.

Cygwin git будет иметь зависимости от системы Cygwin и медленнее по сравнению с msysgit.

Однако вы можете установить оба, но если вы не используете cygwin для чего-либо еще, его не нужно устанавливать только для git. Я настоятельно рекомендую msysgit здесь.

2 - git - git, вы можете использовать msysgit или cygwin git для тех же репозиториев, хотя будьте осторожны с несоответствиями версии (например, если вы используете msysgit 1.7.8 и cygwin git 1.6). Я не думаю, что это большая проблема, но у меня никогда не было нескольких версий git.

изменить:

3 - msysgit portable означает, что вы можете переносить msysgit на что-то вроде флеш-накопителя.

Дополнительно:

Возможно, вы захотите дать TortoiseGit. Это графический интерфейс для git и предоставляет контекстные меню для работы с git в проводнике Windows. Перед установкой TortoiseGit необходимо установить msysgit.

Ответ 6

В любом случае НЕ устанавливайте cygwin git. Это медленнее до смерти. Я собираюсь попробовать msysgit, надеясь на более эффективную работу.