Выбираю сейчас систему контроля версий, за глаза нравится Mercurial. Но перечитав некоторое количество материалов так и не понял, «дружит» ли он с github.com?
Понимаю, что совместимость существует, но удобно ли пользоваться клиентом для этого не предназначенным? Или если ориентированность на github, то только git, а если Mercurial, то прямая дорога на bitbucket. Я так понимаю, что есть тонкости.
Со своими репозиториями на гитхабе работаю через hg (с помощью hg-git). С чужими — через git.
Что тут можно сказать — использовать hg как клиент к гитхабу можно, и интерфейс командной строки у hg поприятнее, чем у git, но много тонкостей: есть штуки в hg, у которых нет аналогов в гите (named branches) и поэтому полноценного преобразования hg <-> git не получается; у hg-git бывают глюки, и он не все фичи поддерживает. Подход этот точно не для человека, который только взялся за системы контроля версий; чтоб его использовать, нужно достаточно хорошо как hg, так и git знать, и работает он хорошо только для несложных репозиториев (у меня там несколько коммитов в месяц, в основном линейные репозитории).
Если хотите размещать репозитории на github, git выучить смысл есть в любом случае.
Вот именно такая картина, как вы описали у меня и была на момент задания вопроса.
Как я и опасался, для github нужен git. Просто самое интересное всегда находится именно на гитхабе, многие знакомые разработчики там имеют аккаунты. Удобно регистрироваться именно там.
Вы правы, придётся осваивать git.
Давно использую hg-git и для всех своих репозиториев на github и для fork-ов/pull-request-ов в чужие репозитории. С ветками работаю исключетельно через hg-шные bookmark-и. Пока никаких проблем не было. Лично для меня hg намного приятнее git. Насколько я читал когда изучал этот вопрос перед началом использования hg-git - проблемы могут возникнуть только если другие разработчики будут использовать хардкорные фичи git для жёстких модификаций истории (чего, на мой возгляд, делать не стоит в принципе).