Я больше не прошу у вас денежку.

Просто почеши меня! =)
Главная :: Программирование (Php, С#, WPF)

Система контроля версий Git - памятка по командам.

Картинка

Периодически приходится работать с системой контроля версий Git и иногда забываю некоторые нужные команды, вот чтобы все команды которые мне необходимы были всегда под рукой решил их разместить на своем сайте.

Сразу оговорюсь что я пока не так опытен в работе с системой контроля версий Git, как бы этого хотелось, но это дело для начинающего программиста наживное, поэтому могу ошибиться в полноте описания некоторых команд и в памятке представлены только те команды, которыми я сам пользовался.

Основные команды:

Настройка пользователя.
$ git config --list
Просмотр настроек пользователя в каталоге с конкретным проектом.
$ git config --global --list
Просмотр глобальных настроек пользователя.
$ git config --global user.name "Name"
Глобально установить имя пользователя.
$ git config --global user.email Name@e-mail.ru
Глобально установить e-mail пользователя.
$ git config --global core.autocrlf false
Установка концов строк для Windows.
Работа с репозиторием - создание, изменение.
$ cd /c/server/domens/domen/
Переходим в папку в которой лежит репозиторий .git либо нужно его там создать.
$ git init
Создает репозиторий .git в той папке, в которую мы перешли командой cd
$ git status
Просмотр списка измененных файлов по сравнению с последним коммитом.
$ git add <Файл>
Добавляет файл который будет добавлен в коммит
$ git add -u
Добавляет измененные файлы и удаляет удаленные файлы из индекса для следующего коммита (не надо для каждого файла указывать $ git rm).
$ git add .
Добавляет все новые и измененные файлы для добавления в следующий коммит.
$ git commit -m 'Comment'
Сохраняем изменения (коммит изменений) с пояснением. Предварительно надо добавить изменения командой $ git add
$ git commit -a -m 'Comment'
Сохранение изменений без предварительного использования команды $ git add .
$ git rm <Файл>
Удаляем файл.
$ git rm --cached <Файл>
Удаляем файл из индекса (Сам файл остается).
$ git reset --hard
Откатываем все изменения в файлах на момент последнего коммита.
Работа с репозиторием - ветвление.
$ git branch
Показывает список созданных веток с подсветкой выбранной в данный момент ветки разработки.
$ git branch -v
Показывает список веток с подсветкой выбранной, и данными о последнем коммите в данной ветке.
$ git branch --merged
Показывает список веток для которых выполнено слияние с текущей командой $ git merge.
$ git branch --no-merged
Показывает список веток для которых не выполнено слияние с текущей командой $ git merge.
$ git branch "Название_Ветки"
Создает новую ветку идентичную текущей с указанным именем без перехода на нее.
$ git checkout -b "Название_Ветки"
Создает новую ветку идентичную текущей с указанным именем с переходом на нее.
$ git branch -d "Название_Ветки"
Удаление ветки если для нее выполнено слияние с главной веткой.
$ git branch -D "Название_Ветки"
Принудительное удаление ветки если для нее не выполнено слияние с главной веткой.
$ git checkout "Название_Ветки"
Переход на другую ветку с изменением структуры файлов проекта на соответствующую данной ветке.
$ git merge "Название_Ветки"
Предпринимает попытку внести изменения в главную ветку из другой ветки разработки. При возникновении конфликта выдает соответствующее сообщение и предоставляет возможность ручного разрешения конфликта.
Работа с удаленным репозиторием.
$ git remote
Отображает список всех удаленных репозиториев для данного.
$ git remote -v
Отображает список всех удаленных репозиториев для данного с отображением адресов.
$ git remote show <Имя>
Показывает информацию о удаленном репозитории, если доступ по ssh то потребуется ввести пароль для доступа.
$ git remote add <Имя> <Сетевой_Адрес>
Добавляет адрес удаленного репозитория под указанным именем.

Пример адресов:
ssh://user@host:port/home/site/site_hub.git - для ssh подключения.
/c/WebServer/domen/ - для локального подключения (win).
$ git remote rename <Имя> <Новое_Имя>
Переименовывает удаленный репозиторий в вашем списке.
$ git remote rm <Имя>
Удалить адрес удаленного репозитория из вашего списка.
$ git clone <Адрес_удаленного_репозитория>
Клонирует удаленный репозиторий в текущий каталог. Создает в текущем каталоге папку с проектом в которой будет лежать репозиторий и проект. Не требует предварительной инициализации локального репозитория.

Пример использования:
$ git clone /c/GitTest/ - создаст в текущей папке папку GitTest и зальет туда файлы и репозиторий.
$ git clone <Адрес_удаленного_репозитория> <Локальный_адрес>
Клонирует удаленный репозиторий в указанный каталог. Каталог должен быть пустым. Не требует предварительной инициализации локального репозитория.

Пример использования:
$ git clone /c/GitTest/ /c/GitTest2/ - зальет в папку GitTest2 удаленный репозиторий и файлы проекта.
$ git fetch <Имя>
Получение данных из основной ветки удаленного репозитория без слияния.
$ git pull <Имя> <Ветка>
Получение данных из указанной ветки удаленного репозитория и пытается выполнить слияние (merge) с текущей веткой разработки.
$ git push <Имя> <Ветка>
Заливает изменения из текущей ветки в удаленный репозиторий в указанную ветку.
7
Поделиться:
12636 05.10.2013 г.
Яндекс.Метрика