Во-первых, позвольте мне сказать, что я не профессиональный программист, а инженер, который имел потребность в нем и должен был учиться. Я всегда работал один, таким образом, это был просто я и мои семь раздвоений личности..., и мы работали okey командой :) Большая часть моего материала сделана в C/Fortran/Matlab, и до сих пор я изучал мерзавца для управления всем этим. Однако, хотя у меня не было неразрешимых проблем с ним, я никогда не был "настолько" доволен им... для всего, что я не могу сделать, я должен искать книгу. И, в течение некоторого времени теперь я слышал много хорошего материала о Подвижном.
Теперь, мой коллега должен будет работать со мной на проекте (я почти чувствую жалость к нему), и он начал учиться Подвижный (говорит, что ему нравится он больше), и я рассматриваю переключатель сам.
Мы работаем почти исключительно над платформой Windows (хотя я управляю относительно хорошо инструментами Unix использования и вещами, которые прибывают из той части мира).
Так, я задавался вопросом в описанном сценарии, что проблемы могли я ожидать с переключателем. Я слышал, что Подвижный скорее более удобно для пользователя к пользователям Windows, относительно пользовательских интерфейсов.
Как это обрабатывает репозитории? Это создает их тот же путь, как мерзавец делает (всего один подкаталог в рабочем каталоге), и я могу просто скопировать целый каталог проекта (включая мерзавца repo) и просто нести их куда-нибудь без дополнительных взглядов? (Мне действительно понравилось это, когда я предпочитал git/svn).
Есть ли любые хорошие книги по нему, что можно рекомендовать (что-то как Pro Мерзавец, только для Подвижного).
Что является хорошими способами реализовать Подвижный в Visual Studio/GVim для Windows, или в Windows Explorer, таким образом, я могу работать относительно легко (я хотел бы избегать использования командной строки для всего относительно него, как в оболочке мерзавца).
Есть ли что-то еще, о чем я должен знать (на этом не указывают на меня на другие вопросы... они просто дают мне тонну информации, и я не уверен, что является ею, что я должен взять в качестве важного, и что игнорировать). Я пытаюсь сократить некоторое время, так как я не могу провести все то время, повторно учась Подвижный, как я сделал для мерзавца.
Я также услышал, что мерзавец является c проектом, в то время как подвижный Python... там любое заметное различие в скорости. мерзавец был довольно быстр... будет я встречаться с некоторым ожиданием при работе.
Уведомление: Все мои проекты имеют скажем, средний размер... главным образом численное моделирование... 10-15000 строк (средний размер?)
Во-первых, позвольте мне сказать, что я не профессиональный программист, а инженер, который нуждался в этом и должен был учиться.
И здесь инженер. Я использовал Mercurial, Subversion, BitKeeper и CVS. Еще не добрался до Git.
Я слышал, что hg более удобна для пользователей Windows, что касается пользовательских интерфейсов.
Не уверен, что здесь имелось в виду, Git и Mercurial по сути своей являются инструментами командной строки.
Как он обрабатывает репозитории?
Это распределенная система контроля версий (DVCS), как и Git.
Создает ли он их так же, как и git (только один подкаталог в рабочем каталоге), и могу ли я просто скопировать весь каталог проекта (включая репозиторий git) и просто перенести их куда-нибудь без лишних размышлений? (Мне это очень нравилось, когда я выбирал git / svn).
Да. Репозиторий Mercurial находится в каталоге .hg
в рабочем каталоге. Кроме того, Mercurial имеет систему именования в своем репозитории для предотвращения конфликтов имен файлов, если вы используете ее с файловой системой без учета регистра, такой как FAT, NTFS или HFS +.
Есть ли по нему какие-нибудь хорошие книги, которые вы могли бы порекомендовать (что-то вроде Pro Git, только для Hg).
Я бы порекомендовал веб-сайт: https://www.mercurial-scm.org/guide
Каковы хорошие способы реализации hg в Visual Studio / GVim для Windows или в проводнике Windows, чтобы Я могу работать относительно легко (я бы не хотел использовать командную строку для всего, что связано с этим, как в оболочке git).
Есть инструмент под названием TortoiseHG . Я не могу засвидетельствовать, насколько это хорошо, поскольку я обычно использую версию командной строки через Cygwin.
Я также слышал, что git - это проект c, а mercurial - это python ... есть ли заметная разница в скорости. git был довольно быстрым ... я столкнусь с ожиданием во время работы.
Mercurial чертовски быстр. Я не знаю, как он сочетается с Git, но он намного быстрее, чем Subversion.
Примечание: все мои проекты, скажем, среднего размера ... в основном численное моделирование ... 10-15000 строк (средний размер?)
Похоже на мои вещи. Не считая, конечно, сырых данных.
И не по теме ...
Большая часть моих вещей сделана на C / Fortran / Matlab, и до сих пор я учился git управлять всем этим.
Я недавно перехожу с Matlab на Python ...
Просто мысль.
ЛЕТ СПУСТЯ РЕДАКТИРОВАНИЕ: Существует инструмент Mac DVCS под названием SourceTree , которым я очень доволен. Он поддерживает как Git, так и Mercurial и доступен бесплатно в App Store.
Плюсы Git:
Минусы Git:
HG Pros:
HG Минусы:
Есть и другие существенные различия, но, на мой взгляд, они наиболее значимые. Честно говоря, если бы я в основном работал с Windows, я бы, вероятно, выбрал Mercurial.
По вашему мнению:
Я не могу говорить о Mercurial, но я могу подтвердить, что git написан на C. Взгляните на gitweb для источник.
Что касается необходимости в командной строке для всего, что связано с git, то это не обязательно. Есть инструмент под названием TortoiseGit , который интегрируется с оболочкой проводника и будет управлять вашими репозиториями git за вас - если вы используете Eclipse, есть также EGit . В Linux есть QGit, хотя интерфейс командной строки намного мощнее.
Я разработчик Linux / C и, естественно, предпочитаю Git; Я тоже слышал много хорошего о Mercurial, но никогда не удосужился его изучить.
Я порекомендую hgbook (Mercurial: The Definitive Guide) и hginit (Hg Init: Mercurial Дружественное введение в Mercurial DVCS от Джоэла Спольски.)
См. также мой ответ в Git and Mercurial - Compare and Contrast SO вопрос.
Если вам нравится git, я сомневаюсь, что существует настоящий веская причина переключиться, хотя мне очень нравится Hg. В Git есть TortoiseGit / GitCheetah, хотя я думаю, что TortoiseHg немного лучше и стабильнее IMHO.
Возможно, вы захотите посмотреть это бесплатное видео об использовании Hg и TortoiseHg (а также надстройки Visual Studio Hg) на tekpub / codeplex . Видео даст вам почувствовать Hg.
Мой переход от Git к Mercurial был намного проще после прочтения A Guide to Branching in Mercurial, в котором также упоминается способ ветвления Git.
Если у вас есть IIS 7, вы можете легко настроить сервер Mercurial: Настройка сервера Mercurial под IIS7 на Windows Server 2008 R2, и вы можете легко найти учебники с помощью IIS 6 или Apache2. Конечно, для быстрой синхронизации hg serve
неоценимо: использование "hg serve" для проталкивающих изменений
Интеграция Visual Studio:
Бесплатный хостинг:
Для руководств и учебных пособий вы можете начать с Mercurial wiki.
Разберу по пунктам...
Я считаю Hg относительно интуитивным, простым в использовании и, когда это не удается, хорошо документированным.
Mercurial имел преимущество в Windows, но я считаю, что Git улучшился и там, так что это, вероятно, не очень хороший дифференциатор.
Что касается пользовательских интерфейсов, вы можете рассмотреть TortoiseHg (интеграция оболочки Windows, которую вы упомянули), если вам не нравится командная строка. Работая под Windows, я вас не виню. :)
Mercurial создает репозитории так же, как и Git: один скрытый подкаталог под корневым каталогом. Вы можете перемещать его как угодно (положить на палку, перенести в другое место и т.д.) Почему это было проблемой в svn?
Я рад сказать, что, рассматривая Hg как инструмент для выполнения работы, я не чувствовал необходимости в поиске "хорошей книги". Возможно, они есть, но доступные онлайновые документы были более чем достаточны для того, что я хотел сделать.
Хотя Git хвастается своей скоростью, неясно, быстрее ли он Mercurial, но это спорный вопрос: они в любом случае очень быстры.
Перефразируя мой собственный блог пост на эту тему, я думаю, что очень важно то, что Git не может избавиться от репутации трудного в работе. Цитата, на которую я несколько раз натыкался, иллюстрирует это лучше, чем все, что приходит мне на ум: "Git изменился, чувак! Он не такой, как раньше, теперь он полностью интуитивен! Ты просто должен узнать, как он хранит данные!"
В заключение хочу сказать, что я являюсь пользователем Mercurial (я не использовал Git, но немного читал о нем), и редко когда я получаю удовольствие от использования программного продукта, потому что 95+% времени они сырые, имеют неровные края, ошибки и т.д. Mercurial - это действительно решение, которое я с удовольствием использую и от души рекомендую!