QGit

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:35, 11 марта 2017.
QGit
Создатели: mcostalba
Выпущена: 21/8/2005
Постоянный выпуск: 1.5.7
Написана на: C++
Операционная система: Linux
Тип ПО: Git client
Веб-сайт digilander.libero.it/mcostalba/

QGit - графический git-клиент, предлагает функциональность gitk, используя интерфейс построенный на базе QT. С помощью qgit можно просматривать историю изменений, просматривать содержимое патчей и измененные файлы, графически следовать за различными ветвями разработки.

Основные функции

  • Просмотр изменений, различий, истории файлов, аннотации файлов, дерева архивов.
  • Commit визуально изменяет точечно выбранные модифицированных файлов.
  • Применение или форматирование серий патчей из выбранных коммитов, перескивание коммитов между двумя экземплярами qgit.
  • Связывание последовательностей команд, сценариев и всего остального исполняемого файла для настраиваемого действия. Действия можно запускать из меню, и соответствующий вывод захватывается терминальным окном.
  • Qgit реализует графический интерфейс для наиболее распространенных команд StGit, таких как push/pop и apply/format. Также можно создавать новые патчи или обновлять текущие верхние, используя ту же семантику git commit, то есть точечно выбирать одиночные измененные файлы.

Установка

Необходимо использовать библиотеки разработчиков Qt версии 3.xx (3.3.4 или более новая версия). Qgit не совместим с Qt4. Чтобы скомпилировать qgit, распакуйте tar-файл, запустите ./configure, сделайте install или make install-strip, чтобы удалить информацию об отладке и установить меньший bin. Возможно, вам понадобится получить права суперпользователя. Вы можете запустить configure с полным путем из другого пустого каталога, если вы хотите, чтобы qgit был скомпилирован в отдельном каталоге. Если в PATH есть еще один исполняемый файл qgit, make install перезапишет его. В противном случае, qgit будет установлен в /usr/local/bin. Вы также можете использовать опцию -prefix для конфигурации, чтобы указать, где установить qgit. Вам нужно больше инструментов, если вы хотите изменить исходники qgit. Вам нужно asciidoc 7.0.2 или лучше, если вы хотите повторно создать файл справки. Чтобы сгенерировать make-файлы и скрипт configure, вам нужны Autoconf и Automake, желательно последние версии. Только в том случае, если вы клонируете общедоступный репозиторий qgit, вам может потребоваться запустить autoreconf -i в первый раз, чтобы создать файл ./configure. Не нужно запускать его на освобожденном архиве. Вам может потребоваться запустить autoreconf -i, также когда вытягиваете ревизии, которые изменяют некоторый системный файл сборки, как configure.ac .

Настройка производительности

Команда git rev-list используется для загрузки репозитория при запуске или при обновлении. Это очень ответственная задача с высокой производительностью. Метод по умолчанию основан на временном файле в качестве средства обмена данными. Это самый быстрый в Linux с файловой системой tmpfs, смонтированной в /tmp, как это обычно бывает в большинстве дистрибутивов. В случае проблем с переносимостью возможен откат на стандартном интерфейсе на базе QProcess. Для этого раскомментируйте USE_QPROCESS, определите в src/dataloader.h перед компиляцией .

Аргументы командной строки

Запустите qgit из рабочего каталога git, аргументы командной строки фильтруются командой git rev-list . Некоторые примеры:

 Qgit v2.6.12-rc5..v2.6.12-rc6 
  Qgit v2.6.12-rc6 
  Qgit - все 
  Qgit --after = "Aug 10" --before = "15 августа" 

Если qgit запускается без аргументов или если вы меняете архив с открытым меню, отображается диалог выбора диапазона. Вы можете выбрать верхний и нижний теги rev из списка или вставить определенную ревизию. Значения передаются в rev-list git для сужения загрузки данных до выбранных ревизий.

Основной вид

Вы можете перемещаться по журналам, именам файлов, истории файлов, дереву архивов. Все представления будут соответственно обновлены. Копирование/вставка поддерживается во всех полях. Копировать (CTRL+C) поддерживается во всех представлениях. Все ссылки, найденные рекурсивно в каталоге .git/refs/, подсвечиваются в соответствии с их типом: текущая ветка (HEAD), ветвь, тег и т.д. Имена ссылок и любые связанные с ними сообщения можно просмотреть в строке состояния, когда выбрана ревизия с тегами. Когда вы щелкаете правой кнопкой мыши по главному виду, контекстное меню всплывающего меню показывает доступные команды и список быстрого перехода.

Таблица команд

команда описание
r Перейти на страницу с перечнем ревизий
p Перейти на страницу патча
f Перейти на страницу файла
<Alt + wheel> Перейти на следующую / предыдущую страницу
t Переключить вид дерева
s Переключить вид вторичных окон
h Переключить вид заголовка ревизии
<Home> Перейти к первой ревизии
<End> Перейти к последней ревизии
<Up>, i Переместить вверх одну ревизию
<Down>,n,k Перейти вниз на одну ревизию
<Shift-Up> Перейти к предыдущей выделенной строке
<Shift-Down> Перейти к следующей выделенной строке
<Left> Вернуться в список истории
<Right> Идти вперед в списке истории
<CTRL-plus> Увеличить размер шрифта
<CTRL-minus> Уменьшить размер шрифта
<Delete>,b Прокрутка содержимого на одну страницу
<Backspace> Прокрутка содержимого на одну страницу
<Space> Прокрутить содержимое вниз на одну страницу
u Прокрутка содержимого до 18 строк вверх
d Прокрутка содержимого до 18 строк вниз

Дерево каталогов

Из меню или кнопки на панели инструментов можно отобразить боковую панель с древовидным представлением файлов и каталогов репозитория.Двойной щелчок по файлу открывает окно аннотаций файлов. Кнопка «Фильтровать по дереву» позволяет сжимать список ревизий, чтобы отображать только выбранные файлы/каталоги в древовидном представлении.Дерево поддерживает множественный выбор. Когда вы щелкаете правой кнопкой мыши на файле в древовидном представлении, появляется всплывающее контекстное меню с доступными командами.

Изменения рабочего каталога

Если флажок "Проверять рабочий флажок" установлен, например, из всплывающего контекста контекста основного вида, псевдоредактирование отображается и подсвечивается в верхней части списка. Имя подсветки и ревизии отражает текущее состояние рабочего каталога: ничто не фиксирует или не изменяет рабочий каталог соответственно.
Чтобы проверить наличие измененных файлов, установите соответствующие настройки в меню «Редактирование-> Настройки-> Рабочий каталог» . QGit проверяет возможные новые файлы, добавленные в рабочий каталог, используя правила игнорирования согласно спецификациям git ls-files, см. Меню Edit-> Settings-> Working dir .

Информация о строке

При выборе полосы с помощью правой кнопки мыши появится всплывающее окно со списком дочерних и родительских объектов. Выберите один, и вы прыгаете на него.

Фильтр

Используйте поле со списком, чтобы выбрать, где вы хотите фильтровать. В настоящее время поддерживаются: заголовок журнала, сообщение журнала, автор пересмотра, версия SHA1, имя файла и содержимое патча. Напишите строку фильтра, нажмите кнопку фильтра, и представление обновится, показывая только фиксации, содержащие строку фильтра, без учета регистра. Переключить кнопку фильтра, чтобы отпустить фильтр.

Серия патчей для форматирования

После выбора мышью выбранных ревизий (используйте стандартный CTRL + левый клик) для одиночного выбора или SHIFT + левый щелчок для выбора диапазона), нажмите кнопку форматирования патча или используйте меню файла, и диалоговое окно позволит вам выбрать патч-директорию назначения. Затем будет вызываться git format-patch-script и создаваться патчи. Дополнительные параметры можно указать с помощью меню «Правка-> Настройки».

