From e7c9cf690907b9e9c1a2a1a070a6dd3a302d6b4f Mon Sep 17 00:00:00 2001 From: TimofeyShinkarenko Date: Mon, 7 Oct 2024 14:12:21 +0500 Subject: [PATCH 01/17] Add init.md --- init.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 init.md diff --git a/init.md b/init.md new file mode 100644 index 00000000..59353176 --- /dev/null +++ b/init.md @@ -0,0 +1,4 @@ +## S1. Все локально +#### Все данные хранятся в локальных репозиториях, изменения между ними можно синхронизировать +1. `git init` — создать пустой репозиторий +2. `git clone ` — склонировать репозиторий в новую директорию \ No newline at end of file From 8230a35de1d9606ef6e1fa107797f87ee95568d1 Mon Sep 17 00:00:00 2001 From: TimofeyShinkarenko Date: Mon, 14 Oct 2024 13:09:19 +0500 Subject: [PATCH 02/17] Add init.md --- .gitignore | 1 - commit.md | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 commit.md diff --git a/.gitignore b/.gitignore index 9d17fc14..1b1a0b8c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ # Коллекция полезных .gitignore от GitHub: https://github.com/github/gitignore # Игнорирование всех markdown-файлов: -*.md # Исключение из игнорирования конкретного файла: !init.md diff --git a/commit.md b/commit.md new file mode 100644 index 00000000..0551c764 --- /dev/null +++ b/commit.md @@ -0,0 +1,3 @@ +## S2. Хранятся состояния директории, постепенная сборка коммита +#### Хранятся файлы, разница вычисляется на лету +#### Commit index для сборки коммита \ No newline at end of file From 932f0f44e284de376b39f988da60d69e33556824 Mon Sep 17 00:00:00 2001 From: TimofeyShinkarenko Date: Mon, 14 Oct 2024 13:14:09 +0500 Subject: [PATCH 03/17] Change commit.md --- commit.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/commit.md b/commit.md index 0551c764..2b84f4e9 100644 --- a/commit.md +++ b/commit.md @@ -1,3 +1,9 @@ ## S2. Хранятся состояния директории, постепенная сборка коммита #### Хранятся файлы, разница вычисляется на лету -#### Commit index для сборки коммита \ No newline at end of file +#### Commit index для сборки коммита +1. `git add .` — добавить все измененные файлы в индекс +2. `git commit -m ` — записать изменения из индекса в репозиторий +3. `git status -sb` — вывести состояние директории и индекса кратко с указанием текущей ветки +4. `git restore .` или `git checkout .` — отменить изменения в директории по индексу +5. `git restore -S .` или `git reset .` — отменить изменения индекса по коммиту (отмена `git add .`) +6. `git rm ` — удалить файл из индекса, чтобы перестать хранить его историю в репозитории \ No newline at end of file From abda8fdf6158a4b177f2d457ea1d750e533be2e0 Mon Sep 17 00:00:00 2001 From: TimofeyShinkarenko Date: Mon, 14 Oct 2024 13:52:13 +0500 Subject: [PATCH 04/17] Replace with bullets --- commit.md | 12 ++++++------ init.md | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/commit.md b/commit.md index 2b84f4e9..258cd957 100644 --- a/commit.md +++ b/commit.md @@ -1,9 +1,9 @@ ## S2. Хранятся состояния директории, постепенная сборка коммита #### Хранятся файлы, разница вычисляется на лету #### Commit index для сборки коммита -1. `git add .` — добавить все измененные файлы в индекс -2. `git commit -m ` — записать изменения из индекса в репозиторий -3. `git status -sb` — вывести состояние директории и индекса кратко с указанием текущей ветки -4. `git restore .` или `git checkout .` — отменить изменения в директории по индексу -5. `git restore -S .` или `git reset .` — отменить изменения индекса по коммиту (отмена `git add .`) -6. `git rm ` — удалить файл из индекса, чтобы перестать хранить его историю в репозитории \ No newline at end of file +- `git add .` — добавить все измененные файлы в индекс +- `git commit -m ` — записать изменения из индекса в репозиторий +- `git status -sb` — вывести состояние директории и индекса кратко с указанием текущей ветки +- `git restore .` или `git checkout .` — отменить изменения в директории по индексу +- `git restore -S .` или `git reset .` — отменить изменения индекса по коммиту (отмена `git add .`) +- `git rm ` — удалить файл из индекса, чтобы перестать хранить его историю в репозитории \ No newline at end of file diff --git a/init.md b/init.md index 59353176..84a27dc6 100644 --- a/init.md +++ b/init.md @@ -1,4 +1,4 @@ ## S1. Все локально #### Все данные хранятся в локальных репозиториях, изменения между ними можно синхронизировать -1. `git init` — создать пустой репозиторий -2. `git clone ` — склонировать репозиторий в новую директорию \ No newline at end of file +- `git init` — создать пустой репозиторий +- `git clone ` — склонировать репозиторий в новую директорию \ No newline at end of file From e537f68e9d607051aca3ebadda3e336d468ceb43 Mon Sep 17 00:00:00 2001 From: TimofeyShinkarenko Date: Mon, 14 Oct 2024 13:57:09 +0500 Subject: [PATCH 05/17] New commands for commit.md --- commit.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/commit.md b/commit.md index 2b84f4e9..50a1887b 100644 --- a/commit.md +++ b/commit.md @@ -6,4 +6,9 @@ 3. `git status -sb` — вывести состояние директории и индекса кратко с указанием текущей ветки 4. `git restore .` или `git checkout .` — отменить изменения в директории по индексу 5. `git restore -S .` или `git reset .` — отменить изменения индекса по коммиту (отмена `git add .`) -6. `git rm ` — удалить файл из индекса, чтобы перестать хранить его историю в репозитории \ No newline at end of file +6. `git rm ` — удалить файл из индекса, чтобы перестать хранить его историю в репозитории +7. `git show ` — показать содержимое коммита +8. `git log --oneline --decorate --graph` — вывести историю коммитов от HEAD в виде дерева +9. `git log --oneline --decorate --graph --all` — вывести историю всех коммитов в виде дерева +10. `gitk` — открыть графическое представление репозитория +11. `git clean` — удалить неотслеживаемые файлы из директории \ No newline at end of file From 4726ac26e217ba46226e90ac275873b95813e2ce Mon Sep 17 00:00:00 2001 From: TimofeyShinkarenko Date: Mon, 14 Oct 2024 14:04:52 +0500 Subject: [PATCH 06/17] Add branch.md --- branch.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 branch.md diff --git a/branch.md b/branch.md new file mode 100644 index 00000000..f6f1b30c --- /dev/null +++ b/branch.md @@ -0,0 +1,14 @@ +## S3. Манипуляции через ссылки, нет ссылки — в мусор +#### HEAD — текущая ссылка, tag — фиксированная ссылка, branch — движущаяся за HEAD ссылка +#### checkout — перемещение на ветку или коммит, reset — перемещение с веткой на коммит +#### Видно то, на что есть ссылки, остальное — мусор +1. `git tag` — вывести список тегов +2. `git tag ` — создать тег +3. `git branch` — вывести список локальных веток +4. `git branch -av` — вывести список локальных и удаленных веток +5. `git branch ` — создать ветку +6. `git branch -d ` — удалить ветку +7. `git checkout ` или `git switch --detach ` — переместить HEAD на коммит, причем получится detached HEAD +8. `git checkout `или `git switch ` — переместить HEAD на ветку +9. `git checkout -b ` или `git switch -c ` — создать ветку и перейти на нее +10. `git reset --hard ` — переместить HEAD и текущую ветку на `` \ No newline at end of file From 18352d934d889969944e87e9977f98981c71e2d2 Mon Sep 17 00:00:00 2001 From: TimofeyShinkarenko Date: Mon, 14 Oct 2024 14:31:49 +0500 Subject: [PATCH 07/17] Add merge.md --- merge.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 merge.md diff --git a/merge.md b/merge.md new file mode 100644 index 00000000..76e688b1 --- /dev/null +++ b/merge.md @@ -0,0 +1,6 @@ +## A1. Трехсторонний merge в три шага +#### Два состояния можно объединить через merge, mergetool и commit +#### Участвуют три стороны: current, incoming и base +- `git merge ` — объединить текущую ветку с другой +- `git mergetool` — разрешить имеющиеся конфликты +- `git merge --abort` — отменить слияние \ No newline at end of file From ce7165c14de0d1027db0889b1783f17101877c5a Mon Sep 17 00:00:00 2001 From: TimofeyShinkarenko Date: Mon, 14 Oct 2024 14:43:21 +0500 Subject: [PATCH 08/17] Add reflog stub to branch.md --- branch.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/branch.md b/branch.md index 21f6dcf5..49d77cd9 100644 --- a/branch.md +++ b/branch.md @@ -8,7 +8,8 @@ - `git branch -av` — вывести список локальных и удаленных веток - `git branch ` — создать ветку - `git branch -d ` — удалить ветку -- `git checkout ` или `git switch --detach ` — переместить HEAD на коммит, причем получится detached HEAD +- `git checkout ` или `git switch --detach ` — переместить HEAD на коммит, причем получится detached HEAD - `git checkout `или `git switch ` — переместить HEAD на ветку - `git checkout -b ` или `git switch -c ` — создать ветку и перейти на нее -- `git reset --hard ` — переместить HEAD и текущую ветку на `` \ No newline at end of file +- `git reset --hard ` — переместить HEAD и текущую ветку на `` +### Lorem ipsum dolor sit amet, consectetur adipiscing elit \ No newline at end of file From 2da986092d0aa76686a36bdbef4bcd11409509f6 Mon Sep 17 00:00:00 2001 From: TimofeyShinkarenko Date: Mon, 14 Oct 2024 14:35:22 +0500 Subject: [PATCH 09/17] Add rebase.md --- rebase.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 rebase.md diff --git a/rebase.md b/rebase.md new file mode 100644 index 00000000..9ffbd049 --- /dev/null +++ b/rebase.md @@ -0,0 +1,8 @@ +## A2. rebase, cherry-pick и amend, чтобы пересоздать историю +#### Нельзя переписать историю — можно создать новую +- `git commit --amend --no-edit` — заменить последний коммит ветки на отредактированный с дополнительными изменениями без изменения сообщения +- `git rebase ` — применить все коммиты от общего родителя до текущего к `` +- `git rebase -i ` — применить заново все коммиты, указав действие с каждым коммитом +- `git rebase --continue` — продолжить rebase после разрешения конфликтов +- `git rebase --abort` — отменить rabase +- `git cherry-pick ` — применить указанный коммит к HEAD \ No newline at end of file From 9313a9124ca0fe2184803cfed0ec3146d1b9bfc2 Mon Sep 17 00:00:00 2001 From: TimofeyShinkarenko Date: Mon, 14 Oct 2024 14:37:41 +0500 Subject: [PATCH 10/17] Change branch.md --- branch.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/branch.md b/branch.md index 49d77cd9..745b785e 100644 --- a/branch.md +++ b/branch.md @@ -12,4 +12,6 @@ - `git checkout `или `git switch ` — переместить HEAD на ветку - `git checkout -b ` или `git switch -c ` — создать ветку и перейти на нее - `git reset --hard ` — переместить HEAD и текущую ветку на `` -### Lorem ipsum dolor sit amet, consectetur adipiscing elit \ No newline at end of file +- `git reflog show ` — показать лог действий со ссылкой +- `git reflog` = `git reflog show HEAD` — показать лог действий с HEAD +- `git gc` — удалить ненужные файлы и оптимизировать локальный репозиторий From 17b8134930826baaeb83f7296c21cce1925610b7 Mon Sep 17 00:00:00 2001 From: John Doe Date: Wed, 4 Nov 2020 00:53:13 +0500 Subject: [PATCH 11/17] Extension --- fetch.md | 5 + help.md | 28 ++ index.html | 91 ++++++ styles/marked.css | 695 ++++++++++++++++++++++++++++++++++++++++++++++ styles/prism.css | 139 ++++++++++ 5 files changed, 958 insertions(+) create mode 100644 fetch.md create mode 100644 help.md create mode 100644 index.html create mode 100644 styles/marked.css create mode 100644 styles/prism.css diff --git a/fetch.md b/fetch.md new file mode 100644 index 00000000..5f6df9b8 --- /dev/null +++ b/fetch.md @@ -0,0 +1,5 @@ +## R1. Доступен fetch коммитов любого репозитория в любой момент +- `git remote -v` — вывести список удаленных репозиториев с их адресами +- `git remote add ` — добавить удаленный репозиторий с URL и дать ему указанное имя +- `git fetch` = `git fetch origin` — получить содержимое основного удаленного репозитория +- `git fetch --all` — получить содержимое всех удаленных репозиториев из списка \ No newline at end of file diff --git a/help.md b/help.md new file mode 100644 index 00000000..c7121118 --- /dev/null +++ b/help.md @@ -0,0 +1,28 @@ +## H1. Гибкое конфигурирование и качественная документация +### Гибкая настройка под любой процесс +- `git config -e --system` — редактировать настройки системы +- `git config -e --global` — редактировать настройки пользователя +- `git config -e` — редактировать настройки репозитория +- `git config --global user.name ""` — задать имя пользователя +- `git config --global user.email ""` — задать почту пользователя + +### Документация ко всем командам +- `git help` — список команд +- `git -h` — помощь по команде в терминале +- `git --help` — документация по команде в браузере + +### Алиасы для краткости команд +- `git config --global alias.it "!git init && git commit -m 'Initial commit' --allow-empty"` +- `git config --global alias.st "status -sb"` +- `git config --global alias.call "!git add . && git commit -m"` +- `git config --global alias.commend "commit --amend --no-edit"` +- `git config --global alias.graph "log --oneline --decorate --graph --all"` +- `git config --global alias.to "checkout"` +- `git config --global alias.pushup "push -u origin HEAD"` +- `git config --global alias.please "push --force-with-lease"` +- `git config --global alias.puff "pull --ff-only"` +- `git config --global alias.pure "pull --rebase --autostash"` +- `git config --global alias.undo "reset --soft HEAD^"` + +### Надо игнорировать все, кроме исходников +https://github.com/github/gitignore — .gitignore для разных языков diff --git a/index.html b/index.html new file mode 100644 index 00000000..82314269 --- /dev/null +++ b/index.html @@ -0,0 +1,91 @@ + + + + + + + + +
+ +
+

