Начинаем работать с git — пошаговая инструкция
Первые шаги в освоении мира компьютерных технологий пройдены, ты знаешь, зачем сюда пришёл, к чему стремишься, и как этого добиться, упорно учишься, переходя от курса к курсу. За спиной первые написанные программы и отловленные баги, а впереди маячат светлые перспективы коммерческой разработки программного обеспечения.
Наверное, пора узнать…
Секреты командной разработки
Разработка – это почти всегда командная игра. Пора учиться работать в команде.
Даже если пока что в твоей команде только монитор, системник (или старенький ноутбук) и острое желание стать программистом, всё равно пора учиться.
Программисту проще стать своим среди своих, ведь за него говорят не дежурные улыбки, перекуры и чаепития с печеньками, а чёткие строки кода, элегантные функции и безупречная работа готовых приложений.
Чтобы эффективно работать в команде, мало знать синтаксис языка, ключевые библиотеки и уметь обращаться с базами данных. Необходимо уметь работать в удобной для команды системе контроля версий.
О системах контроля версий их преимуществах и недостатках можно почитать здесь .
В этой статье мы перейдём от теории к практике и расскажем, как работать с git’ом.
Шаг 1. Выбираем git-хостинг
Git-хостинг на разных условиях предлагают десятки компаний.
Самые известные из них: Github , Sourceforge , Google Code , GitLab , Codebase . Выбери удобный интерфейс и регистрируйся на понравившемся хостинге.
В этой статье мы рассмотрим работу с git-хостингом на примере Github ’а.
Шаг 2. Регистрация
Процедура регистрации на Гитхабе простая и интуитивно понятная даже для тех, чей уровень английского далёк от Upper Intermediate.
Логин, пароль, почта –> подтверждение, и связь с мировым сообществом программистов налажена.
Шаг 3. Создание репозитория
Ты можешь создать любое количество репозиториев, у каждого из которых будет issue tracking, wiki, условия для проведения code review и многое другое.
Политика разработчиков Github предполагает бесплатное использование хостинга для всех open-source проектов.
Чтобы создать новый репозиторий нажмём кнопку + в верхней части экрана и выберем New repository
Многие разработчики рано или поздно сталкиваются с необходимостью создания приватного репозитория, код из которого доступен только их команде. Для этих случаев на Github’е есть определённый тарифный план.
Но пока острой необходимости в создании приватного репозитория у нас нет, создадим обычный.
Жмём волшебную кнопку Create внизу экрана, и репозиторий готов.
Шаг 4. Работа с репозиторием
Работа с репозиторием может вестись из командной строки, напрямую из среды разработки или из графического интерфейса (git — клиент приложения).
Работа с графическим интерфейсом позволяет лучше понимать процессы, происходящие в локальном и удалённом репозитории. Поэтому я рекомендую начать работу с git с использованием графического интерфейса.
Шаг 5. Выбираем Гит-клиент
Потом, когда суть процессов изменения и обновления (восстановления) информации в репозитории станет для Вас очевидна, можно работать и через командную строку. В этом принципе работы есть немало своих преимуществ. Например, все новые опции Гитхаба реализуются сначала для использования в командной строке, и только потом адаптируются под графические интерфейсы.
Но вернёмся к git-клиентам.
Самыми популярными гит- клиентами на данный момент являются:
SmartGit
Удобное приложение гармонично сочетает все необходимые функции и доступную интуитивно понятную систему управления. SmartGit – один из самых удобных графических интерфейсов для профессиональной разработки. Некоммерческая разработка и разработка open-sourse проектов не требуют платной лицензии.
GitHub Desktop
«Родной» графический интерфейс Гитхаба. GitHub Desktop работает под Windows и Mac и практически полностью копирует функционал основного сайта. Работает под той же учётной записью.
Правда, не всегда оперативно справляется с большими программами.
Зато отлично подходит для начала работы с git.
GitKraken
Поддерживает GitHub, Bitbucket и Gitlab.
Кракен очень любят программисты – фрилансеры, которым периодически приходится менять команды, а значит, и условия командной разработки. Возможность работы с разными git-хостингами через привычное приложение со знакомым интерфейсом в таких случаях играет важную роль.
SourceTree
SourceTree позволяет работать с Bitbucket и GitHub. В приложении довольно простой интерфейс, подходящий, как для опытных программистов, так и для новичков.
Шаг 6. Работа со SmartGit
В этой статье мы рассмотрим работу с SmartGit.
Скачать SmartGit можно, например, отсюда :
Устанавливаем и запускаем.
Основные операции для работы с git
Clone
Первое, чему стоит научиться – это снимать копию проекта из удалённого репозитория в локальный.
Делается это довольно просто:
Затем копируем ссылку репозитория, созданного на Гитхабе (шаг 2)
Вставляем адрес удалённого репозитория в нужную ячейку в открывшемся окне, выбираем расположение нового локального репозитория у нас на компьютере, и получаем готовый локальный репозиторий.
К слову, аналогичным образом можно клонировать чужой открытый репозиторий и поближе познакомиться с чужим кодом.
Commit
Репозиторий готов – пора приступать к работе.
Написанный код мы помещаем в локальный репозиторий — папку .git (путь к которой мы указали в операции clone).
Если всё прошло успешно, в окошке SmartGit’а появится скопированный файл.
Для того чтобы зафиксировать изменения в локальном репозитории, нажимаем кнопку Commit.
В открывшемся окне пишем пояснительный комментарий к сохраняемому файлу и снова нажимаем кнопку Commit
Файл сохранён, а изменения внесены в журнал.
Теперь заглянем на Github.com в наш удалённый репозиторий. Там до сих пор нет ни одного файла. Нужно срочно менять ситуацию.
Чтобы перенести изменения, внесённые в локальный репозиторий, в удалённый репозиторий, необходимо нажать кнопку Push.
К слову, отправить изменения в удалённый репозиторий, нам предлагают ещё в точке Commit ’а
Возникает резонный вопрос: как получат изменения остальные участники разработки, если они клонировали проект в самом начале?
Для этого существует команда Pull , передающая в локальный репозиторий все изменения, происходящие в удалённом.
К слову, для командной разработки на Гитхабе есть ещё несколько важных опций.
Перенос информации из сторонних репозиториев на Гитхаб
Когда нужно собрать разрозненные кусочки кода в один проект, используйте кнопку Import repository и работайте с файлами в удобном репозитории Гитхаба.
Кнопка New gist на этой панели предназначена для мгновенного обмена информацией.
А кнопка New organization открывает массу возможностей для командной разработки.
Заключение
О git’е можно писать ещё долго, подробно рассматривая возможные конфликты, создание и слияние деревьев, работу с ветками, но для начала эффективной работы достаточно знания основных команд и острого желания стать программистом.
Благодаря своей политике (поддержка open-sourse проектов) Github предоставляет удивительную возможность детально рассматривать программы, написанные как новичками, так и признанными гениями – программистами.
Искренне советую посмотреть, как пишут программный код профессионалы. Возможно, однажды отточенная профессиональная стилистика кода, вошедшая в проекты после знакомства с Гитхабом, поможет найти в бурлящем море вакансий работу твоей мечты
Можно ли стать программистом за год с нуля?
10 лучших GUI-клиентов Git для разработчиков
Перевод статьи «Top 10 Best GUI Git Client for Developers».
Git — это система контроля версий для отслеживания изменений в файлах. Обычно используется в командной работе, особенно в среде программистов.
Несмотря на то, что многие пользователи вполне комфортно себя чувствуют, пользуясь Git при помощи командной строки, для этого инструмента есть достаточное количество графических интерфейсов. Эти GUI-клиенты способны существенно ускорить вашу работу с системой контроля версий, особенно, если вы еще не слишком хорошо с ней знакомы.
(Примечание редакции. Любопытно, что на сайтах вопросов и ответов многие отмечают, что использование GUI сильно упрощает рутинную работу, когда вы уже хорошо знакомы с принципом работы и командами Git).
Если вы ищете идеальный графический интерфейс для управления своим репозиторием на Mac, Windows или Linux, вам повезло: сейчас мы вам расскажем о лучших GUI-клиентах Git.
1. GitHub Desktop
GitHub Desktop это совершенно бесплатное приложение с открытым исходным кодом, разработанное GitHub. С его помощью можно взаимодействовать с GitHub (что и не удивительно), а также с другими платформами (включая Bitbucket и GitLab).
Функционал приложения позволяет легко замечать пул-реквесты в ветках, а также просматривать различия в версиях изображений и блоков кода. При этом элементы для дальнейшего управления можно добавлять в приложение даже путем перетаскивания.
Приложение доступно для macOS и Windows.
2. Fork
Fork это весьма продвинутый GUI-клиент для macOS и Windows (с бесплатным пробным периодом). В фокусе этого инструмента скорость, дружественность к пользователю и эффективность. К особенностям Fork можно отнести красивый вид, кнопки быстрого доступа, встроенную систему разрешения конфликтов слияния, менеджер репозитория, уведомления GitHub.
С помощью этого инструмента вам будут доступны интуитивный rebase в красивом UI, GIT LFS, cherry-pick, подмодули и многое другое.
3. Tower
Tower это платный графический интерфейс Git для macOS и Windows. В настоящее время это один из ведущих профессиональных инструментов подобного типа. С его помощью вы сможете лучше познакомиться с системой контроля версий. Вам будут доступны в визуальном представлении все действия, которые можно совершать в Git. Сюда входит и разрешение конфликтов слияния, и совместная работа над проектами.
Есть бесплатный пробный период.
4. Sourcetree
Sourcetree это бесплатный GUI Git для macOS и Windows. Его применение упрощает работу с контролем версий и позволяет сфокусироваться на действительно важных задачах.
Красивый пользовательский интерфейс дает возможность прямого доступа к потокам Git. К вашим услугам локальный поиск по коммитам, интерактивный rebase, менеджер удаленных репозиториев, поддержка больших файлов. Все происходящее вы можете видеть наглядно, а это очень облегчает понимание процессов.
Sourcetree был разработан Atlassian для Bitbucket, но вполне может использоваться в сочетании с другими Git-платформами. Имеет встроенную поддержку Mercurial-репозиториев.
5. SmartGit
SmartGit это Git-клиент для Mac, Linux и Windows. Имеет богатый функционал. Поддерживает пул-реквесты для SVN, GitHub и Bitbucket. В арсенале SmartGit вы найдете CLI для Git, графическое отображение слияний и истории коммитов, SSH-клиент, Git-Flow, программу для разрешения конфликтов слияния.
SmartGit может использоваться бесплатно в некоммерческих проектах.
6. Sublime Merge
Sublime Merge это клиент Git для Mac, Windows и Linux. Это детище тех же разработчиков, которые создали редактор кода Sublime Text.
Sublime Merge отличается высокой производительностью, а также отличным функционалом для слияния, поиска, просмотра различий между версиями. Базовой версией можно пользоваться бесплатно.
7. GitKraken
GitKraken это кроссплатформенный GUI Git для использования с различными платформами контроля версий (включая GitHub, Bitbucket, GitLab). Его цель — повысить вашу продуктивность в использовании Git. Для этого вам предоставляется интуитивный UI, возможность отслеживать задачи, встроенный редактор кода, редактор конфликтов слияния и поддержка интеграции с другими платформами.
Коммерческое использование платное. Также придется купить Pro-версию, если хотите получить расширенный функционал.
Доступен для Mac, Windows и Linux.
8. GitUp
GitUp это бесплатный (open-source) клиент Git для пользователей Mac. В этом инструменте упор сделан на скорость, простоту, эффективность и легкость использования. Он позволяет вам напрямую взаимодействовать с базой данных хранилища, в результате чего работает куда быстрее аналогов.
В GitUp вы найдете графическую альтернативу для всех функций Git и интуитивно понятную реализацию команд ввода.
9. Aurees Git Client
Это бесплатное приложение для использования Git на Mac, Windows и Linux. Создано оно для ускорения работы, связанной с контролем версий.
Здесь вы найдете отличный функционал для просмотра и редактирования разницы в версиях (с подсветкой), предварительный просмотр слияния версий, хорошую систему разрешения конфликтов слияния.
10. GitBlade
GitBlade — это красивый клиент Git для платформ Mac, Windows и Linux. В нем вы найдете все функции, необходимые в ежедневной работе с Git-проектами (инструменты merge, визуальное отображение связанных веток и коммитов, режим просмотра различий между версиями, визуализация истории файла).
Всеми базовыми функциями можно пользоваться бесплатно (а более продвинутыми — 14 дней пробного периода).
Это была десятка лучших клиентов Git с графическим интерфейсом. Все они подходящи для использования в Mac, большинство — в Windows и лишь некоторые — в Linux. Мы (редакция Techrocks) решили исправить эту небольшую несправедливость и добавить парочку клиентов Git для Ubuntu, которые не вошли в общий список. Описания — из статьи «Best 10 Git GUI Clients for Ubuntu».
11. Git Cola
Git Cola это совершенно бесплатный клиент Git для Ubuntu и других дистрибутивов Linux, а также Windows и macOS. Один из самых лучших и быстрых инструментов такого типа. Он прост в работе, но отлично справляется со всеми основными задачами, возникающими при работе с версиями.
12. GitEye
GitEye — простой в использовании клиент Git с графическим интерфейсом, созданный CollabNet. Поставляется в комплекте с несколькими инструментами, помогающими повысить продуктивность разработки ПО. Например, Gerrit Code Review выводит уведомления об изменениях или обновлениях в коде.
GitEye имеет понятный и очень мощный интерфейс, в котором все так хорошо продуманно, что пользователю не придется долго искать нужные функции.
Этот клиент Git хорошо интегрируется с другими популярными инструментами, такими как Bugzilla, Jira, Hudson, Jenkins и пр.
Есть версии для Windows, Linux и Mac.
И напоследок — графический пользовательский интерфейс в виде сайта.
13. UnGit
Этим GUI вы можете пользоваться на любой платформе. После установки UnGit запускает локальный веб-сервер, прослушивающий отдельный порт. Благодаря этому вы получаете интерактивную веб-страницу для вашего репозитория, которую можете открыть в любимом браузере.
UnGit также доступен в виде плагинов для Atom и Sublime Text.
Несмотря на то, что все приложения, о которых мы рассказали, обладают схожим функционалом, каждое из них имеет свои отличительные особенности. Эти особенности позволяют им выделяться среди аналогов в какой-то отдельной области, так что каждый разработчик сможет подобрать подходящий инструмент для своих нужд.












