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 |
|