В отличие от Git. Hub Bit. Bucket позволяет совершенно бесплатно создавать как открытые, так и закрытые репозитории. В чем состоит отличие Git от Subversion Главное отличие Git от Subversion заключается в том, что Git распределенная система контроля версий. Звучит ужасающе, но на практике это означает очень простую вещь. Каждый разработчик держит у себя на диске отдельный репозиторий. Обратите внимание не копию репозитория, не некоторые бранчи, а тупо отдельный и при этом абсолютно полноценный репозиторий. Пока мы работаем в рамках своего репозитория, все происходит в точности, как в Subversion. Мы коммитим и откатываем изменения, создаем, мерджим и удаляем бранчи, разрешаем конфликты и тд. Помимо этого, предусмотрены команды для работы с репозиториями на удаленных машинах. Например, git push означает мердж локальных изменений в удаленный репозиторий, а git pull наоборот, мердж изменений из удаленного репозитория в локальный. Обмен данными по сети обычно происходит с использованием протокола SSH. В результате имеем Git присущи все те же преимущества от использования VCS, что мы получаем в Subversion. Git Extensions Инструкция' title='Git Extensions Инструкция' />Некоторое время назад мы анонсировали поддержку Git в Visual. Не знаю зачем такая длинная инструкция, както без нее. В студии удобно только пулл и пуш делать для всего остального Git Extensions. Git дает нам нормальное шифрование из коробки, безо всяких танцев с бубнами, как в случае с Subversion. Если сервер с главным репозиторием, куда пушат свои изменения все разработчики хотя формально в Git нет никакого главного репозитория, вдруг прилег ничего страшного. Делаем коммиты в локальный репозиторий и ждем, когда сервер вернется. Даже если сервер доступен, все равно удобнее сделать пяток локальных коммитов, а затем отправить их на сервер одним пушем. Сервер вообще не нужен. Вы можете использовать Git только локально. И не обязательно для работы с исходниками. Например, можно использовать Git для того, чтобы иметь возможность откатиться к предыдущим версиям файлов каких нибудь электронных таблиц или вернуть случайно удаленные. Git не раскидывает по каталогам служебную информацию помните. Git нынче очень моден хотя это далеко не единственная распределенная система контроля версий, например, есть Mercurial и Darcs, в связи с чем растет число разработчиков, использующих его. Как следствие, используя Git, легче получить помощь на каком нибудь форуме или собрать команду разработчиков, знакомых с этой VCS. Существует множество полезных утилит для работы с Git Qgit, gitk, gitweb и другие. Используя Git, вы увеличиваете вероятность того, что кто то захочет безвозмездно написать патч для вашего Open. Source проекта. Пример использования Git. Я использовал Git при написании программы из заметки Генерация почти осмысленных текстов на Haskell, сидя под своей любимой Free. BSD. Вот как примерно выглядела моя работа с Git. В первую очередь необходимо поставить Git pkg. Затем клонируем репозиторий cd projectshaskellgit clonegitbitbucket. Делаем какие то изменения echotest TODO. TXTДобавляем новый файл в репозиторий и делаем коммит git add TODO. TXTgit commit a. Поскольку я не указал описание коммита, запускается редактор VIM, с помощью которого я и ввожу описание. Затем я отправляю все сделанные мною изменения на Бит. Бакет git push origin. Допустим, теперь я хочу сделать некоторые изменения в проекте, но не уверен, выйдет ли из этого что то хорошее. В таких случаях создается новая ветка git branch new. Если ничего хорошего не вышло, возвращаемся к основной ветке она же trunk или ствол git checkout master. Если вышло что то хорошее, мерджим ветку в master о разрешении конфликтов рассказано в следующем параграфе git commit a делаем коммит всех изменений в new. Только каждый программист должен работать со своей веткой, чтобы не мешать другим программистам. Одна из классических ошибок при начале работы с Git заключается в pushевсех веток, а не только той, с которой вы работали. Вообще я бы советовал первое время перед выполнением каждого push делать паузу с тем, чтобы подумать, что и куда сейчас уйдет. Для большей безопасности советую при генерации ssh ключей указать пароль. Тогда каждый запрос пароля со стороны Git будет для вас сигналом Эй, ты делаешь что то, что затронет других. Для работы с Git под Windows можно воспользоваться клиентом Tortoise. Git. Если память не изменяет, для нормальной работы ему нужен MSys. Git. Для генерации ключей можно воспользоваться утилитой Pu. TTy. Gen, только не забудьте экспортировать открытый ключ в правильном формате, Conversions. Возможно, это всего лишь дело привычки, но мне кажется намного удобнее работать с Git из консоли, чем с помощью контекстного меню в Проводнике. Так что по возможности я бы советовал работать с Git в Юниксах. В крайнем случае можно поставить виртуальную машину, установить под ней Free. BSD безо всяких GUI и работать в этой виртуальной машине. Шпаргалка по командам. В этом параграфе приведена сухая шпаргалка по командам Git. Я далеко не спец в этой системе контроля версий, так что ошибки в терминологии или еще в чем то вполне возможны. Если вы видите в этом разделе ошибку, отпишитесь, пожалуйста, в комментариях. Создать новый репозиторий git init project name. Если вы планируете клонировать его по ssh с удаленной машины, также скажите git config bool core. Это делается примерно так mkdir ptmpgit copycdtmpgit copygit clone baregitexample. Следует отметить, что Git позволяет использовать короткую запись хэшей. Вместо d. 85. 78edf. Дополнение Также в 6 м пункте Мини заметок номер 9 приводится пример объединения коммитов с помощью git rebase, а в 1. Мини заметок номер 1. Работа с сабмодулями. Более подробно сабмодули и зачем они нужны объясняется в заметке Простой кроссплатформенный Open. GL проект на C. Здесь упомянем самое главное. Добавить сабмодуль git submodule add https github. Инициализация сабмодулей git submodule init. Обновление сабмодулей, например, если после git pull поменялся коммит, на который смотрит сабмодуль git submodule update. Удаление сабмодуля производится так Скажите git rm cached имя. И кстати, с наступающим васДополнение Практика работы с системами контроля версий. Метки Разработка. Понравился пост Поделись с другими.
Git Extensions Инструкция© 2017