Работа с Git. Забери статью себе на стену, чтобы не потерять! Git - распределенная система управления версиями (англ. VCS или CVS, Control Version System). Один из самых необходимых и полезных инструментов при разработке чего-угодно (от простых статей и медиа-файлов до больших и сложных проектов). При командной разработке - Git вообще незаменим и стал практически стандартом ведения работы. Поэтому, уважающему себя разработчику нужно знать Git и уметь с ним работать. Основные команды для работы с Git: - Создание нового репозитория Для того чтобы создать новый репозиторий git необходимо открыть папку где вы хотите его разместить и выполнить команду git init - Получение репозитория Создать локальную рабочую копию репозитория можно командой git clone /путь/к/репозиторию Когда используется удаленный сервер, команда будет git clone юзер@хост:/путь/к/репозиторию - Рабочий процесс Ваш локальный git репозиторий состоит из трех "сущностей". Рабочий каталог (Working Directory) содержит файлы. Индекс (Index) или область подготовленных файлов (Staging Area), содержит информацию о том, что должно войти в следующий коммит и HEAD указывает на последний коммит что вы сделали. - Подготовка и коммит Чтобы подготовить изменения (добавить их в Индекс) используйте git add <имя_файла> git add * Это первый шаг в основном рабочем процессе. Сделать коммит подготовленных изменений можно командой git commit -m "Описание коммита" Теперь изменения закреплены в локальном репозитории и на них указывает HEAD, но еще не в удаленном репозитории. - Отправка изменений Чтобы отправить эти изменения в ваш удаленный репозиторий, выполните git push origin master Можно изменить master на любую другую ветвь чтобы отправить изменения на неё. Если вы еще не клонировали существующий репозиторий и хотите подключить ваш к удаленному, вам нужно добавить его, выполнив git remote add origin <адрес_сервера> Теперь вы можете отправлять изменения на удаленный репозиторий - Ветвление Ветки используются для разработки функционала изолированного от остального. Ветка master используется по умолчанию когда вы создаете репозиторий. Используйте другие ветки для разработки и слияние в master когда разработка завершена. Создать новую ветку с названием "feature_x" и переключиться на неё можно командой git checkout -b feature_x Переключиться обратно на master git checkout master Удалить ветку git branch -d feature_x Ветка не будет доступна тем, кто пользуется с вами удаленным репозиторием пока вы не отправите её туда git push origin <имя_ветки> - Обновление и слияние Обновить ваш локальный репозиторий, можно командой git pull которая заберет изменения из удаленного репозитория и проведет слияние с активной веткой. Для того чтобы слить другую ветку с активной (например master), используйте команду git merge <имя_ветки> В обоих случаях git пытается автоматически слить изменения. К сожалению, это не всегда возможно и результатом станет конфликт. Вы ответственны за разрешение возникших конфликтов, путем ручного редактирования файлов указанных git. После изменений вам надо пометить их как слитые git add <имя_файла> перед слиянием вы можете предварительно посмотреть на изменения git diff <имя_ветки> <имя_другой_ветки> - Замена локальных изменений В случае если вы сделали что-то не то, вы можете заменить локальные изменения, используя команду git checkout — <имя_файла> Произойдет замена изменений в вашем рабочем каталоге, на то что сейчас находится в HEAD. Изменения уже внесенные в индекс, так же как новые файлы будут сохранены. Если же вы хотите удалить все ваши локальные изменения и коммиты, получите (fetch) последние изменения с сервера и укажите локальной ветке master на них вот так git fetch origin git reset —hard origin/master - Твики и удобные команды Встроенный в git графический интерфейс gitk Использовать цветной вывод в терминале git config color.ui True Выводить в логе коммит на одной строке git config format.pretty oneline Интерактивный способ добавления в индекс git add -i

Теги других блогов: разработка управление версиями Git