|
||||||||||||||||||||||||||||||||
Шпаргалка по командам Git
Время создания: 07.06.2019 17:37
Раздел: INFO - Development - git
Запись: wwwlir/Tetra/master/base/1559918228iwieql9ecl/text.html на raw.githubusercontent.com
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
Здесь набор основных команд для работы с git Что такое Git, как установить Git и основы работы с Git смотрите здесь: Git — основы работы с системой контроля версий | Инструменты android разработчика Создание локального репозитория Создание репозитория в папке где выполняется команда Создание репозитория в указанном каталоге Данная команда создает каталог с именем sharedproject.git c правами на запись в него. Подробнее тут . Клонирование удаленного репозитория в локальный Клонирование удаленного репозитория в локальный каталог с именем по умолчанию Клонирование удаленного репозитория в локальный каталог с указанным именем Клонирование локального репозитория на удаленный Если у вас уже есть локальный репозиторий Git и вы хотите его выложить в общий доступ, то сперва вам надо создать удаленный репозиторий (например на GitHub), а затем дать команды представленные ниже, изменив соотвественно часть с названием вашего репозитория. 1. Связываем локальный репозиторий с удаленным 2. Верифицируем что удаленный репозиторий связан с нашим 3. Публикуем ветку master на удаленном репозитории Более подробно можно почитать тут . Задаем имя пользователя и электронную почту Глобально для всех проектов текущего пользователья Для конкретного проекта (эти настройки переопределят глобальные) Просмотр настроек Git Всех (глобальных, системных и локальных). Некоторые параметры могут появится в списке несколько раз, так как читаются из трех файлов настроек. Подробнее тут . Локальных для определенного проекта Системных Получение справки (помощи) по команде Git $ git help <verb> Например выведем справку по команде config (откроется браузер со справкой) Настройка русских шрифтов (cp1251) в Git Настраиваем правильное отображение файлов с русскими названиями в командах Git Настраиваем кодировку Windows cp1251 для коммитов в Git Эти команды замечательно работают в msysgit 1.9.5. Как будет в других версия не знаю. Но надеюсь, что в более новых тоже будет работать. Более подробно про настройку русского языка в Git можно почитать тут . Так же они правильно работают при установке Git из пакетов Cygwin, подробнее можно почитать тут . Так же можно задать кодовую страницу для файлов проекта командой ну или просто строкой в разделе [i18n] А вообще лучше вести проекты в кодировке UTF-8, если это возможно конечно. Просмотр информации о состоянии файлов в Git Основной инструмент, используемый для определения, какие файлы в каком состоянии находятся — это команда: И ее более краткий вывод: Просмотр разницы (что конкретно было изменено в файлах) между рабочим каталогом и индексом (staged area) Просмотр разницы между последним коммитом и индексом Более подробно смотрим тут . Фиксация изменений (коммит) Если дать команду git commit без дополнительных параметров, то сперва будет вызван редактор для ввода комментария к коммиту и после сохранения комментария будет произведен коммит (фиксация изменений) Чтобы включить в комментарий к коммиту информацию о том какие именно были сделаны изменения в каких файлах надо дать команду По существу по данной команде в комментарий будет также помещена дельта diff изменений, таким образом вы сможете точно увидеть всё, что сделано. Чтобы редактор не вызывался, можно написать комментарий прямо в командной строке в ключе -m Автоматически добавить все измененные файлы в коммит Удаление файлов из Git Удаление файла из отслеживаемых Git, а так же его физическое удаление из рабочего каталога Удаление проиндексированного измененного файла Удаление файла из индекса, но сохранение его в рабочем каталоге Более подробно смотрим тут . Переименование файла $ git mv <old_file_name> <new_file_name> Просмотр истории коммитов Самый простой вариант это git log с разными ключами (смотрим help). Тут приведу просто примеры. А подробнеетут или в мануале. Вывод простой истории коммитов Вывод последних n записей, в примере вывод двух последних записей Вывод дельты (diff) разницы между последними двумя изменениями (на уровне строк) Вывод изменений между двумя последними коммитами на уровне слов Вывод краткой статистики по 2 последним коммитам И очень полезный ключ —pretty (позволяет изменить формат вывода лога) $ git log —pretty=format:»%h — %an, %ar : %s» Параметры ключа format
Можно так же посмотреть ASCII граф веток коммитов по ключу —graph Есть параметры, ограничивающие по времени, такие как —since и —until, весьма полезны. Например, следующая команда выдаёт список коммитов, сделанных за последние две недели: Другой полезный фильтр это опция –S, которая как параметр принимает строку и показывает только те коммиты где эта строка была изменена, добавлена или удалена. Пример будет искать строку MyStringForSearch Список коммитов с хэшем (короткое число) Отмена изменений Изменение комментария к последнему комииту, но только в том случае, если после последнего коммита не было ни каких изменений в рабочем каталоге Отмена индексации файла (исключение из индекса) Отмена изменений файла (до внесения файла в коммит) С этой командой надо быть особо осторожным, подробнее тут . Удаление раз и навсегда последнего коммита. Его больше ни кто ни когда не увидит. И вы в том числе :). Произойдет откат на предыдущий коммит. Все изменения которые были в последнем коммите будут утеряны. Хорошо подумайте прежде чем это делать. Работа с удаленными репозиториями Просмотр удаленных репозиториев Более подробный вывод о них Добавление удаленного репозитория (вместо origin можно задать любое слово) Получение изменений с удаленного репозитория под именем tr в локальную ветку tr Отправка данных на удаленный репозиторий. Формат git push [удал. сервер] [локальная ветка] Инспекция удаленного репозитория git remote show [удал. сервер] Переименование удаленных репозиториев (по существу переименование локальной ссылки на удаленный репозиторий) Удаление удаленного репозитория :) (попросту отключение от него — в примере от origin) Подробней о работе с удаленными репозиториями тут . Если у вас свой собственный репозиторий Git на сервере с само подписанным сертификатом, то перед любыми командами работы у удаленным репозиторием (clone, fetch, push, pull и т.п.), Git будет ругаться на само подписанный сертификат. Решить проблему можно изменив чуток конфиг Или же перед каждой операцией работы с удаленным репозиторием вставлять доп команду А вообще настройка своего сервера Git это отдельная тема. Частично рассмотрена тут . Работа с ветками Посмотреть локальные ветки Посмотреть последний коммит на каждой из локальных веток Чтобы посмотреть все существующие локальные и удаленные ветки можно дать команду Посмотреть последние коммиты на всех ветках (локальных и удаленных) Посмотреть отслеживаемые ветки Сделать ветку локальную ветку serverfix отслеживаемой Создать ветку Создать ветку на определенном коммите Переименовать ветку Переименовать текущую ветку Переключится на ветку Удалить ветку Работа с метками Посмотреть все (перечисляет в алфавитном порядке, а не по времени их создания) Посмотреть попадающие под маску Создать метку на текущем коммите (ключ -а) с меточным сообщением (ключ -m) Если ключ -m не указывать то откроется окно редактора чтобы ввести сообщение Создание легковесной метки на текущем коммите Посмотреть метки вместе с комментариями к коммитам, а так же с именами поставивших метки Так же можно выставлять метки и на уже пройденные коммиты. Подробнее о метках тут . Задание псевдонимов для команд Git Псевдонимы можно создать как в конфигурационных файлах Git, так и в конфиге Bash, но важно понимать в чем разница. Задание псевдонимов в конфигах Git $ git config —global alias.co checkout Теперь достаточно давать команды То есть через задание алиасов в конфиге Git мы не избавляемся от необходимости писать команду git, но все же это короче. Кроме того в эти команды так же можно подставлять параметры Это делает эквивалентными следующие две команды: Более подробно по алисы в конфигах Git читаем тут . Об алиасах заданных через Bash читаем тут . Сравнение файла в разных коммитах $ git diff ffd6b37 c258082 —cc test.txt С помощью внешних утилит ExamDiffPro и P4Merge Смотрим изменения файла test.txt между двумя коммитами Слияние (merge) Отмена слияния Разное Просмотр истории перемещения указателя HEAD |
||||||||||||||||||||||||||||||||
Так же в этом разделе:
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
|