Compare commits

...

32 Commits

Author SHA1 Message Date
5fa1f983b8 update 2020-04-11 21:48:55 +03:00
5eb808d587 update 2020-04-11 21:20:55 +03:00
ee24a0d933 update 2020-04-11 21:06:02 +03:00
7430389f3c update 2020-04-11 20:59:22 +03:00
d84e23e0ad update 2020-04-11 20:49:41 +03:00
221a63a827 update 2020-04-11 20:44:28 +03:00
07bafa380d update 2020-04-11 20:36:44 +03:00
83f97f482e images 2020-04-11 20:20:31 +03:00
321e48c500 update 2020-04-11 20:16:51 +03:00
22067a2a3d update 2020-04-11 20:09:43 +03:00
494c9f31d6 update 2020-04-11 19:44:15 +03:00
2bcf387ba4 update 2020-04-11 18:07:10 +03:00
5bf5a20624 update 2020-04-11 16:19:35 +03:00
fff4e996d2 update 2020-04-11 15:13:41 +03:00
218f22c8d2 Merge branch 'master' of git.246060.ru:/f1x1t/dsp-site 2020-04-11 15:10:08 +03:00
d931b5aaea update 2020-04-11 14:57:13 +03:00
ec16a3a380 update 2020-04-10 18:13:06 +03:00
c41683d9e2 update 2020-04-10 18:10:40 +03:00
2abd41f429 update 2020-04-10 10:59:43 +03:00
f0cba8e7f6 update 2020-04-09 20:59:56 +03:00
8e1b48e868 update 2020-04-09 20:43:02 +03:00
d3fe32a96b update 2020-04-09 20:41:13 +03:00
62ab8db450 update 2020-04-09 20:39:10 +03:00
2af67616c8 update 2020-04-09 20:35:09 +03:00
d07e6a66f8 update 2020-04-09 20:10:52 +03:00
51adf6eb5a update 2020-04-09 19:23:16 +03:00
007afda3d1 update 2020-04-08 20:09:58 +03:00
3355f9185e update 2020-04-06 08:49:00 +03:00
1e5b6aa485 update 2020-04-04 11:51:36 +03:00
679bf869e8 Merge branch 'adoc' 2019-08-30 09:31:00 +03:00
1aaacb1df7 cmake 2019-08-29 17:34:57 +03:00
1068f502bb update 2019-07-15 21:47:09 +03:00
23 changed files with 834 additions and 539 deletions

View File

@ -1,8 +1,8 @@
build:
pelican -s pelicanconf.py
pelican --ignore-cache -s pelicanconf.py
web:
pelican -s pelicanconf-web.py
pelican --ignore-cache -s pelicanconf-web.py
clean:
rm -rf cache __pycache__

View File

