|
||||||||||||||||||||||||||||||||
|
Шпаргалка по командам 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 |
||||||||||||||||||||||||||||||||
|
Так же в этом разделе:
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
|