01.03.2017 Нюансы гита для нуба
Материал из SRNS
Dneprov D (обсуждение | вклад) |
Dneprov D (обсуждение | вклад) |
||
(не показана 21 промежуточная версия 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 == | ||
+ | |||
+ | [https://github.com/k88hudson/git-flight-rules/blob/master/README_ru.md GIT ГУЙД] | ||
=== 1. Local Fast Forward 1 commit === | === 1. Local Fast Forward 1 commit === | ||
Строка 24: | Строка 18: | ||
Мы хотим переместить указатель локальной ветки master на 1 коммит вперед (на C с хешем 0123456). | Мы хотим переместить указатель локальной ветки master на 1 коммит вперед (на C с хешем 0123456). | ||
Операция | Операция | ||
− | git checkout 0123456 | + | $ git checkout 0123456 |
не передвинет мастер, а просто переместит нас на коммит. | не передвинет мастер, а просто переместит нас на коммит. | ||
Используем '''''merge''''': | Используем '''''merge''''': | ||
− | git merge 0123456 | + | $ git merge 0123456 |
(A)--->(B)--->(C) | (A)--->(B)--->(C) | ||
Строка 34: | Строка 28: | ||
master | master | ||
+ | |||
+ | |||
+ | === 2. Настройка русского языка === | ||
+ | |||
+ | Для правильного отображения имен файлов и папок на русском в git bash (win) введем: | ||
+ | $ git config --global core.quotepath false | ||
+ | |||
+ | [http://pr0git.blogspot.ru/2015/02/git_4.html Прочие настройки] | ||
+ | |||
+ | |||
+ | === 3. TAGS === | ||
+ | |||
+ | Показать все таги с указанием даты и хэша коммита (можно добавить %s - комментарий к коммиту) | ||
+ | $ git log --tags --date-order --simplify-by-decoration --pretty="format:% ci | %h | %d" | ||
+ | |||
+ | |||
+ | === 4. Submodules === | ||
+ | [https://git-scm.com/docs/pretty-formats Pretty formats] | ||
+ | ==== 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] | ||
[[Category:Git]] | [[Category:Git]] | ||
{{wl-publish: 2017-03-1 17:00:00 +00:00 | Dneprov D }} | {{wl-publish: 2017-03-1 17:00:00 +00:00 | Dneprov D }} |
Текущая версия на 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]
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.