Применение патчей

Этот пункт меню является дополнением к патчу форматирования, и это интерфейс для git am.

Перетаскивание

Можно перетащить некоторые выбранные обороты из одного экземпляра qgit в другой, открытый в другом архиве. В этом случае git format-patch используется в перетаскивающем архиве для создания временных патчей, импортированных в выпадающий архив git am.

Создание тега

Выберите ревизию и откройте Edit-> Make Tag или используйте всплывающее контекстное меню контекста контекстного меню. Отобразятся два диалога: первый запрос - имя тега, второй - сообщение тега (не обязательно). Если записано не пустое сообщение, оно будет сохранено вместе с тегом. Теги и сообщения тегов можно просмотреть в строке состояния, когда выбрана метка-ревизия.

Удаление тега

Выберите отмеченную ревизию и откройте Edit-> Delete Tag или используйте всплывающее контекстное меню контекста контекстного меню. После подтверждения выбранная ревизия будет немаркирована.

Сохранение файла

Выберите файл из дерева или списка файлов и откройте File-> Save file as или используйте контекстное меню древовидного контекстного меню (правый щелчок), появится диалоговое окно с запросом имени файла (по умолчанию для текущего) и каталога назначения . Введите правильное имя, нажмите OK, и файл будет сохранен.

Фиксация изменений

Когда включено редактирование-> Настройки-> Рабочий каталог -> Различия в отношении рабочего каталога и есть что-то коммитируемое, отображается специальная выделенная первая ревизия со статусом архива и возможным отложенным материалом. Из Edit-> Commit можно вызвать диалог фиксации. В диалоговом окне фиксации выберите файлы для фиксации или, просто, для синхронизации с индексом (для этого наберите git update-index). Может быть введено соответствующее сообщение фиксации, и после подтверждения изменения будут зафиксированы и будет создана новая ревизия. Функция фиксации ядра выполняется git commit.

Просмотр исправлений

Чтобы открыть закладку патча, используйте контекстное меню, дважды щелкните по ревизии или файлу в главном окне или выберите «Просмотр-> Просмотреть патч- меню» (CTRL + P). Представленный патч - это отличие текущего выбранного коммита от:

  • Родителя (по умолчанию);
  • ГЛАВА;
  • Выбранное имя SHA или имя ссылки

В последнем случае SHA выбирается путем записи или вставки имени дерева или имени ссылки в соответствующем поле и нажатия клавиши возврата. Вы получите тот же результат и с CTRL + щелкните правой кнопкой мыши на ревизии в основном списке. Выбранная цель будет выделена. CTRL + щелкните правой кнопкой мыши снова выделенную ревизию, чтобы выпустить фильтр. С помощью кнопки фильтра справа от панели инструментов можно переключаться между обычным режимом, только добавленными линиями и только удаленными линиями. Это может быть полезно для легкого чтения патча.

Просмотр внешних различий

Из View-> External diff можно вызвать просмотр внешних различий, например, для просмотра различий в двух вертикальных черепичных окнах.
Просмотр внешних различий показывает различия между двумя файлами. Первый файл - текущий выбранный файл текущей версии. Второй файл является тем же файлом родительской ревизии или конкретной версии, если функция diff для sha включена (целевой объект diff подсвечен). Просмотр внешних различий по умолчанию - kompare, но можно установить предпочтительный из Edit-> Settings-> External Diff Viewer .

Просмотр файлов

Можно просматривать содержимое файла любого файла в любое время ревизии в истории.

Панель списка файлов

В правом нижнем углу главного окна отображается список файлов, измененных текущей версией. Выбор имени файла обновит представление патча, чтобы центрировать файл. Цвета имен файлов используют следующее соглашение:

  • Черный для измененных файлов
  • Зеленый для новых файлов
  • Красный для удаленных файлов
  • Темно-синий для переименованных / скопированных файлов

Объединений файлов

В случае слияния группы файлов, соответствующие каждому родительскому слиянию, разделяются двумя пустыми строками. В случае слияний вы можете выбрать между всеми файлами слияния или только с интересными (по умолчанию), то есть файлы, измененные более чем одним родителем слияния.

Содержимое файла

Чтобы просмотреть содержимое файла, дважды щелкните имя файла в древовидной структуре или воспользуйтесь контекстным меню в списке файлов или выберите меню «Просмотр» - « Просмотр файла » (CTRL + A). На странице просмотра файла будет отображаться содержимое файла текущей версии и история файла. Можно скопировать в буфер обмена выбранный контент с помощью CTRL + C или с помощью соответствующей кнопки. Любой заголовок строки будет автоматически удален.

Аннотация файла

При открытии или обновлении программы просмотра файлов история файлов будет извлекаться из архива вместе с содержимым файла. Затем аннотации вычисляются в фоновом режиме, и представление обновляется по мере готовности. Двойной щелчок на номере индекса аннотации обновит список истории, чтобы указать на соответствующую ревизию. Содержимое файла также изменится, чтобы отобразить новый выбранный файл ревизии. Чтобы сохранить то же самое содержимое после двойного щелчка, возможно, что вы хотите, просто прикрепите его с помощью кнопки проверки вида . Рядом с кнопкой «Проверить» находится спин-бокс для отображения / выбора номера текущей ревизии. Дважды щелкните запись списка истории, чтобы обновить основные, патч-и древовидные представления до соответствующей ревизии.

Фильтр области кода

Когда информация аннотации доступна, кнопка фильтра включена, и мышь может выбрать область содержимого файла. Затем, при нажатии кнопки фильтра, будут видны только ревизии, которые изменят выбранную область. Выбранная область кода выделяется и отображается сокращенная история. Кнопка фильтра - это кнопка переключения, поэтому просто нажмите ее еще раз, чтобы выпустить фильтр.

Синтаксический маркер

Если GNU-источник установлен и находится в PATH, то можно переключить подсветку исходного кода, нажав кнопку инструмента "Цвет текста". Список исходных языков и дополнительной документации приведен на сайте Source-highlight.

Действия

Действия могут быть добавлены/удалены с помощью специального диалога, вызываемого из меню Actions-> Setup actions. Действия можно активировать, щелкнув по их имени в меню «Действия». Каждое действие может быть связано с списком любого типа команд git или shell или внешним скриптом. Пока выполняется действие, окно терминала показывает соответствующий вывод. Действие может также запрашивать аргументы командной строки перед запуском, чтобы обеспечить максимальную гибкость.
Аргументы командной строки всегда добавляются только к первой команде. Это позволяет вам определить действие как:

 git fetch  

 git merge   

И если вы укажете origin при запросе, то будет выполнено следующее действие:

 git fetch origin 

 git merge  

Если вам нужны более сложные аргументы, передаваемые с помощью оболочки, такой как нотация, определите скрипт и свяжите свое действие с ним.

Интеграция со Stacked Git

Когда стек StGIT находится поверх git-архива, qgit прозрачно обрабатывает добавленную информацию. Интеграция со StGIT реализована как новыми, так и модифицированными функциями. Новые функции автоматически активируются:

  • Визуализация прикладных и непримененных патчей в главном окне.
  • Интерфейс для нажима или щелчка правой кнопкой мыши по выбранным элементам. Push поддерживает также множественный выбор.

Изменение существующих функций:

  • Диалог фиксации обновляет патч верхнего стека с измененными файлами вместо синхронизации кэша.
  • Диалог фиксации создает новый патч в верхней части стека, заполненный измененным содержимым рабочего каталога, вместо фиксации новой версии в репозитории git.
  • Применение изменений патчей к интерфейсу команд импорта и сложения StGIT вместо применения патча непосредственно в репозитории git.

Ссылки

Официальный сайт [Электронный ресурс]: — Режим доступа: http://digilander.libero.it/mcostalba/