01.03.2017 Нюансы гита для нуба
Материал из SRNS
Dneprov D (обсуждение | вклад) (→4.1. Быстро обновить сабмодуль из мастер-проекта) |
Dneprov D (обсуждение | вклад) |
||
(не показаны 6 промежуточных версий 1 участника) | |||
Строка 1: | Строка 1: | ||
− | + | <summary hidden=true> | |
− | <summary | + | |
− | + | ||
[[File:git icon.png|center|200px]] | [[File:git icon.png|center|200px]] | ||
− | |||
Заметки GIT. Те вещи, которые постоянно приходится гуглить. | Заметки GIT. Те вещи, которые постоянно приходится гуглить. | ||
− | |||
</summary> | </summary> | ||
− | |||
[[File:git icon.png|right|200px]] | [[File:git icon.png|right|200px]] | ||
− | |||
− | |||
− | |||
== GIT == | == GIT == | ||
Строка 53: | Строка 45: | ||
=== 4. Submodules === | === 4. Submodules === | ||
− | = 4.1. Быстро обновить сабмодуль из мастер-проекта = | + | [https://git-scm.com/docs/pretty-formats Pretty formats] |
+ | ==== 4.1. Быстро обновить сабмодуль из мастер-проекта ==== | ||
$ git submodule update --remote --merge <submodule_path/name> | $ git submodule update --remote --merge <submodule_path/name> | ||
− | == 4.2. Статус и последний коммит всех сабмодулей == | + | ==== 4.2. Статус и последний коммит всех сабмодулей ==== |
$ git submodule foreach "git status & git show -s --format='[%Cgreen%cn : %Creset\"%s\"]%n'" | $ git submodule foreach "git status & git show -s --format='[%Cgreen%cn : %Creset\"%s\"]%n'" | ||
+ | |||
=== 5. Показать алиасы === | === 5. Показать алиасы === | ||
Строка 65: | Строка 59: | ||
$ git config --list | grep alias | $ git config --list | grep alias | ||
+ | |||
=== 6. File history === | === 6. File history === |
Текущая версия на 18:48, 26 августа 2020
Содержание |
[править] GIT
[править] 1. Local Fast Forward 1 commit
Пусть есть локальная ветка (сабмодуля), которая привязана к некоторому (не последнему) коммиту удаленной ветки:
(A)--->(B)--->(C) | master
Мы хотим переместить указатель локальной ветки master на 1 коммит вперед (на C с хешем 0123456). Операция
$ git checkout 0123456
не передвинет мастер, а просто переместит нас на коммит.
Используем merge:
$ git merge 0123456
(A)--->(B)--->(C) | master
[править] 2. Настройка русского языка
Для правильного отображения имен файлов и папок на русском в git bash (win) введем:
$ git config --global core.quotepath false
[править] 3. TAGS
Показать все таги с указанием даты и хэша коммита (можно добавить %s - комментарий к коммиту)
$ git log --tags --date-order --simplify-by-decoration --pretty="format:% ci | %h | %d"
[править] 4. Submodules
[править] 4.1. Быстро обновить сабмодуль из мастер-проекта
$ git submodule update --remote --merge <submodule_path/name>
[править] 4.2. Статус и последний коммит всех сабмодулей
$ git submodule foreach "git status & git show -s --format='[%Cgreen%cn : %Creset\"%s\"]%n'"
[править] 5. Показать алиасы
$ git config --get-regexp alias
$ git config --list | grep alias
[править] 6. File history
История файла без учета переименований
$ gitk [filename]
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.