Compare commits
32 Commits
adoc
...
5fa1f983b8
Author | SHA1 | Date | |
---|---|---|---|
5fa1f983b8 | |||
5eb808d587 | |||
ee24a0d933 | |||
7430389f3c | |||
d84e23e0ad | |||
221a63a827 | |||
07bafa380d | |||
83f97f482e | |||
321e48c500 | |||
22067a2a3d | |||
494c9f31d6 | |||
2bcf387ba4 | |||
5bf5a20624 | |||
fff4e996d2 | |||
218f22c8d2 | |||
d931b5aaea | |||
ec16a3a380 | |||
c41683d9e2 | |||
2abd41f429 | |||
f0cba8e7f6 | |||
8e1b48e868 | |||
d3fe32a96b | |||
62ab8db450 | |||
2af67616c8 | |||
d07e6a66f8 | |||
51adf6eb5a | |||
007afda3d1 | |||
3355f9185e | |||
1e5b6aa485 | |||
679bf869e8 | |||
1aaacb1df7 | |||
1068f502bb |
4
Makefile
@ -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__
|
||||
|
@ -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 = (
|
||||
|
@ -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 = (
|
||||
|
8
themes/pdf/wiki-theme.yml
Normal file
@ -0,0 +1,8 @@
|
||||
extends: default
|
||||
page:
|
||||
size: A4
|
||||
# layout: portrait
|
||||
# margin: [15mm, 20mm, 15mm, 10mm]
|
||||
image:
|
||||
caption:
|
||||
align: inherit
|
@ -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"]
|
||||
|
87
wiki/Prog/Development/Настройка QtCreator.adoc
Normal 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"]
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
----
|
||||
|
||||
|
@ -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`
|
||||
|===
|
||||
|
@ -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)));
|
||||
----
|
||||
|
||||
Чтение данных:
|
||||
|
BIN
wiki/images/qtcreator-setup/qtcreator20.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
wiki/images/qtcreator-setup/qtcreator21.png
Normal file
After Width: | Height: | Size: 141 KiB |
BIN
wiki/images/qtcreator-setup/qtcreator22.png
Normal file
After Width: | Height: | Size: 142 KiB |
BIN
wiki/images/qtcreator-setup/qtcreator41.png
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
wiki/images/qtcreator-setup/qtcreator42.png
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
wiki/images/qtcreator-setup/qtcreator51.png
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
wiki/images/qtcreator-setup/qtcreator55.png
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
wiki/images/qtcreator-setup/qtcreator61.png
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
wiki/images/qtcreator-setup/qtcreator67.png
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
wiki/images/qtcreator-setup/qtcreator74.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
wiki/images/qtcreator-setup/qtcreator81.png
Normal file
After Width: | Height: | Size: 96 KiB |