Разница между msysgit и Cygwin + git?

Ваша функция может быть выполнена для работы путем повторения по списку в обратном порядке:

def checkio(data):
    for index in range(len(data) - 1, -1, -1):
        if data.count(data[index]) == 1:
            del data[index]
    return data

print(checkio([3, 3, 5, 8, 1, 4, 5, 2, 4, 4, 3, 0]))
[3, 3, 5, 4, 5, 4, 4, 3]
print(checkio([1, 2, 3, 4]))
[]

Это работает, поскольку оно только удаляет числа в разделе списка, который уже был повторен.

30
задан thirtydot 11 July 2012 в 16:34
поделиться

3 ответа

Изменить 2018:

С момента моего ответа 2010-2012-2014 гг. В 2015 году Git для Windows использует msys2, как я подробно здесь .

Подробнее см. « Как msys, msys2 и msysgit связаны друг с другом? ».


Редактировать (еще 2 года спустя: октябрь 2014 г.)

Йоханнес Шинделин только что объяснил (октябрь 2014 г.), что msysgit постепенно прекращается :

Теперь у нас есть облегченный Git для Windows SDK , который по сути представляет собой стандартную систему MinGW / MSys, управляемую через диспетчер пакетов mingw-get.

Мы решили просто постепенно отказаться от имени «msysGit» (а также от организации GitHub с тем же именем ) и:

  • работать над Git для Windows соответствующая организация GitHub) ,
  • с использованием имени « Git for Windows » для установщика, предназначенного для «конечных пользователей» и
  • с именем « Git for Windows SDK "для среды разработки, предназначенной для разработчиков Git для Windows).

Обновление 2 года спустя: июль 2012 г.

Msysgit никуда не денется, и если вам не понадобится - , добавить несколько сотен МБ для cygwin , вы действительно этого не сделаете. нужен Cygwin, чтобы просто использовать Git в Windows.
И если вы хотите получить доступ к GitHub, вы получите один пакет («Git для Windows» + ключи ssh, зарегистрированные для вас в вашей учетной записи GitHub + красивый графический интерфейс) с GitHub для Windows .

Оба Git и msysgit находятся на GitHub.
Страница msysgit.github.com ясно показывает разницу между:

Git for Windows logo <----------> MsysGit logo
« Git для Windows »: Pure пользователи Git | « MsysGit »: для тестировщиков, разработчиков, специалистов по установке

См. Также FAQ по msysgit :

Что это за «MSys» в «MSysGit»?

MSys - это среда для Windows, предлагающая оболочку типа Unix и интерпретатор Perl. Поскольку многие части Git по-прежнему не являются встроенными командами, запрограммированными на C, а являются сценариями оболочки и Perl, Git для Windows нужна такая среда.

Поэтому мы поставляем Git для Windows с очень минимальной версией MSys.

MSys также требуется для сборки Git, поскольку мы повторно используем ту же установку Unix-типа, что и вышестоящий Git. Мы поставляем более полную среду MSys, включая GCC, в качестве среды сборки (поэтому она называется «msysGit»).

Мы компилируем Git как чистую программу MinGW , то есть программу без каких-либо зависимостей ссылок от чего-либо, кроме стандартных библиотек Windows.
Поэтому, если вам не нужно использовать какие-либо части Git, которые по-прежнему реализованы только как сценарии оболочки или Perl, вы можете уйти, запустив простой git.exe.


Исходный ответ: июнь 2010 г.

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

b / Вы, вероятно, используете «Git для Windows», а не msysgit. Из вики :

  • msysGit - это среда разработки для компиляции Git для Windows . Он завершен в том смысле, что вам просто нужно установить msysGit, а затем вы можете собрать Git. Без установки стороннего ПО.
  • Git для Windows - это установщик, который устанавливает Git - и только Git .

Легко увидеть разницу:

  • установщики для Git имеют префикс Git-,
  • установщики msysGit имеют префикс msysGit-.

Еще одним признаком является то, что установщики msysGit бывают двух видов: fullinstall и netinstall.
Кроме того, msysGit по умолчанию не устанавливается в C: \ Program Files .
Но msysGit поставляется с gcc , компилятором GNU C.

c / Из MSysGitHerald10 :

Помните:

  • MinGW - это действительно очень тонкий слой времени компиляции над Microsoft Runtime; Таким образом, программы MinGW являются настоящими программами Windows, без концепции путей в стиле Unix или тонкостей POSIX, таких как вызов fork () .
  • MSys, напротив, представляет собой упрощенную версию Cygwin (к тому же старая версия), единственная цель которой - предоставить достаточно уровня POSIX для запуска bash.

И это не всегда приветствуется :

При работе в Windows мне не нравится, что msysGit, как следует из названия, зависит от MSYS и инструментов из мира Unix.Я считаю, что все программы в дистрибутиве Git должны стать двоичными файлами, скомпилированными для конкретной платформы, а не полагаться на интерпретаторы оболочки или сторонние языки, такие как Tcl / Tk.

Тем не менее, он намного лучше, чем первые Git на Cygwin , установленные в 2007 году.

44
ответ дан 27 November 2019 в 23:49
поделиться

cygwin + git был единственным способом заставить git работать раньше. Теперь, когда есть msysgit, я не вижу смысла использовать cygwin.

Я согласен с тем, что git bash не так хорош ... так что я делаю

  1. Помещаю git в путь и использую командную строку окна, когда мне нужна командная строка.
  2. Установите git черепахи, когда я хочу иметь Графический интерфейс моего мерзавца
4
ответ дан 27 November 2019 в 23:49
поделиться

Реализация bash в msysgit устарела. Однако при редактировании я использую vim, и это отлично работает. Что касается вырезания и вставки, я часто прибегаю к SHIFT + ALT + [пробел], E, M или другим клавишам, чтобы пометить текст, который я хочу. Не идеально, но работает достаточно хорошо, так как я не резаю и не вставляю слишком много.

Теперь я начал запускать Ubuntu на той же машине через VirtualBox. Благодаря бесшовному режиму и общим папкам я могу воспользоваться обновленным bash и быстрым Git.

Я не использую никаких инструментов графического интерфейса для Git, кроме gitk (для gitk --all), чтобы визуализировать историю, если мне это нужно.

Я пробовал cygwin, и он мне не понравился. Решение виртуальной коробки намного лучше, если вам недостаточно msysgit.

1
ответ дан 27 November 2019 в 23:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: