1 2 | |
Столько символов я использовал, набирая различные команды в консоли.
Не знаю как вам, а я думаю, это много. Даже если учесть, что половину из этого занимают пути к файлам и части, дополненные автокомплитом, это все равно много. Статистика взята примерно за 4 месяца, и если выкинуть выходные и прикинуть, получается около 6000 знаков в день. Пара страниц формата А4. Большая часть этого труда – это рутинные команды или последовательности типичных действий.
Как ни странно, но это одна из немногих ситуаций в жизни, когда можно делать минимум, а результата получать максимум.
Помогут в этом знания полезных программ, приготовленные в функции и автодополнения, поданные под нужным соусом из псевдонимов. Но путь ленивых и быстрых не для новичков. Существует опасность получить «алиас головного мозга» или «расстройство отсутствия плагина», совершено забыв о том, что где-то в недрах вашего блюда есть то, что имеет совершенно другую начинку.
Погружение на темную сторону можно разделить на несколько частей. Согласно сложности реализации и абстрагированности от реальной жизни.
Git
Не секрет, что git обладает продвинутым и гибким интерфейсом командной строки, но эта
гибкость достигается дорогой ценой, а именно многословностью. В результате для
выполнения некоторых простых действий требуется вводить немалое количество слов в
командной строке.
На этапе знакомства с системой это даже хорошо, помогает вникнуть. Но в повседневной работе набирать раз за разом небольшой эпос в командной строке, когда, например, нужно посмотреть только diff определенного коммита, тяжело.
Полезные опции
Эти мелочи могут выручить всегда, даже если вашего dotfiles не будет рядом.
git log --oneline — Вывести лог в одну строку.
git add -u — Добавить в stage все, кроме файлов, находящихся вне git.
git status -s — Прагматичный статус без лишней информации.
git branch --merged — Ветки слитые в текущую.
git branch --no-merged — Ветки не слитые в текущую.
Базовые сокращения
1 2 3 4 5 6 7 8 9 10 | |
Diff
Изменения, приготовленные к коммиту (staged)
1
| |
Изменения в последнем коммите
1
| |
Изменения в определенном коммите (git dr dcee010)
1
| |
Push / Pull
Применение изменений из векти так, чтобы все наши коммиты шли после
1
| |
Отправление только текущей ветки
1
| |
Коммит
Отмена последнего коммита с сохранением состояния stage
1
| |
Добавить все файлы в stage к последнему коммиту, не котрывая редактор с сообщением
1
| |
Определить нахождение коммита
1
| |
Красивый лог
1 2 3 | |