Анализ сайта
Твиты
Афоризмы
Цитаты
Новости
Анализировать

Заметки по Git

"Fork You" - неофициальный слоган GitHub (перевод -  Ответвись)

Git - система контроля версий (Version Control System - VCS), созданная Линусом Торвальдсом в 2005 году для управления разработкой ядра операционной системы Linux. Git сейчас наиболее востребованная VCS, ранее таковыми были SVN и Mercurial. Систем контроля версий великое множество, на этой вики странице можно посмотреть их сравнения между собой.

Документация по Git - официальный мануал на русском, интерактивный курс по Git - LearnGit.

 

1 - Как использовать Git

Можно создать собственный Git сервер для хранения кода под версионным контролем, но гораздо проще и быстрей воспользоваться готовыми решениями - хостингами проектов с системами контроля версий, такими как Bitbucket или GitHub. Bitbucket позволяет создавать неограниченное количество приватных репозиториев, но ваша команда не должна превышать 5 человек (также есть другие ограничения). GitHub позволяет создавать общедоступные репозитории, а приватные репозитории можно создать только на платном аккаунте, который будут стоить вам несколько долларов (на конец 2017 - 7$). Есть ещё проект GitLab, менее популярный вероятно за счёт молодости (запущен в 2011, тогда как GitHub и BitBucket в 2008), бесплатные приватные репозитории, контрибьют календарь и другие плюшки.

 

Прежде чем начать комитить свои проекты, необходимо настроить окружение. По сути единственное, что нужно сделать - установить Git в вашу систему. Официальная документация под разные ОС - Установка Git. В дальнейшем в зависимости от операционной системы или от окружения в котором вы находитесь, достаточно будет вызвать Git командой "$ git". Я же предпочитаю использовать терминал в IDE, например IDE от JetBrains или NetBeans, которые предлагают широкие возможности по работе с Git и по большей части имеют графический интерфейс. Использую терминал IDE, команды Git пишутся без знака доллара вначале - "git".

 

2 - Команды для настройки Git

Перед началом использования Git необходимо добавить несколько основных настроек с помощью команд "git config". Также эти команды помогут вам сменить или подкорректировать конфигурацию, особенно если вы используете несколько хостингов для контроля версий под разными аккаунтами. У меня была реальная путаница - используя глобальные настройки сделанные под BitBucket, я обновил репозиторий на Github и увидел логин из Bitbucket. Почему-то я сильно невнимательный. предположил, что логин должен был смениться после авторизации и клонирования проекта из GitHub.

Просмотреть текущую конфигурацию

git config --list

 

Задать глобально имя пользователя и email

git config --global user.name "John Galt"

git config --global user.email johngalt@atlogex.com

 

Добавить удаленный репозиторий с котором будут синхронизироваться версии кода:

git remote add https://github.com/Atlogex/wpstack

 

Исключение файлов и папок из git

Для того чтобы сразу исключить некоторые репозитории из системы контроля версии можно создать в корне проекта файл ".gitignore"

 

3 - Список основных комманд Git

Инициализация проекта

После выполнения команды будет создана папка .git в директории вашего проекта.

git init

 

Добавления файлов проекта под контроль Git

Точка в конце означает добавить все файлы в дирректории и поддиректориях.

git add .

 

Информация о текущем состоянии

Для отображение информации в коротком виде, добавьте директиву " -s".

git status

 

Добавление текущего среза

Директива "-m" задаёт комментарий для коммита.

git commit -m "Coment for my firstcommit"

Опция "--amend" добавит изменения в последний коммит (если не было push)

git commit --amend

 

Посмотреть текущее ветки проекта

git branch

 

Создание дополнительной ветки для проекта

Директива "-b" необходимо чтобы сразу перейти на новую ветку. В примере создаётся ветка с именем "myrefact" и происходит переключение на неё.

git checkout -b myrefact

 

Слияние веток

В команде указывается имя ветки которую нужно слить с текущей (той на которой вы сейчас)

git merge myrefact

 

Откат изменений на один из предыдущих коммитов

Revert - добавляет новый коммит, в котором будут убраны изменения из выбранного выми предыдущего коммита (сначала нужно узнать его хэш, например выполнив "git log").

git revert хеш_коммита

 

Откат изменений в файле

При необходимости вернуть файл в состояние, которое у него было в одном из прошлых коммитов, необходимо узнать хэш этого коммита и выполнить команду:

git checkout хешкомита имяфайл

 

Сброс изменений до одного из предыдущих коммитов

При необходимости сбросить текущее наработки, либо вовсе откатится на несколько коммитов назад, можно воспользоваться "git reset". Reset с опцией "--hard" удалит или перезапишет файлы из всех коммитов старше переданного! Подробнее о Git Reset.

git reset --hard хеш_коммита

 

Отправка изменений на сервер

Параметр "--all" отправит изменения на всех созданных ветках

git push --all

 

Получение изменений из удаленного репозитория

Pull - позволяет получить данные с удаленного репозитория и слить (сделать merge) с вашим кодом. Для запуска слияние в ручную, нужно использовать "fetch".

git pull 

 

Клонирование репозитория

Склонировать репозиторий, если клонировать в не пустой каталог, будет ошибка. Разрешение проблемы Git - Клонирование в не пустой кталог. Клонирование автоматически присваивает ветку "master" удаленного репозитория  к короткому имени "origin".

git clone git://github.com/Atlogex/wpstack

 

Просмотр истории коммитов

Для форматирование лога можно воспользоваться директивой "--pretty". Значения "short", "full", "fuller" будут выводят разное кол-во информации. А такой вариант "--pretty=oneline" выведет коммиты в одну строку. 

git log 

 

 

Tags:
1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars (No Ratings Yet)
Загрузка...

Добавить комментарий