├── .editorconfig ├── README.md ├── cmdline ├── README.MD ├── file-system.md └── git │ ├── README.md │ ├── git.md │ └── github.md └── tools ├── README.md ├── cmder ├── README.md ├── cmder-hotkeys.md ├── cmder-set.md └── img │ └── cmder.jpg └── sb3 ├── README.md ├── img └── sb3.jpg ├── sb3-hotkeys.md └── sb3-set.md /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_size = 2 7 | indent_style = space 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # dev-helper 2 | 3 | Создан для экономии времени. Набор кратких сводок и инструкций. 4 | 5 | ------------------------------------------ 6 | 7 | ## Инструменты 8 | 9 | 1. [Sublime Text 3 - красивый и удобный редактор кода для начала пути](tools/sb3/) 10 | 2. [Cmder - приятная консоль для Windows](tools/cmder/) 11 | 12 | ------------------------------------------ 13 | 14 | ## Работаем через консоль 15 | 16 | 1. [Файловая система](cmdline/file-system.md) 17 | 2. [Git и GitHub](cmdline/git/) 18 | -------------------------------------------------------------------------------- /cmdline/README.MD: -------------------------------------------------------------------------------- 1 | # Работаем через консоль 2 | 3 | 1. [Файловая система](file-system.md) 4 | 2. [Git и GitHub](git/) 5 | -------------------------------------------------------------------------------- /cmdline/file-system.md: -------------------------------------------------------------------------------- 1 | # Основные консольные команды для работы с файловой системой 2 | 3 | ## Перемещение 4 | 5 | * `cd path/to/directory` - перейти в каталог `directory` 6 | 7 | * `ls` - показать содержимое каталога 8 | * `-a` - включая скрытые файлы 9 | * `-1` - вывести в столбик 10 | 11 | ------------------------------------------ 12 | 13 | ## Создание 14 | 15 | * `mkdir directory` - создать каталог `directory` 16 | * `touch style.scss` - создать файл `style.scss` 17 | 18 | ------------------------------------------ 19 | 20 | ## Копирование 21 | 22 | * `copy style.scss path/to/directory` - копировать `style.scss` в `directory` 23 | * `-r` - копирование каталога 24 | 25 | ------------------------------------------ 26 | 27 | ## Переименование/перемещение 28 | 29 | * `mv style.scss style.css` - переименовать файл `style.scss` в `style.css` 30 | * `mv style.scss path/to/directory` - переместить файл `style.scss` в `directory` 31 | 32 | ------------------------------------------ 33 | 34 | ## Удаление 35 | 36 | * `rm style.scss` - удалить файл `style.css` 37 | * `rm path/to/directory -rf` - удалить каталог `directory` 38 | -------------------------------------------------------------------------------- /cmdline/git/README.md: -------------------------------------------------------------------------------- 1 | ## Основные команды для работы с Git и GitHub через консоль 2 | 3 | 1. [Работаем с Git](git.md) 4 | 2. [Взаимодействие Git и GitHub](github.md) 5 | -------------------------------------------------------------------------------- /cmdline/git/git.md: -------------------------------------------------------------------------------- 1 | # Основные команды для работы с Git через консоль 2 | 3 | Для начала немного настроек (укажем имя и почту): 4 | 5 | 1. `git config --global user.name your-name` 6 | 2. `git config --global user.email your-email` 7 | 8 | ------------------------------------------- 9 | 10 | * `git init` - создать репозиторий 11 | * `git status` - показать состояние репозитория 12 | 13 | ------------------------------------------- 14 | 15 | ## Индексация изменений 16 | 17 | * `git add file-name` - проиндексировать изменения файла 18 | * `git add .` - проиндексировать все изменения 19 | 20 | * `git diff file-name` - показать изменения непроиндексированного файла 21 | * добавим `--staged`, если файл уже был проиндексирован 22 | 23 | ------------------------------------------- 24 | 25 | ### Поигрались с файлом, но изменения не понравились, как вернуть все обратно? 26 | 27 | * `git checkout file-name` - отменить изменения до состояния текущего коммита 28 | 29 | ------------------------------------------- 30 | 31 | ### Что делать, если случайно проиндексировали лишний файл? 32 | 33 | * `git reset HEAD file-name` - отменить индексацию файла 34 | 35 | ------------------------------------------- 36 | 37 | ## Коммиты 38 | 39 | * `git commit -m 'message'` - собственно сам коммит 40 | 41 | * `git log` - показать историю коммитов (здесь берем `hash`) до текущего (`q` - выйти из лога) 42 | * `--all` - все коммиты 43 | * `--oneline` - более удобный вывод (без автора и даты) 44 | * `--graph` - вывод схемой (удобно для веток) 45 | 46 | * `git show hash-commit` - показать изменения в hash-коммите 47 | 48 | ------------------------------------------- 49 | 50 | ### Что делать, если случайно закоммитили лишний файл? 51 | 52 | 1. `git rm --cached style.css ` - удалить файл из последнего коммита 53 | 2. `git commit --amend --no-edit` - изменить коммит 54 | 55 | ------------------------------------------- 56 | 57 | ### А если допустили ошибку в commit-message? 58 | 59 | * `git commit --amend -m 'message'` - изменить комментарий последнего коммита 60 | 61 | ------------------------------------------- 62 | 63 | ### Как вернуть состояние файла, как во-о-н в том коммите? 64 | 65 | * `git checkout hash-commit file-name` - откатить состояние файла до hash-коммита 66 | * уберем `file-name`, если хотим откатить весь репозиторий 67 | 68 | ------------------------------------------- 69 | 70 | ## Ветки 71 | 72 | * `git checkout -b branch-name` - создать ветку из текущего коммита 73 | * `git branch` - показать список веток 74 | 75 | ------------------------------------------- 76 | 77 | ### Эта ветка больше не нужна, как быть? 78 | 79 | * `git branch -d branch-name` - удалить ветку (нужно находиться в другой ветке) 80 | 81 | ------------------------------------------- 82 | 83 | ### Что делать, если ошиблись в названии ветки? 84 | 85 | * `git branch -m name` - переименовать текущую ветку 86 | 87 | ------------------------------------------- 88 | 89 | ### Как создать ветку не из текущего коммита, а вон из того? 90 | 91 | > Вчера начали изменения в дизайне, но вот появился еще один вариант, 92 | создать коммит из текущего не получится, ведь здесь уже внесены изменения... 93 | 94 | * `git checkout -b branch-name hash-commit` - создать ветку из коммита, где изменений еще не было 95 | 96 | ------------------------------------------- 97 | 98 | ### Что делать, если сделали изменения не в той ветке, но еще не закоммитили? 99 | 100 | 1. `git stash` - загрузить изменения в стек-грузовик 101 | 2. `git сheckout branch-name` - переехать в нужную ветку 102 | 3. `git stash apply` - выгрузить изменения 103 | 104 | ------------------------------------------- 105 | 106 | ### А что делать, если сделали изменения не в той ветке и уже закоммитили? 107 | 108 | 1. `git log` - скопировать hash этого коммита 109 | * hash коммита можно не копировать, если это был последний коммит в этой ветке 110 | 111 | 2. `git checkout branch-name` - перейти в нужную ветку 112 | 113 | 2. `git checkout cherry-pick hash-commit` - выгрузить коммит 114 | * и тогда достаточно указать имя ветки (вместо `hash-commit`), откуда его забрали 115 | 116 | ------------------------------------------- 117 | 118 | ### Как объединить ветку master с другой веткой? 119 | 120 | 1. `git checkout master` - переместиться в ветку `master` 121 | 2. `git merge branch-name -m 'massage'` - объединить текущую ветку с указанной 122 | -------------------------------------------------------------------------------- /cmdline/git/github.md: -------------------------------------------------------------------------------- 1 | # Взаимодействие Git и GitHub через консоль 2 | 3 | Для работы с **GitHub** нужно [зарегистрироваться](https://github.com) и привязать ssh-ключ. 4 | 5 | ------------------------------------------- 6 | 7 | ## Создание и привязка ssh-ключа 8 | 9 | 1. `cd ~/.ssh` - переходим в каталог `users/your-user-name/.ssh/` 10 | 11 | 2. `ssh-keygen -t rsa -b 4096 -C 'e-mail'` - генерируем ключи 12 | * вводим имя ключа 13 | * вводим пароль (можно пропустить) 14 | 15 | 3. В профиле **GitHub**: 16 | * переходим в `Settings > SSH and GPG keys` 17 | * нажимаем `New SSH Key` 18 | * вводим имя ключа и вставляем содержимое файла `.ssh/key-name.pub` 19 | 20 | 4. В папке `.shh` создаем файл `config` (без расширения) и вставляем: 21 | 22 | ``` 23 | Host github.com 24 | Identityfile ~/.ssh/key-name 25 | ``` 26 | 27 | Не перепутайте: `key-name.pub` - на **GitHub**, `key-name` (без `.pub`) - в `config`. 28 | 29 | ------------------------------------------- 30 | 31 | ## Основные команды для работы с GitHub 32 | 33 | * `git remote add origin ssh-address` - привязать локальный репозиторий к удаленному и назвать его `origin` 34 | * `git remote -v` - показать связь с удаленными репозиториями 35 | 36 | * `git clone ssh-address` - клонировать удаленный репозитрий 37 | 38 | * `git push origin master` - отправить текущую локальную ветку в ветку `master` репозитория `origin` 39 | * `git pull origin master` - получить изменения из ветки `master` репозитория `origin` 40 | 41 | ------------------------------------------- 42 | 43 | ### Примеры для прояснения разума 44 | 45 | 1. Находимся в ветке `branch-one`, хотим создать эту ветку в удаленном репозитории. 46 | 47 | * `git push origin branch-one` - отправить текущую локальную ветку в ветку `branch-one` 48 | 49 | ------------------------------------------- 50 | 51 | #### Не хочу каждый раз указывать путь, что делать? 52 | 53 | * `git push -u origin branch-one` - привязать текущую локальную ветку к удаленной `branch-one` 54 | * если нужно назвать удаленную ветку иначе, используйте `:` (например, `branch-one:branch-1`) 55 | * теперь можно использовать `git push` в ветке `branch-one` 56 | 57 | * `git branch -vv` - показать связь локальных и удаленных веток 58 | 59 | ------------------------------------------- 60 | 61 | 2. Находимся в ветке `master` и хотим получить ветку `branch-two`, у нас нет такой локальной ветки. 62 | * `git fetch origin` - получить изменения из удаленного репозитория `origin` 63 | * `git checkout branch-two` - гит создает нам локальную ветку, привязанную к удаленной 64 | 65 | ------------------------------------------- 66 | 67 | ### Работа со своим новым репозиторием 68 | 69 | Случай, когда удаленный репозиторий только создан. 70 | 71 | Здесь все просто, при создании репозитория (`Repositories > New`) **GitHub** сам подсказывает, что делать: 72 | 73 | 1. `gite remote add origin ssh-address` - установить связь с удаленным репозиторием 74 | 2. `git push -u origin master` - запушить коммиты в удаленный репозиторий 75 | * в следующий раз из локальной ветки `master` можно использовать просто `git push` 76 | 77 | ------------------------------------------- 78 | 79 | ### Работа со своим, уже созданным, репозиторием 80 | 81 | Случай, когда репозиторий был создан и уже ведется история. 82 | 83 | Например, вы хотите работать со своим репозиторием с другого компьютера. 84 | 85 | 1. `Clone or download > Clnoe with SSH` - скопировать ssh-адрес 86 | 2. `git clone ssh-address` - клонировать удаленный репозиторий 87 | 88 | ------------------------------------------- 89 | 90 | ### Работа с форком 91 | 92 | Случай, когда вы работаете с форком мастера-репозитория. 93 | 94 | Автоматически форк не синхронизируется с мастер-репозиторием. 95 | Сделаем это самостоятельно: 96 | 97 | 1. `Clone or download > Clnoe with SSH` - скопировать ssh-адрес мастер-репозитория (откуда был сделан форк) 98 | 2. `git clone ssh-address` - клонировать форк 99 | 3. `git remote add master-repos ssh-address` - установить связь с мастер-репозиторием и назвать его `master-repos` 100 | 4. `git pull master-repos master` - синхронизировать клон с веткой `master` мастер-репозитория 101 | 5. `git push` - отправить изменения в свой форк 102 | 103 | Теперь для получения изменений из мастер-репозитория будем использовать последние два пункта. 104 | 105 | ------------------------------------------- 106 | 107 | ### У нас конфликт, вызывать полицию? 108 | 109 | Конфликт возникает при неудачном автоматическом слиянии. 110 | 111 | Допустим, мы добавили `background-color: #000`, делаем пуш, а **Git** нам говорит, 112 | что изменения уже до вас кто-то сделал, сначала заберите их. 113 | Мы забираем изменения и понимаем, что кто-то тоже добавил цвет фона, но другой. 114 | 115 | ``` 116 | CONFLICT (content): Merge conflict in main.css 117 | Automatic merge failed; fix conflicts and then commit the result. 118 | ``` 119 | Что делать? 120 | 121 | 1. Открыть файл `main.css` 122 | 2. Решить конфликт самостоятельно 123 | -------------------------------------------------------------------------------- /tools/README.md: -------------------------------------------------------------------------------- 1 | # Инструменты 2 | 3 | 1. [Sublime Text 3 - красивый и удобный редактор кода](sb3/) 4 | 2. [Cmder - приятная консоль для Windows](cmder/) 5 | -------------------------------------------------------------------------------- /tools/cmder/README.md: -------------------------------------------------------------------------------- 1 | # Cmder - приятная консоль для Windows 2 | 3 | 1. [Настраиваем cmder](cmder-set.md) 4 | 2. [Полезные хоткеи](cmder-hotkeys.md) 5 | -------------------------------------------------------------------------------- /tools/cmder/cmder-hotkeys.md: -------------------------------------------------------------------------------- 1 | # Полезные хоткеи при работе с Cmder 2 | 3 | * `ctrl + ~` - открыть/свернуть консоль 4 | * `ctrl + l` - очистить консоль 5 | 6 | ------------------------------------------ 7 | 8 | * `ctrl + c` - прервать текущий процесс 9 | 10 | ------------------------------------------ 11 | 12 | * `ctrl + r` - поиск по истории команд 13 | * повторное нажатие совершает поиск похожих команд 14 | * `ctrl + j` - выйти из поиска, оставив последний вариант 15 | 16 | ------------------------------------------ 17 | 18 | * `alt + ←/→` - перемещение по словам 19 | * `ctrl + u` - удалить все от курсора до начала строки 20 | * `ctrl + k` - удалить все от курсора до конца строки 21 | -------------------------------------------------------------------------------- /tools/cmder/cmder-set.md: -------------------------------------------------------------------------------- 1 | ![cmder](img/cmder.jpg) 2 | 3 | # Настраиваем Cmder 4 | 5 | [Забираем](http://cmder.net) и устанавливаем консоль. 6 | 7 | ------------------------------------------ 8 | 9 | ## Bash при запуске 10 | 11 | `Show system menu > Settings > Startup`, из списка `Specified named task` выбираем `{bash::bash}`. 12 | 13 | ------------------------------------------ 14 | 15 | ## Папка при запуске 16 | 17 | `Show system menu > Settings > Startup > Tasks`, выбираем `{bash::bash}` и нажимаем `Startup dir`. 18 | 19 | ------------------------------------------ 20 | 21 | ## Кодировка для кириллицы 22 | `Show system menu > Settings > Startup > Environment` и добавляем в конец: 23 | 24 | ``` 25 | set LC_ALL=ru_RU.UTF-8 26 | set LANG=ru_RU.UTF-8 27 | ``` 28 | 29 | ------------------------------------------ 30 | 31 | ## Сплит экрана 32 | 33 | > В одной консоли запускаю сборщик, в другой работаю. 34 | 35 | Установим хоткей: 36 | 37 | `Show system menu > Settings > Startup > Keys & Macro` и находим `Split: Duplicate active ‘shell’ split to right`. 38 | 39 | ------------------------------------------ 40 | 41 | ## Наведем красоту 42 | 43 | Ведь в красивой консоли работать приятней. 44 | 45 | ------------------------------------------ 46 | 47 | ## Поменяем цвета 48 | 49 | `Show system menu > Settings > Features > Colors` 50 | 51 | Так-так, какие же цветам нам нужны... 52 | 53 | * **0** - цвет бэкграунда | `#282828` 54 | * **2** - цвет имени пользователя и ПК | `#7c7c7c` 55 | * **6/3** - цвет пути | `#8dd006` 56 | 57 | ------------------------------------------- 58 | 59 | ## Скроем Tab Bar 60 | 61 | 1. Назначим хоткей для его открытия: 62 | 63 | `Show system menu > Settings > Startup > Keys & Macro` и находим `Show tab bar`. 64 | 65 | 2. Теперь скроем: 66 | 67 | `Show system menu > Settings > General > Tab bar` и выбираем `Don't show`. 68 | 69 | ---------------------------------- 70 | 71 | ## Самое главное - поменяем λ на $ 72 | 73 | Ага, вот в этих файлах: 74 | 75 | ``` 76 | cmder\vendor\clink.lua 77 | cmder\vendor\profile.ps1 78 | cmder\vendor\git-for-windows\etc\profile.d\git-prompt.sh 79 | ``` 80 | -------------------------------------------------------------------------------- /tools/cmder/img/cmder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i1kazantsev/dev-helper/12ba1dd23e1cf214b9fe1dfc9f0d5d6f37c34400/tools/cmder/img/cmder.jpg -------------------------------------------------------------------------------- /tools/sb3/README.md: -------------------------------------------------------------------------------- 1 | # Sublime Text 3 - красивый и удобный редактор кода для начала пути 2 | 3 | 1. [Настраиваем Sublime Text 3](sb3-set.md) 4 | 2. [Полезные хоткеи](sb3-hotkeys.md) 5 | -------------------------------------------------------------------------------- /tools/sb3/img/sb3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i1kazantsev/dev-helper/12ba1dd23e1cf214b9fe1dfc9f0d5d6f37c34400/tools/sb3/img/sb3.jpg -------------------------------------------------------------------------------- /tools/sb3/sb3-hotkeys.md: -------------------------------------------------------------------------------- 1 | # Полезные хоткеи при работе с Sublime Text 3 2 | 3 | ## Выделение 4 | 5 | * `ctrl + shift + a` - выделить текст между тэгами 6 | * `ctrl + shift + m` - выделить текст между скобками 7 | * `ctrl + shift + space` - использую для выделения значений атрибутов 8 | 9 | * `ctrl + shift + ←/→` - выделить слово 10 | * `ctrl + l` - выделить строку 11 | * `ctrl + shift + j` - выделить строки с одинаковым отступом 12 | 13 | ------------------------------------------ 14 | 15 | ## Операции со словами 16 | 17 | * `ctrl + ←/→` - перемещение по словам 18 | * `ctrl + backspace/delete` - удалить слово до/после курсора 19 | 20 | ------------------------------------------ 21 | 22 | ## Операции со строками 23 | 24 | * `ctrl + shift + ↑/↓` - переместить строку 25 | * `ctrl + shift + d` - дублировать строку 26 | * `ctrl + shift + backspace/delete` - удалить строку до/после курсора 27 | 28 | ------------------------------------------ 29 | 30 | ## Пустая строка 31 | 32 | * `ctrl + shift + enter` - добавить пустую строку сверху 33 | * `ctrl + enter` - добавить пустую строку снизу 34 | 35 | ------------------------------------------ 36 | 37 | ## Верхний и нижний регистры 38 | 39 | * `ctrl + k, ctrl + u` - трансформировать в верхний регистр 40 | * `ctrl + k, ctrl + l` - трансформировать в нижний регистр 41 | 42 | ------------------------------------------ 43 | 44 | ## Отступ 45 | 46 | * `ctrl + ]/[` - добавить/убрать отступ 47 | 48 | ------------------------------------------ 49 | 50 | ## Поиск и замена 51 | 52 | * `ctrl + f` - поиск 53 | * `alt + enter` - найти и выделить все 54 | 55 | * `ctrl + h` - поиск и замена 56 | * `ctrl + shift + enter` - заменить все 57 | 58 | ------------------------------------------ 59 | 60 | ## Фолдинг 61 | 62 | * `ctrl + shift + [/]` - свернуть/развернуть код 63 | 64 | ------------------------------------------ 65 | 66 | ## Комментарии 67 | 68 | * `ctrl + /` - закомментировать/раскомментировать 69 | 70 | ------------------------------------------ 71 | 72 | ## Вкладки 73 | 74 | * `ctrl + n` - создать вкладку 75 | * `ctrl + w` - закрыть вкладку 76 | * `alt + 1-9` - выбрать вкладку 77 | 78 | ------------------------------------------ 79 | 80 | ## Сплит экрана 81 | 82 | * `alt + shift + 2` - сплит экрана (2 колонки) 83 | * `ctrl + 1-2` - выбрать окно 84 | * `ctrl + shift + 1-2` - переместить владку в другое окно 85 | 86 | -------------------------------------------------------------------------------- /tools/sb3/sb3-set.md: -------------------------------------------------------------------------------- 1 | ![cmder](img/sb3.jpg) 2 | 3 | # Настраиваем Sublime Text 3 4 | 5 | [Забираем](http://www.sublimetext.com/3) и устанавливаем редактор. 6 | 7 | ------------------------------------------ 8 | 9 | ## Package Control 10 | 11 | 1. Для установки пакетов устанавливаем установщик пакетов. Ага. 12 | 13 | * `ctrl + shift + p` и вводим `Install Package Control`. 14 | 15 | 2. Теперь для установки пакетов будем использовать: 16 | 17 | * `ctrl + shift + p > Package Control: Install Package`. 18 | 19 | 20 | ------------------------------------------ 21 | 22 | ### Минимум 23 | 24 | * **Emmet** - допинг в скорости написания кода 25 | * **Sass** или **Less** - добавляем синтаксис препроцессоров 26 | * **EditorConfig** - учит редактор понимать `.editorconfig` 27 | * **BufferScroll** - запоминает положение курсора 28 | 29 | Последний плагин в установщике не найдем, поэтому будем ставить вручную. 30 | 31 | 1. [Забираем с GitHub](https://github.com/titoBouzout/BufferScroll) (нажимаем `Clone or download > Download ZIP`). 32 | 2. В **меню** Sublime Text 3 переходим в `Preferences > Browse Packages`. 33 | 3. Распаковываем скаченный архив. 34 | 35 | ------------------------------------------ 36 | 37 | ### Наведем красоту 38 | 39 | * **Material Theme** - совсем другое дело 40 | * тема не будет работать после установки, включим ее позже 41 | 42 | * **A File Icon** - пак иконок для сайдбара 43 | 44 | ------------------------------------------ 45 | 46 | ## Финальные настройки 47 | 48 | `Preferences > Settings`, в правой колонке `User` вставляем [текст](https://gist.github.com/ivan1kazantsev/a9d9936b9023e979ce75c4cae94e65bb). 49 | 50 | ------------------------------------------ 51 | 52 | Также можно посмотреть другие варианты **Material Theme**: 53 | 54 | `Preferences > Package Settings > Material Theme > Active` 55 | --------------------------------------------------------------------------------