Принципы Git

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + diff --git a/styles/marked.css b/styles/marked.css new file mode 100644 index 00000000..a3cbcc1e --- /dev/null +++ b/styles/marked.css @@ -0,0 +1,695 @@ + @font-face { + font-family: octicons-link; + src: url(data:font/woff;charset=utf-8;base64,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) format('woff'); + } + + .markdown-body { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + line-height: 1.5; + color: #24292e; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 10px; + line-height: 1.5; + word-wrap: break-word; + } + + .markdown-body .pl-c { + color: #6a737d; + } + + .markdown-body .pl-c1, + .markdown-body .pl-s .pl-v { + color: #005cc5; + } + + .markdown-body .pl-e, + .markdown-body .pl-en { + color: #6f42c1; + } + + .markdown-body .pl-smi, + .markdown-body .pl-s .pl-s1 { + color: #24292e; + } + + .markdown-body .pl-ent { + color: #22863a; + } + + .markdown-body .pl-k { + color: #d73a49; + } + + .markdown-body .pl-s, + .markdown-body .pl-pds, + .markdown-body .pl-s .pl-pse .pl-s1, + .markdown-body .pl-sr, + .markdown-body .pl-sr .pl-cce, + .markdown-body .pl-sr .pl-sre, + .markdown-body .pl-sr .pl-sra { + color: #032f62; + } + + .markdown-body .pl-v, + .markdown-body .pl-smw { + color: #e36209; + } + + .markdown-body .pl-bu { + color: #b31d28; + } + + .markdown-body .pl-ii { + color: #fafbfc; + background-color: #b31d28; + } + + .markdown-body .pl-c2 { + color: #fafbfc; + background-color: #d73a49; + } + + .markdown-body .pl-c2::before { + content: "^M"; + } + + .markdown-body .pl-sr .pl-cce { + font-weight: bold; + color: #22863a; + } + + .markdown-body .pl-ml { + color: #735c0f; + } + + .markdown-body .pl-mh, + .markdown-body .pl-mh .pl-en, + .markdown-body .pl-ms { + font-weight: bold; + color: #005cc5; + } + + .markdown-body .pl-mi { + font-style: italic; + color: #24292e; + } + + .markdown-body .pl-mb { + font-weight: bold; + color: #24292e; + } + + .markdown-body .pl-md { + color: #b31d28; + background-color: #ffeef0; + } + + .markdown-body .pl-mi1 { + color: #22863a; + background-color: #f0fff4; + } + + .markdown-body .pl-mc { + color: #e36209; + background-color: #ffebda; + } + + .markdown-body .pl-mi2 { + color: #f6f8fa; + background-color: #005cc5; + } + + .markdown-body .pl-mdr { + font-weight: bold; + color: #6f42c1; + } + + .markdown-body .pl-ba { + color: #586069; + } + + .markdown-body .pl-sg { + color: #959da5; + } + + .markdown-body .pl-corl { + text-decoration: underline; + color: #032f62; + } + + .markdown-body .octicon { + display: inline-block; + vertical-align: text-top; + fill: currentColor; + } + + .markdown-body a { + background-color: transparent; + } + + .markdown-body a:active, + .markdown-body a:hover { + outline-width: 0; + } + + .markdown-body strong { + font-weight: inherit; + } + + .markdown-body strong { + font-weight: bolder; + } + + .markdown-body h1 { + font-size: 2em; + margin: 0.67em 0; + } + + .markdown-body img { + border-style: none; + } + + .markdown-body code, + .markdown-body kbd, + .markdown-body pre { + font-family: monospace, monospace; + font-size: 1em; + } + + .markdown-body hr { + box-sizing: content-box; + height: 0; + overflow: visible; + } + + .markdown-body input { + font: inherit; + margin: 0; + } + + .markdown-body input { + overflow: visible; + } + + .markdown-body [type="checkbox"] { + box-sizing: border-box; + padding: 0; + } + + .markdown-body * { + box-sizing: border-box; + } + + .markdown-body input { + font-family: inherit; + font-size: inherit; + line-height: inherit; + } + + .markdown-body a { + color: #0366d6; + text-decoration: none; + } + + .markdown-body a:hover { + text-decoration: underline; + } + + .markdown-body strong { + font-weight: 600; + } + + .markdown-body hr { + height: 0; + margin: 15px 0; + overflow: hidden; + background: transparent; + border: 0; + border-bottom: 1px solid #dfe2e5; + } + + .markdown-body hr::before { + display: table; + content: ""; + } + + .markdown-body hr::after { + display: table; + clear: both; + content: ""; + } + + .markdown-body table { + border-spacing: 0; + border-collapse: collapse; + } + + .markdown-body td, + .markdown-body th { + padding: 0; + } + + .markdown-body h1, + .markdown-body h2, + .markdown-body h3, + .markdown-body h4, + .markdown-body h5, + .markdown-body h6 { + margin-top: 0; + margin-bottom: 0; + } + + .markdown-body h1 { + font-size: 32px; + font-weight: 600; + } + + .markdown-body h2 { + font-size: 24px; + font-weight: 600; + } + + .markdown-body h3 { + font-size: 20px; + font-weight: 600; + } + + .markdown-body h4 { + font-size: 16px; + font-weight: 600; + } + + .markdown-body h5 { + font-size: 14px; + font-weight: 600; + } + + .markdown-body h6 { + font-size: 12px; + font-weight: 600; + } + + .markdown-body p { + margin-top: 0; + margin-bottom: 10px; + } + + .markdown-body blockquote { + margin: 0; + } + + .markdown-body ul, + .markdown-body ol { + padding-left: 0; + margin-top: 0; + margin-bottom: 0; + } + + .markdown-body ol ol, + .markdown-body ul ol { + list-style-type: lower-roman; + } + + .markdown-body ul ul ol, + .markdown-body ul ol ol, + .markdown-body ol ul ol, + .markdown-body ol ol ol { + list-style-type: lower-alpha; + } + + .markdown-body dd { + margin-left: 0; + } + + .markdown-body code { + font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-size: 12px; + } + + .markdown-body pre { + margin-top: 0; + margin-bottom: 0; + font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-size: 12px; + } + + .markdown-body .octicon { + vertical-align: text-bottom; + } + + .markdown-body .pl-0 { + padding-left: 0 !important; + } + + .markdown-body .pl-1 { + padding-left: 4px !important; + } + + .markdown-body .pl-2 { + padding-left: 8px !important; + } + + .markdown-body .pl-3 { + padding-left: 16px !important; + } + + .markdown-body .pl-4 { + padding-left: 24px !important; + } + + .markdown-body .pl-5 { + padding-left: 32px !important; + } + + .markdown-body .pl-6 { + padding-left: 40px !important; + } + + .markdown-body::before { + display: table; + content: ""; + } + + .markdown-body::after { + display: table; + clear: both; + content: ""; + } + + .markdown-body>*:first-child { + margin-top: 0 !important; + } + + .markdown-body>*:last-child { + margin-bottom: 0 !important; + } + + .markdown-body a:not([href]) { + color: inherit; + text-decoration: none; + } + + .markdown-body .anchor { + float: left; + padding-right: 4px; + margin-left: -20px; + line-height: 1; + } + + .markdown-body .anchor:focus { + outline: none; + } + + .markdown-body p, + .markdown-body blockquote, + .markdown-body ul, + .markdown-body ol, + .markdown-body dl, + .markdown-body table, + .markdown-body pre { + margin-top: 0; + margin-bottom: 16px; + } + + .markdown-body hr { + height: 0.25em; + padding: 0; + margin: 24px 0; + background-color: #e1e4e8; + border: 0; + } + + .markdown-body blockquote { + padding: 0 1em; + color: #6a737d; + border-left: 0.25em solid #dfe2e5; + } + + .markdown-body blockquote>:first-child { + margin-top: 0; + } + + .markdown-body blockquote>:last-child { + margin-bottom: 0; + } + + .markdown-body kbd { + display: inline-block; + padding: 3px 5px; + font-size: 11px; + line-height: 10px; + color: #444d56; + vertical-align: middle; + background-color: #fafbfc; + border: solid 1px #c6cbd1; + border-bottom-color: #959da5; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #959da5; + } + + .markdown-body h1, + .markdown-body h2, + .markdown-body h3, + .markdown-body h4, + .markdown-body h5, + .markdown-body h6 { + margin-top: 6px; + margin-bottom: 6px; + font-weight: 600; + line-height: 1.25; + } + + .markdown-body h1 .octicon-link, + .markdown-body h2 .octicon-link, + .markdown-body h3 .octicon-link, + .markdown-body h4 .octicon-link, + .markdown-body h5 .octicon-link, + .markdown-body h6 .octicon-link { + color: #1b1f23; + vertical-align: middle; + visibility: hidden; + } + + .markdown-body h1:hover .anchor, + .markdown-body h2:hover .anchor, + .markdown-body h3:hover .anchor, + .markdown-body h4:hover .anchor, + .markdown-body h5:hover .anchor, + .markdown-body h6:hover .anchor { + text-decoration: none; + } + + .markdown-body h1:hover .anchor .octicon-link, + .markdown-body h2:hover .anchor .octicon-link, + .markdown-body h3:hover .anchor .octicon-link, + .markdown-body h4:hover .anchor .octicon-link, + .markdown-body h5:hover .anchor .octicon-link, + .markdown-body h6:hover .anchor .octicon-link { + visibility: visible; + } + + .markdown-body h1 { + padding-bottom: 0.3em; + font-size: 2em; + border-bottom: 1px solid #eaecef; + } + + .markdown-body h2 { + padding-bottom: 0.3em; + font-size: 1.5em; + border-bottom: 1px solid #eaecef; + } + + .markdown-body h3 { + font-size: 1.25em; + } + + .markdown-body h4 { + font-size: 1em; + } + + .markdown-body h5 { + font-size: 0.875em; + } + + .markdown-body h6 { + font-size: 0.85em; + color: #6a737d; + } + + .markdown-body ul, + .markdown-body ol { + padding-left: 2em; + } + + .markdown-body ul ul, + .markdown-body ul ol, + .markdown-body ol ol, + .markdown-body ol ul { + margin-top: 0; + margin-bottom: 0; + } + + .markdown-body li { + word-wrap: break-all; + } + + .markdown-body li>p { + margin-top: 16px; + } + + .markdown-body li+li { + margin-top: 0.25em; + } + + .markdown-body dl { + padding: 0; + } + + .markdown-body dl dt { + padding: 0; + margin-top: 16px; + font-size: 1em; + font-style: italic; + font-weight: 600; + } + + .markdown-body dl dd { + padding: 0 16px; + margin-bottom: 16px; + } + + .markdown-body table { + display: block; + width: 100%; + overflow: auto; + } + + .markdown-body table th { + font-weight: 600; + } + + .markdown-body table th, + .markdown-body table td { + padding: 6px 13px; + border: 1px solid #dfe2e5; + } + + .markdown-body table tr { + background-color: #fff; + border-top: 1px solid #c6cbd1; + } + + .markdown-body table tr:nth-child(2n) { + background-color: #f6f8fa; + } + + .markdown-body img { + max-width: 100%; + box-sizing: content-box; + background-color: #fff; + } + + .markdown-body img[align=right] { + padding-left: 20px; + } + + .markdown-body img[align=left] { + padding-right: 20px; + } + + .markdown-body code { + padding: 0.2em 0.4em; + margin: 0; + font-size: 85%; + background-color: rgba(27,31,35,0.05); + border-radius: 3px; + } + + .markdown-body pre { + word-wrap: normal; + } + + .markdown-body pre>code { + padding: 0; + margin: 0; + font-size: 100%; + word-break: normal; + white-space: pre; + background: transparent; + border: 0; + } + + .markdown-body .highlight { + margin-bottom: 16px; + } + + .markdown-body .highlight pre { + margin-bottom: 0; + word-break: normal; + } + + .markdown-body .highlight pre, + .markdown-body pre { + padding: 16px; + overflow: auto; + font-size: 85%; + line-height: 1.45; + background-color: #f6f8fa; + border-radius: 3px; + } + + .markdown-body pre code { + display: inline; + max-width: auto; + padding: 0; + margin: 0; + overflow: visible; + line-height: inherit; + word-wrap: normal; + background-color: transparent; + border: 0; + } + + .markdown-body .full-commit .btn-outline:not(:disabled):hover { + color: #005cc5; + border-color: #005cc5; + } + + .markdown-body kbd { + display: inline-block; + padding: 3px 5px; + font: 11px "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; + line-height: 10px; + color: #444d56; + vertical-align: middle; + background-color: #fafbfc; + border: solid 1px #d1d5da; + border-bottom-color: #c6cbd1; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #c6cbd1; + } + + .markdown-body :checked+.radio-label { + position: relative; + z-index: 1; + border-color: #0366d6; + } + + .markdown-body .task-list-item { + list-style-type: none; + } + + .markdown-body .task-list-item+.task-list-item { + margin-top: 3px; + } + + .markdown-body .task-list-item input { + margin: 0 0.2em 0.25em -1.6em; + vertical-align: middle; + } + + .markdown-body hr { + border-bottom-color: #eee; + } \ No newline at end of file diff --git a/styles/prism.css b/styles/prism.css new file mode 100644 index 00000000..c217eccf --- /dev/null +++ b/styles/prism.css @@ -0,0 +1,139 @@ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ + + code[class*="language-"], + pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + } + + pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, + code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; + } + + pre[class*="language-"]::selection, pre[class*="language-"] ::selection, + code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; + } + + @media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } + } + + /* Code blocks */ + pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + } + + :not(pre) > code[class*="language-"], + pre[class*="language-"] { + background: #f5f2f0; + } + + /* Inline code */ + :not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; + } + + .token.comment, + .token.prolog, + .token.doctype, + .token.cdata { + color: slategray; + } + + .token.punctuation { + color: #999; + } + + .namespace { + opacity: .7; + } + + .token.property, + .token.tag, + .token.boolean, + .token.number, + .token.constant, + .token.symbol, + .token.deleted { + color: #905; + } + + .token.selector, + .token.attr-name, + .token.string, + .token.char, + .token.builtin, + .token.inserted { + color: #690; + } + + .token.operator, + .token.entity, + .token.url, + .language-css .token.string, + .style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); + } + + .token.atrule, + .token.attr-value, + .token.keyword { + color: #07a; + } + + .token.function, + .token.class-name { + color: #DD4A68; + } + + .token.regex, + .token.important, + .token.variable { + color: #e90; + } + + .token.important, + .token.bold { + font-weight: bold; + } + .token.italic { + font-style: italic; + } + + .token.entity { + cursor: help; + } \ No newline at end of file From ad2a74cb049c0ee4df0b7661293be90a04d18fd5 Mon Sep 17 00:00:00 2001 From: John Doe Date: Wed, 4 Nov 2020 00:54:47 +0500 Subject: [PATCH 12/17] Add runner --- run.cmd | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 run.cmd diff --git a/run.cmd b/run.cmd new file mode 100644 index 00000000..384b1fa4 --- /dev/null +++ b/run.cmd @@ -0,0 +1,3 @@ +start npx http-server +timeout 10 +start http://127.0.0.1:8080/index.html From 29fbec6a00ecad6aeab083f44fe2895ef09c8485 Mon Sep 17 00:00:00 2001 From: TimofeyShinkarenko Date: Wed, 23 Oct 2024 14:06:55 +0500 Subject: [PATCH 13/17] Add push.md --- push.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 push.md diff --git a/push.md b/push.md new file mode 100644 index 00000000..5ec45f65 --- /dev/null +++ b/push.md @@ -0,0 +1,9 @@ +## R2. Удаленное изменение — это push +- `git push :` — добавить изменения из локальной ветки `` и переместить ветку `` удаленного репозитория +- `git push` = `git push origin HEAD` — добавить изменения из текущей локальной ветки и переместить соответствующую ветку удаленного репозитория +- `git push -f` — выполнить `push`, даже если удаленная ветка уже не является предком +- `git push --force-with-lease` — выполнить `push`, если является предком или удаленная ветка не сдвигалась (использовать вместо предыдущей команды) +- `git push -d ` — удалить ветку или тег в удаленном репозитории +- `git push tag ` — отправить тег в удаленный репозиторий +- `git push --tags` — отправить все локальные теги в удаленный репозиторий +- `git push --mirror` — выполнить агрессивный `push` для всех тегов, веток и HEAD, подходит для создания удаленной копии локального репозитория \ No newline at end of file From 7b9bae58f4b6465f022da82da7539595d3b95a08 Mon Sep 17 00:00:00 2001 From: TimofeyShinkarenko Date: Thu, 24 Oct 2024 20:47:12 +0500 Subject: [PATCH 14/17] Add upstream.md --- upstream.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 upstream.md diff --git a/upstream.md b/upstream.md new file mode 100644 index 00000000..3b9c9f21 --- /dev/null +++ b/upstream.md @@ -0,0 +1,10 @@ +## R3. Явное сопоставление локальных веток с upstream +- `git branch -vv` — вывести список локальных веток с указанием привязанных к ним upstream-веток +- `git branch -u []` — задать upstream-ветку для указанной или текущей ветки +- `git push -u origin HEAD` — создать удаленную ветку, соответствующую локальной и установить между ними upstream-связь, затем добавить изменения из локальной ветки в удаленный репозиторий +- `git checkout ` — создать локальную ветку, соответствующую удаленной и установить между ними upstream-связь, затем переместить HEAD на нее +- `git pull` = `git pull origin` — получить содержимое основного удаленного репозитория и влить изменения из удаленной ветки в соответствующую локальную ветку +- `git pull --ff-only` — получить содержимое, а затем влить, если возможен fast-forward merge +- `git pull --rebase` — получить содержимое и выполнить rebase локальной ветки на удаленную ветку +- `git pull --rebase --autostash` — сохранить локальные изменения, получить содержимое, выполнить rebase локальной ветки на удаленную ветку, применить сохраненные изменения +- `git config --global push.default simple` — задать simple-режим действий с upstream-связями при push. Это режим по умолчанию в Git 2.0 и выше \ No newline at end of file From 8fba870c0c54942a1d5f84a0ea33c245f7d163ed Mon Sep 17 00:00:00 2001 From: TimofeyShinkarenko Date: Thu, 24 Oct 2024 20:49:36 +0500 Subject: [PATCH 15/17] Add reset.md --- reset.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 reset.md diff --git a/reset.md b/reset.md new file mode 100644 index 00000000..fc362b6e --- /dev/null +++ b/reset.md @@ -0,0 +1,4 @@ +## A3. stash, reset, revert для управления изменениями +#### Изменения можно временно припрятать +#### Можно получить разницу между любыми коммитами +#### Коммит можно отменить другим коммитом \ No newline at end of file From dc5184a406b41a0ab02e205ffedec19af3b8a1fb Mon Sep 17 00:00:00 2001 From: TimofeyShinkarenko Date: Thu, 24 Oct 2024 20:55:23 +0500 Subject: [PATCH 16/17] Change reset.md --- reset.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/reset.md b/reset.md index fc362b6e..cf65667a 100644 --- a/reset.md +++ b/reset.md @@ -1,4 +1,12 @@ ## A3. stash, reset, revert для управления изменениями #### Изменения можно временно припрятать #### Можно получить разницу между любыми коммитами -#### Коммит можно отменить другим коммитом \ No newline at end of file +#### Коммит можно отменить другим коммитом +- `git stash` — сохранить все модифицированные файлы в виде набора изменений +- `git stash pop` — восстановить последний сохраненный набор изменений и удалить его из списка +- `git stash list` — показать список сохраненных наборов изменений +- `git reset --hard ` — переместить текущую ветку на ``, задать индекс и директорию согласно коммиту, устранив всю разницу +- `git reset --mixed ` — переместить текущую ветку на ``, задать индекс согласно коммиту, оставить разницу между исходным и новым состоянием в директории +- `git reset --soft ` — переместить текущую ветку на ``, не задавать индекс и директорию согласно коммиту, а оставить разницу между исходным и новым состоянием в индексе и директории +- `git reset --hard HEAD~1` — отменить последний коммит +- `git revert ` — создать коммит, отменяющий изменения из коммита \ No newline at end of file From 35b4c41e47a26deaee5ad593fa3126dd4dd2a615 Mon Sep 17 00:00:00 2001 From: TimofeyShinkarenko Date: Thu, 24 Oct 2024 20:58:46 +0500 Subject: [PATCH 17/17] Change reset.md again --- reset.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/reset.md b/reset.md index cf65667a..873e628e 100644 --- a/reset.md +++ b/reset.md @@ -9,4 +9,7 @@ - `git reset --mixed ` — переместить текущую ветку на ``, задать индекс согласно коммиту, оставить разницу между исходным и новым состоянием в директории - `git reset --soft ` — переместить текущую ветку на ``, не задавать индекс и директорию согласно коммиту, а оставить разницу между исходным и новым состоянием в индексе и директории - `git reset --hard HEAD~1` — отменить последний коммит -- `git revert ` — создать коммит, отменяющий изменения из коммита \ No newline at end of file +- `git revert ` — создать коммит, отменяющий изменения из коммита +- `git diff []` — вывести разницу между двумя коммитами +- `git diff --name-status []` — список измененных файлов +- `git difftool []` - вывести разницу с помощью difftool из настроек \ No newline at end of file