@ -1,6 +1,5 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*- #
from __future__ import unicode_literals
import os
class i18n(object):
@ -89,6 +88,8 @@ ASCIIDOCTOR_EXTRA_OPTIONS = [
'--attribute=figure-caption=Рис.',
'--attribute=toc-title=Содержание',
'--attribute=experimental',
'--attribute=pdf-themesdir={}/themes/pdf'.format(os.getcwd()),
'--attribute=pdf-theme=wiki',
]
REPLACES = (

View File

@ -1,6 +1,5 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*- #
from __future__ import unicode_literals
import os
class i18n(object):
@ -13,7 +12,7 @@ class i18n(object):
LANGUAGES = ['ru']
NEWSTYLE = True
__name__ = 'i18n'
__name__ = 'pelicanconf.i18n'
def register(self):
from pelican.signals import generator_init
@ -89,6 +88,8 @@ ASCIIDOCTOR_EXTRA_OPTIONS = [
'--attribute=figure-caption=Рис.',
'--attribute=toc-title=Содержание',
'--attribute=experimental',
'--attribute=pdf-themesdir={}/themes/pdf'.format(os.getcwd()),
'--attribute=pdf-theme=wiki',
]
REPLACES = (

View File

@ -0,0 +1,8 @@
extends: default
page:
size: A4
# layout: portrait
# margin: [15mm, 20mm, 15mm, 10mm]
image:
caption:
align: inherit

View File

@ -7,16 +7,16 @@
Windows{nbsp}10. Пример приведён ниже:
.Экран 1
image::oo-shutup/1.jpg[1]
image::oo-shutup/1.jpg[1,align="center"]
.Экран 2
image::oo-shutup/2.jpg[2]
image::oo-shutup/2.jpg[2,align="center"]
.Экран 3
image::oo-shutup/3.jpg[3]
image::oo-shutup/3.jpg[3,align="center"]
.Экран 4
image::oo-shutup/4.jpg[4]
image::oo-shutup/4.jpg[4,align="center"]
.Экран 5
image::oo-shutup/5.jpg[5]
image::oo-shutup/5.jpg[5,align="center"]

View File

@ -0,0 +1,87 @@
= Настройка Qt Creator
:title-separator: {sp}|
:category: Linux/Программы
:tags: Linux, Qt, QtCreator, C++,
== Плагины
[.text-center]
.Справка
image::qtcreator-setup/qtcreator20.png[qtcreator20,align="center"]
{empty} +
[.text-center]
.Справка - О модулях (часть 1)
image::qtcreator-setup/qtcreator21.png[qtcreator21,pdfwidth=80%,scaledwidth=80%,align="center"]
{empty} +
[.text-center]
.Справка - О модулях (часть 2)
image::qtcreator-setup/qtcreator22.png[qtcreator22,pdfwidth=80%,scaledwidth=80%,align="center"]
<<<
== Среда
[.text-center]
.Инструменты - Параметры - Среда - Система
image::qtcreator-setup/qtcreator41.png[qtcreator41,pdfwidth=80%,scaledwidth=80%,align="center"]
{empty} +
== Редактор
[.text-center]
.Инструменты - Параметры - Текстовый редактор - Поведение
image::qtcreator-setup/qtcreator42.png[qtcreator42,pdfwidth=80%,scaledwidth=80%,align="center"]
<<<
== C++
[.text-center]
.Инструменты - Параметры - С++ - Именование файлов
image::qtcreator-setup/qtcreator51.png[qtcreator51,pdfwidth=80%,scaledwidth=80%,align="center"]
{empty} +
== Стилизатор
[.text-center]
.Инструменты - Параметры - Стилизатор - Uncrustify
image::qtcreator-setup/qtcreator55.png[qtcreator55,pdfwidth=80%,scaledwidth=80%,align="center"]
<<<
== Сборка и запуск
[.text-center]
.Инструменты - Параметры - Сборка и запуск - Основное
image::qtcreator-setup/qtcreator61.png[qtcreator61,pdfwidth=80%,scaledwidth=80%,align="center"]
{empty} +
== To-Do
[.text-center]
.Инструменты - Параметры - To-Do
image::qtcreator-setup/qtcreator67.png[qtcreator67,pdfwidth=80%,scaledwidth=80%,align="center"]
<<<
== Импорт проекта на CMake
[.text-center]
.Импорт проекта - Настроить проект
image::qtcreator-setup/qtcreator74.png[qtcreator74,pdfwidth=80%,scaledwidth=80%,align="center"]
{empty} +
== Сборка
[.text-center]
.Проект - Настройки сборки
image::qtcreator-setup/qtcreator81.png[qtcreator81,pdfwidth=80%,scaledwidth=80%,align="center"]

View File

@ -0,0 +1,38 @@
= Программный проект и иерархия каталогов
:title-separator: {sp}|
:category: Программирование
:tags: Linux, программирование, cmake
Для операционных систем типа Linux принят стандарт
https://ru.wikipedia.org/wiki/FHS[FHS] («стандарт иерархии файловой
системы»), унифицирующий местонахождение файлов и каталогов с общим
назначением в файловой системе. Полная текущая версия стандарта
находится http://refspecs.linuxfoundation.org/fhs.shtml[здесь].
В соответствии с данным стандартом, а также принятыми в ведущих
дистрибутивах правилами размещения исполняемых файлов в каталогах
пользователей, можно выделить следующие типы расположения:
* системная иерархия в каталоге `/usr` используется для установки
бинарных пакетов для данного дистрибутива;
* системная иерархия в каталоге `/usr/local` используется для установки
программного обеспечения системным администратором без использования
пакетов (не рекомендуется для использования из-за проблем поддержки
в актуальном состоянии);
* системная иерархия в каталоге `/opt` используется для установки
стороннего программного обеспечения. В рамках данной иерархии
предполагается, что каждый программный продукт располагается в
собственном каталоге. При таком типе сборки обычно используются
дополнительные методы (статическая компоновка, включение в состав
пакета своего набора динамических библиотек) для обеспечения работы
пакета в операционных систем с отличающимся составом библиотек
и другим циклом обновления;
* системная иерархия в домашнем каталоге пользователя не имеет
определённого стандарта, обычно производители дистрибутивов
предлагают использовать для исполняемых файлов каталоги
`$HOME/bin` или `$HOME/.local/bin`.

View File

@ -13,14 +13,14 @@
[source,sh]
----
sudo apt-get install clang-tidy-6.0
sudo apt-get install clang-tidy-10
----
Использование:
[source,sh]
----
cmake "-DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-6.0" path/to/source
cmake "-DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-10" path/to/source
----
В каталоге проекта нужно создать файл `.clang-tidy` в формате YAML со
@ -30,12 +30,25 @@ cmake "-DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-6.0" path/to/source
----
---
Checks: '-*,
clang-diagnostic-*,
readability-*,
modernize-*,
cppcoreguidelines-*,
google-*,
bugprone-*'
bugprone-*,
clang-analyzer-*,
cppcoreguidelines-*,
google-*,
llvm-*,
misc-*,
modernize-*,
readability-*,
performance-*,
portability-*,
-cppcoreguidelines-owning-memory,
-cppcoreguidelines-avoid-magic-numbers,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
-readability-magic-numbers,
-readability-else-after-return,
-modernize-use-trailing-return-type,
-modernize-avoid-c-arrays,
-performance-no-automatic-move,
'
CheckOptions:
- key: readability-identifier-naming.ClassCase
value: CamelCase
@ -124,7 +137,7 @@ cmake -DCMAKE_LINK_WHAT_YOU_USE=TRUE ..
[source,sh]
----
sudo apt-get install clazy clang-6.0
sudo apt-get install clazy clang-9
----
Использование:
@ -132,7 +145,6 @@ sudo apt-get install clazy clang-6.0
[source,sh]
----
CLAZY_CHECKS=level2 cmake -DCMAKE_CXX_COMPILER=clazy ..
CLANGXX=clang++-6.0 make
CLANGXX=clang++-9 make
----
=== PVS-Studio

View File

@ -3,15 +3,35 @@
:category: Программирование
:tags: программирование, git,
Если у подмодуля, находящегося в каталоге `thirdparty/example` нужно
заменить адрес синхронизации и имя используемой ветки, то в каталоге с
файлом `.gitmodules`, в котором содержится информация об этом подмодуле,
нужно выполнить команды:
Если у подмодулей необходимо заменить адрес синхронизации и/или
имя используемой ветки, то можно отредактировать в корневом
каталоге проекта файл `.gitmodules` и выполнить данный скрипт:
[source,sh]
----
git config --file=.gitmodules submodule.thirdparty/example.url https://github.com/username/ABC.git
git config --file=.gitmodules submodule.thirdparty/example.branch new-branch-name
git submodule sync --recursive
git submodule update --init --recursive --remote
#!/bin/bash
# Замена адресов для подмодулей:
# 1. Отредактировать файл .gitmodules
# 2. Запустить этот скрипт
#
# Параметры:
# - имя подмодуля (если присутствует, то замена
# адреса производится только для данного подмодуля)
M="#"
[ ! -z $1 ] && M="$1"
cat .gitmodules | while read s; do
s=${s/\*/}
s=${s/path = /}
if [ "$M" = "#" -o "x$M" = "x$s" ]; then
rm -rf .git/modules/$s
rm -rf $s
fi
done
git submodule sync
git submodule update
----

View File

@ -23,27 +23,15 @@ sudo apt-get install git
[width="100%",cols="18%,20%,62%",options="header",]
|===
|Термин |Англ |Определение
|Рабочий каталог |working tree, working directory |Набор файлов в
текущем каталоге
|Репозиторий |repository, repo |Контейнер, хранящий историю изменений
файлов проекта
|Индекс |index, staging area |Область между рабочим каталогом и
репозиторием, в котором осуществляется подготовка к фиксации
|SHA-1 |SHA-1 |Уникальный идентификатор, отражающий информацию об
истории
|Ветка |branch |Именованная последовательность в истории изменений
|Фиксация (коммит) |commit |Набор файлов, записанных в историю
одновременно
|`HEAD` |`HEAD` |Имя ссылки на последнюю фиксацию в текущей ветке
|Метка |tag |Именованная ссылка на некоторую фиксацию в истории
| Термин | Англ | Определение
| Рабочий каталог | working tree, working directory | Набор файлов в текущем каталоге
| Репозиторий | repository, repo | Контейнер, хранящий историю изменений файлов проекта
| Индекс | index, staging area | Область между рабочим каталогом и репозиторием, в котором осуществляется подготовка к фиксации
| SHA-1 | SHA-1 | Уникальный идентификатор, отражающий информацию об истории
| Ветка | branch | Именованная последовательность в истории изменений
| Фиксация (коммит) | commit | Набор файлов, записанных в историю одновременно
| `HEAD` | `HEAD` | Имя ссылки на последнюю фиксацию в текущей ветке
| Метка | tag | Именованная ссылка на некоторую фиксацию в истории
|===
== Состояния
@ -63,20 +51,20 @@ sudo apt-get install git
@startuml
skinparam padding 16
participant untracked as "Неотслеживамые\n(untracked)"
participant untracked as "Неотслеживамые\n(untracked)"
box "Отслеживаемые"
participant staged as "Подготовленные к фиксации\n(indexed)" #55FF55
participant staged as "Подготовленные к фиксации\n(indexed)" #55FF55
participant unmodified as "Неизменённые\n(unmodified)" #99FF99
participant modified as "Изменённые\n(modified)" #77FF77
participant modified as "Изменённые\n(modified)" #77FF77
end box
untracked -> staged : git add
staged -> unmodified : git commit
unmodified -> modified : редактирование
modified -> staged : git add
modified -> untracked: git rm --cached
unmodified -> untracked: git rm --cached
staged -> untracked: git rm --cached
untracked -> staged: git add
staged -> unmodified: git commit
unmodified -> modified: редактирование
modified -> staged: git add
modified -> untracked: git rm --cached
unmodified -> untracked: git rm --cached
staged -> untracked: git rm --cached
@enduml
----
@ -92,14 +80,14 @@ staged -> untracked: git rm --cached
skinparam padding 16
participant workspace as "Рабочий каталог\n(working dir)"
participant index as "Индекс\n(index)" #77FF77
participant local as "Локальный репозиторий\n(local repository)" #FF7777
participant remote as "Удалённый репозиторий\n(remote repository)" #7777FF
participant index as "Индекс\n(index)" #77FF77
participant local as "Локальный репозиторий\n(local repository)" #FF7777
participant remote as "Удалённый репозиторий\n(remote repository)" #7777FF
workspace -> local : git commit -a
workspace -> index : git add (-u)
index -> local : git commit
local -> remote : git push
index -> local : git commit
local -> remote : git push
== Обновление с сервера ==
@ -130,29 +118,29 @@ skinparam defaultFontSize 24
skinparam padding 16
participant workspace as "Рабочий каталог\n(working dir)"
participant index as "Индекс\n(index)" #77FF77
participant local as "Локальный репозиторий\n(local repository)" #FF7777
participant remote as "Удалённый репозиторий\n(remote repository)" #7777FF
participant index as "Индекс\n(index)" #77FF77
participant local as "Локальный репозиторий\n(local repository)" #FF7777
participant remote as "Удалённый репозиторий\n(remote repository)" #7777FF
[-> workspace : <font color=red>Начало работы</font>
activate workspace
remote -> local : <font color=red>Получение изменений с сервера</font>\n<b>git fetch</b>
remote -> local : <font color=red>Обновление подмодулей</font>\n<b>git submodule update --remote</b>
workspace <-> local : <font color=red>Просмотр информации</font>\n<b>git status</b>
workspace <-> local : <font color=red>Переход на ветку master</font>\n<b>git checkout master</b>
local -> workspace : <font color=red>Слияние с удалённой веткой</font>\n<b>git merge origin/master</b>
local <-> workspace : <font color=red>Создание новой ветки</font>\n<b>git branch temp</b>
local <-> workspace : <font color=red>Переход на новую ветку</font>\n<b>git checkout temp</b>
remote -> local : <font color=red>Получение изменений с сервера</font>\n<b>git fetch</b>
remote -> local : <font color=red>Обновление подмодулей</font>\n<b>git submodule update --recursive --init</b>
workspace <-> local : <font color=red>Просмотр информации</font>\n<b>git status</b>
workspace <-> local : <font color=red>Переход на ветку master</font>\n<b>git checkout master</b>
local -> workspace : <font color=red>Слияние с удалённой веткой</font>\n<b>git merge origin/master</b>
local <-> workspace : <font color=red>Создание новой ветки</font>\n<b>git branch temp</b>
local <-> workspace : <font color=red>Переход на новую ветку</font>\n<b>git checkout temp</b>
workspace ->o workspace : <font color=red>Редактирование</font>
workspace <-> local : <font color=red>Просмотр изменений</font>\n<b>git diff</b>
workspace -> index : <font color=red>Занесение файлов в индекс</font>\n<b>git add</b>
index -> local : <font color=red>Фиксация изменений</font>\n<b>git commit</b>
local ->o local : <font color=red>Присвоение ветки осмысленного названия</font>\n<b>git branch -m temp branch_name</b>
local ->o local : <font color=red>Переход на ветку</font>\n<b>git checkout branch_name</b>
remote -> local : <font color=red>Получение изменений с сервера</font>\n<b>git fetch</b>
local ->o local : <font color=red>Слияние изменений с сервера в текущую ветку (branch_name)</font>\n<b>git merge origin/master</b>
local -> remote : <font color=red>Отправка ветки на сервер</font>\n<b>git push origin branch_name</b>
remote ->] : <font color=red>Создание запроса на слияние</font>
workspace <-> local : <font color=red>Просмотр изменений</font>\n<b>git diff</b>
workspace -> index : <font color=red>Занесение файлов в индекс</font>\n<b>git add</b>
index -> local : <font color=red>Фиксация изменений</font>\n<b>git commit</b>
local ->o local : <font color=red>Присвоение ветки осмысленного названия</font>\n<b>git branch -m temp branch_name</b>
local ->o local : <font color=red>Переход на ветку</font>\n<b>git checkout branch_name</b>
remote -> local : <font color=red>Получение изменений с сервера</font>\n<b>git fetch</b>
local ->o local : <font color=red>Слияние изменений с сервера в текущую ветку (branch_name)</font>\n<b>git merge origin/master</b>
local -> remote : <font color=red>Отправка ветки на сервер</font>\n<b>git push origin branch_name</b>
remote ->] : <font color=red>Создание запроса на слияние</font>
deactivate workspace
@enduml
----
@ -161,45 +149,31 @@ deactivate workspace
[width="100%",cols="15%,35%,50%",options="header",]
|===
|Команда |Ключи |Описание
|`git config` |`--global user.name "John Doe"` |Имя текущего
пользователя
|`git config` |`--global user.email "mail@example.com"` |Почта текущего
пользователя
|`git config` |`--list` |Вывод текущей конфигурации
|`git config` |`--global --list` |Вывод глобальной конфигурации
| Команда | Ключи | Описание
| `git config` | `--global user.name "John Doe"` | Имя текущего пользователя
| `git config` | `--global user.email "mail@example.com"` | Почта текущего пользователя
| `git config` | `--list` | Вывод текущей конфигурации
| `git config` | `--global --list` | Вывод глобальной конфигурации
|===
== Инициализация
[width="100%",cols="15%,35%,50%",options="header",]
|===
|Команда |Ключи |Описание
|`git init` |`<dir>` |Создать пустой репозиторий в каталоге `<dir>`
|`git clone` |`<giturl>` `<dir>` |Создать в каталоге `<dir>` копию
репозитория, находящегося по адресу `<giturl>`
|`git clone` |`--recursive <giturl>` `<dir>` |Создать в каталоге `<dir>`
копию репозитория, находящегося по адресу `<giturl>`, с учётом
подмодулей
| Команда | Ключи | Описание
| `git init` | `<dir>` | Создать пустой репозиторий в каталоге `<dir>`
| `git clone` | `<giturl>` `<dir>` | Создать в каталоге `<dir>` копию репозитория, находящегося по адресу `<giturl>`
| `git clone` | `--recursive <giturl>` `<dir>` | Создать в каталоге `<dir>` копию репозитория, находящегося по адресу `<giturl>`, с учётом подмодулей
|===
== Подмодули
[width="100%",cols="15%,25%,60%",options="header",]
|===
|Команда |Ключи |Описание
|`git submodule` |`add <giturl> <dir>` |Добавить в каталог `<dir>`
текущего репозитория подмодуль, находящийся по адресу `<giturl>`
|`git submodule` |`update --recursive --remote` |Обновить подмодули
|`git submodule` |`sync --recursive` |Заменить адреса подмодулей на
указанные в файле `.gitmodules`
| Команда | Ключи | Описание
| `git submodule` | `add <giturl> <dir>` | Добавить в каталог `<dir>` текущего репозитория подмодуль, находящийся по адресу `<giturl>`
| `git submodule` | `update --recursive --remote` | Обновить подмодули
| `git submodule` | `sync --recursive` | Заменить адреса подмодулей на указанные в файле `.gitmodules`
|===
Удаление подмодуля:
@ -214,54 +188,42 @@ git rm <path/to/submodule>
[width="100%",cols="15%,20%,65%",options="header",]
|===
|Команда |Ключи |Описание
|`git add` |`<filename>` |Подготовить файл `<filename>` к фиксации
|`git commit` | |Зафиксировать подготовленные файлы
|`git commit` |`-a` |Зафиксировать все отслеживаемые файлы, которые были
изменены
| Команда | Ключи | Описание
| `git add` | `<filename>` | Подготовить файл `<filename>` к фиксации
| `git commit` | | Зафиксировать подготовленные файлы
| `git commit` | `-a` | Зафиксировать все отслеживаемые файлы, которые были изменены
|===
== Удаление
[width="100%",cols="15%,20%,65%",options="header",]
|===
|Команда |Ключи |Описание
|`git rm` |`<filename>` |Удалить файл из индекса и рабочего каталога
|`git rm` |`-f <filename>` |Принудительное удаление файла
|`git rm` |`--cached <filename>` |Удаление файла из проекта, но не из
рабочего каталога
| Команда | Ключи | Описание
| `git rm` | `<filename>` | Удалить файл из индекса и рабочего каталога
| `git rm` | `-f <filename>` | Принудительное удаление файла
| `git rm` | `--cached <filename>` | Удаление файла из проекта, но не из рабочего каталога
|===
== Информация
[width="100%",cols="15%,20%,65%",options="header",]
|===
|Команда |Ключи |Описание
|`git status` |`-s` |Вывод информации о рабочем каталоге в краткой форме
|`git log` |`--oneline` |Вывод журнала изменений в краткой форме
|`git ls-files` | |Вывод списка отслеживаемых и подготовленных файлов
| Команда | Ключи | Описание
| `git status` | `-s` | Вывод информации о рабочем каталоге в краткой форме
| `git log` | `--oneline` | Вывод журнала изменений в краткой форме
| `git ls-files` | | Вывод списка отслеживаемых и подготовленных файлов
|===
== Удалённый репозиторий
[width="100%",cols="15%,20%,65%",options="header",]
|===
|Команда |Ключи |Описание
|`git remote` |`-v` |Список адресов удалённых репозиториев
|`git branch` |`-r` |Список веток в удалённых репозиториях
|`git remote` |`add <name> <url>` |Создать ссылку `<name>` на удалённый
репозиторий, находящийся по адресу `<url>`
|`git remote` |`rename <old> <new>` |Переименовать ссылку `<old>` на
`<new>`
|`git remote` |`rm <name>` |Удалить ссылку `<name>`
| Команда | Ключи | Описание
| `git remote` | `-v` | Список адресов удалённых репозиториев
| `git branch` | `-r` | Список веток в удалённых репозиториях
| `git remote` | `add <name> <url>` | Создать ссылку `<name>` на удалённый репозиторий, находящийся по адресу `<url>`
| `git remote` | `rename <old> <new>` | Переименовать ссылку `<old>` на `<new>`
| `git remote` | `rm <name>` | Удалить ссылку `<name>`
|===
* Обращение к удалённому репозиторию осуществляется по ссылке,
@ -272,32 +234,21 @@ git rm <path/to/submodule>
[width="100%",cols="15%,20%,65%",options="header",]
|===
|Команда |Ключи |Описание
|`git push` |`<remote> <branch>` |Отправить ветку `<branch>` в удалённый
репозиторий `<remote>`
|`git push` |`<remote> --all` |Отправить все ветки в удалённый
репозиторий `<remote>`
|`git push` |`--d <remote> <branch>` |Удалить ветку `<branch>` из
удалённого репозитория `<remote>`
| Команда | Ключи | Описание
| `git push` | `<remote> <branch>` | Отправить ветку `<branch>` в удалённый репозиторий `<remote>`
| `git push` | `<remote> --all` | Отправить все ветки в удалённый репозиторий `<remote>`
| `git push` | `--d <remote> <branch>` | Удалить ветку `<branch>` из удалённого репозитория `<remote>`
|===
== Получение изменений
[width="100%",cols="15%,20%,65%",options="header",]
|===
|Команда |Ключи |Описание
|`git fetch` |`<remote>` |Получить изменения из всех веток репозитория
`<remote>`, но не выполнять слияние
|`git fetch` |`<remote> <branch>` |Получить изменения из ветки
`<branch>` репозитория `<remote>`, но не выполнять слияние
|`git merge` |`<remote>/<branch>` |Выполнить слияние с веткой `<branch>`
репозитория `<remote>`
|`git pull` |`<remote>` |Получение и слияние
| Команда | Ключи | Описание
| `git fetch` | `<remote>` | Получить изменения из всех веток репозитория `<remote>`, но не выполнять слияние
| `git fetch` | `<remote> <branch>` | Получить изменения из ветки `<branch>` репозитория `<remote>`, но не выполнять слияние
| `git merge` | `<remote>/<branch>` | Выполнить слияние с веткой `<branch>` репозитория `<remote>`
| `git pull` | `<remote>` | Получение и слияние
|===
== Ветки
@ -305,42 +256,25 @@ git rm <path/to/submodule>
[width="100%",cols="15%,20%,65%",options="header",]
|===
|Команда |Ключи |Описание
|`git branch` |`-a` |Список локальных и удалённых веток
|`git branch` | |Список локальных веток
|`git branch` |`<branch>` |Создать ветку `<branch>`
|`git checkout` |`<sha-1>` |Перейти к фиксации с идентификатором
`<sha-1>`
|`git branch` |`-m <old> <new>` |Переименовать ветку `<old>` в `<new>`
|`git merge` |`<branch>` |Слить изменения из ветки `<branch>` в текущую
ветку
|`git branch` |`-d <branch>` |Удалить ветку `<branch>`
| `git branch` | `-a` | Список локальных и удалённых веток
| `git branch` | | Список локальных веток
| `git branch` | `<branch>` | Создать ветку `<branch>`
| `git checkout` | `<sha-1>` | Перейти к фиксации с идентификатором `<sha-1>`
| `git branch` | `-m <old> <new>` | Переименовать ветку `<old>` в `<new>`
| `git merge` | `<branch>` | Слить изменения из ветки `<branch>` в текущую ветку
| `git branch` | `-d <branch>` | Удалить ветку `<branch>`
|===
== Сравнение
[width="100%",cols="15%,20%,65%",options="header",]
|===
|Команда |Ключи |Описание
|`git diff` | |Сравнить рабочий каталог и индекс
|`git diff` |`-cached` |Сравнить индекс и последнюю фиксацию
|`git diff` |`HEAD` |Сравнить последнюю фиксацию и рабочий каталог
|`git diff` |`--stat` |Краткий вывод результатов
|`git diff` |`<sha-1> <sha-1>` |Сравнить две точки с указанными
идентификаторами
|`git diff` |`<dir>` `<file>` |Сравнивать только указанный каталог
`<dir>` или файл `<file>`
|`git difftool` | |Отобразить результаты сравнения в программе,
определяемой переменной `diff.tool`
| Команда | Ключи | Описание
| `git diff` | | Сравнить рабочий каталог и индекс
| `git diff` | `-cached` | Сравнить индекс и последнюю фиксацию
| `git diff` | `HEAD` | Сравнить последнюю фиксацию и рабочий каталог
| `git diff` | `--stat` | Краткий вывод результатов
| `git diff` | `<sha-1> <sha-1>` | Сравнить две точки с указанными идентификаторами
| `git diff` | `<dir>` `<file>` | Сравнивать только указанный каталог `<dir>` или файл `<file>`
| `git difftool` | | Отобразить результаты сравнения в программе, определяемой переменной `diff.tool`
|===

View File

@ -19,11 +19,16 @@ CREATE TABLE example (
----
const char cart[] = {0x04, 0x43, 0x00, 0x9A};
QByteArray binDataArray(QByteArray::fromRawData(cart, 4));
QSqlQuery query;
query.prepare(QString("INSERT INTO example (id, bin_data) VALUES(:id, :bin_data)");
query.bindValue(":id", 10, QSql::In);
query.bindValue(":bin_data", binDataArray, QSql::In | QSql::Binary);
query.exec();
QSqlQuery query1;
query1.prepare(QString("INSERT INTO example (id, bin_data) VALUES(:id, :bin_data)");
query1.bindValue(":id", 10, QSql::In);
query1.bindValue(":bin_data", binDataArray, QSql::In | QSql::Binary);
query1.exec();
QSqlQuery query2;
query2.exec(QString("INSERT INTO files VALUES(%1, %2);")
.arg(18)
.arg(db.driver()->formatValue(dataField)));
----
Чтение данных:

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB