Руководство по пониманию Гитк?
Я представляю git команде разработчиков и нахожу gitk замечательным инструментом. Это также довольно сложно понять, так как понимание gitk требует понимания как истории git, так и самого инструмента просмотра.
Есть ли у кого-нибудь хорошие ссылки на что-то вроде "руководства для начинающих по git history с gitk"?
4 ответа
Я никогда не видел ничего специально для Гитка. Вот удар с точки зрения "как это работает". Знание команд, лежащих в основе всего (или, по крайней мере, в целом эквивалентных), помогает научиться легче использовать инструменты командной строки, а также показывает, где искать в документации, чтобы лучше понимать gitk!
Меню Файл
Это несколько изменилось за последние несколько основных версий - я описываю текущее состояние.
Обновление и перезагрузка: это, пожалуй, самая запутанная вещь. Перезагрузка обновляет все, как будто вы запустили программу заново с той же конфигурацией. Это означает, что если ветка была удалена / перебазирована, если некоторые коммиты теперь висят, вы их больше не видите. Обновление, с другой стороны, обновляет всю информацию, но все равно показывает все коммиты, которые были показаны ранее. Это отличная вещь для использования, если вы перебираете и хотите убедиться, что вы не ошиблись - вы можете увидеть как оригинальную, так и перебазированную версии.
ссылки: довольно очевидно. Ссылки включают в себя теги и ветви (которые могут быть удаленными). Вы можете перечитать их и перечислить, чтобы выбрать конкретный, чтобы показать его в истории.
Просмотры
Как говорится на странице руководства, gitk использует опции git-rev-list, чтобы помочь указать, какую историю следует отображать. Они также могут быть установлены в интерактивном режиме в меню "Вид". Страница man - это отличное место, где можно найти больше информации о способах управления представлениями (в основном это раздел ограничения коммитов). Если вы смотрели на git-log
раньше вы многое видели.
Помогите
Здесь есть список сочетаний клавиш! Милая.
Контекстное меню
Здесь представлены несколько общих команд git фарфор, как правило, в обычном режиме / режиме работы по умолчанию. Перечисление их, по крайней мере, поможет вам найти правильную документацию, чтобы понять, что они делают, если вы еще этого не сделали!
- git-diff (Diff this <-> выбранный
- git-format-patch (сделать патч)
- git-tag (создать тег)
- git-diff-tree (запись коммита в файл, редко используется)
- ГИТ-филиал
- ГИТ-вишневого выбор
- git-reset (сбросить ветвь до здесь). Это предложит вам мягкое, смешанное или сложное, с кратким напоминанием о том, что каждый из них делает. Более подробное описание на странице руководства, но, конечно, вы должны понимать концепцию индекса, чтобы действительно получить его.
На этом этапе "пометить коммит" и связанные с ним команды должны быть понятны.
В контекстном меню для ветки у нас есть git-checkout и -d
(удалить) режим git-branch.
Средняя секция
ID SHA1: хэш текущего коммита. Очень полезно для копирования / вставки в терминал для выполнения действия с данным коммитом, который вы использовали для поиска gitk. Вы также можете вставить сюда хеши.
Кнопки вперед / назад, номер строки... очевидно!
Найти! Опции здесь, опять же, довольно понятны, но для всеобщего образования они аналогичны параметрам git-log: "содержащий" - это
--grep
"трогательные пути" - это аргументы, а добавление / удаление строки-S
(Кирки).
Панель сообщений / различий
Здесь у нас есть сообщение commit вместе с выводом git-diff - это что-то вроде использования git-log -p
с небольшим дополнительным:
"Филиалы" эквивалентны
git branch -a --contains=<commit>
"Предшествующий"/"Следующий" эквивалентен
git describe [--contains] <commit>
( git-description)
Вот введение в визуализацию истории веток в gitk со скриншотами.
http://lostechies.com/joshuaflanagan/2010/09/03/use-gitk-to-understand-git/
- Верхняя левая панель показывает серию коммитов в этот репозиторий, с самыми последними сверху.
- Там было три коммита, все от Тони Старка.
- Сообщение коммита для самого последнего коммита было "третий коммит"
- Существует одна локальная ветвь с именем "master", она указывает на самый последний коммит
- Существует одна удаленная ссылочная ветвь: ветвь "master" из удаленного репозитория с именем "origin", она также указывает на самый последний коммит
- Желтая точка рядом с верхним коммитом указывает, что это моментальный снимок в моей рабочей папке (называемый HEAD)
- Я выделил второй коммит, чтобы увидеть его детали в нижней панели
- SHA коммита (уникальный идентификатор, аналогичный номеру ревизии subversion) второго коммита
3d024dd9e4a83d8c6a9a143a68b75d4b872115a6- Внизу справа показан список файлов, на которые повлиял второй коммит
- Внизу слева показаны детали фиксации, включая полную разницу
- Щелчок по файлу в нижней правой панели прокручивает diff в нижней левой панели до соответствующего раздела 12.
То, что новички действительно могли бы использовать в терминах "сочетания gitk и истории", - это конкретное объяснение того, как распознать то, что произошло, глядя на представление дерева gitk.
Насколько я понял, правильный взгляд на дерево (конечно):
1. each node is a commit
2. ultimate parent is at the bottom
3. direct child to a commit is the one that happened first in the same branch (no matter who did it)
4. the node with 2 or more children indicates ... ?
5. merge commit node has 2 parents.
6. rebase is recognized ... ?
Скриншоты также приветствуются.
Дерево фактически представляет текущее состояние хранилища. Было бы здорово, если бы мы могли сказать, что произошло, посмотрев на дерево.
Спасибо
против
Единственное, что я нахожу полезным в интерфейсе gitk - это хороший (красочный) обзор веток.
Если вам нужен графический интерфейс для git, проверьте TortoiseGit на windows или GitX на Mac или QGit на linux.