Как стать автором
Обновить

Комментарии 42

> Просто попробуйте поработать с git таким способом, и вы увидите, как много времени можно сэкономить.
Вы не поверите сколько времени можно сэкономить если воспользоваться SourceTree или аналогичными инструментами.
Не не не. Там мышкой двигаь надо…
Под мак есть Git Tower — лучше GUI для git нет.

Конечно все можно делать и в консоли, но вот разрешение конфликтов, или например git flow — удобнее в GUI
Цена конская у этого Tower, 60 баксов за Git-клиент? Тот же SourceTree покрывает большую часть потребностей, если нужно визуально что-то делать
Цена конская, но он стоит того если конечно вы делаете 20-30 коммитов в день, ведете десяток репозиториев и мерджите ветки других разработчиков в основную. SourceTree бесплатен, но гораздо менее удобен.
Разница в куче всяких интерфейсных мелочей.

Да и Sublime Text тоже не бесплатен, за хорошие инструменты приятно заплатить, если они заметно облегчают ежедневную работу. А для ведения одного репозитория с личным проектом — только командная строка, безусловно!

Возможно и есть удобные мелочи, кто же спорит. А вообще у меня много репозиториев, в некоторых по 5-10 веток, ежедневно по 20-30 коммитов вполне. Не поверите, но командную строку использую крайне редко, а мерджить приходится по 20 раз в день ;)
НЛО прилетело и опубликовало эту надпись здесь
А чем SourceTree не подходит?
Почти у всех моих знакомых тормозит push, на порядок дольше, чем из консоли.
По умолчанию SourceTree пушит все ветки, что замедляет и создает неудобства если другие ветки отстали. Если переключить на пуш текущей то все довольно шустро.

Хотя мне после недавних изменений тоже некомфортно немного.
Пользую консоль и горя не знаю. Разрешение конфликтов делаю через встроенный в PHP Storm компонент для работы с системами контроля версий.
SourceTree штука замечательная. Но увы под Linux отсутствует. Только Win/Mac.
А для Sublime еще порекомендую GitGutter
Скрытый текст
image

Спасибо за ценный совет!
Для линукса есть SmartGit
Для коммерческих целей тулза платная.
Я ждал именно этот плагин в статье.
Иногда хочется более гибкой работы со всем git CLI, причем не выходя из редактора. Я по такой причине перешел недавно на Emacs :-)
На самом деле, тупиковый путь. Основной минус интеграции git в sublime text заключается в отсутсвии в сублайме возможности связывать команды в цепочки. Если проект большой, то git достаточно много времени тратит на коммит (особенно если где-нибудь в хуках висит скрипт, проверяющий стиль кода). Гораздо оптимальнее — писать маленькие функции-хелперы в .bashrc. и вызывать их.

Реальный пример:

gcommit "$(current-task): Fix compilation." && gfetch && grebase origin/master && gforce-push origin $(current-branch) && gcheckout -f origin/master -B wp/PROJECTNAME-23240/1 && rebuild


Набрав такую команду можно пойти налить чаю и вернуться к тому моменту, когда все закончится.

Под капотом
~/.bashrc:
function gcommit { git commit -a -m $@; }
function gfetch { git fetch $@; }
function grebase { git rebase $@; }
function gforce-push { gpush -f $@; }
function gpush { git push $@; }
function gcheckout { git checkout $@; }

current-branch { git rev-parse --abbrev-ref HEAD; }
current-task { current-branch | sed -E 's%^.*/(.*)/.*$%\1%'; }

function rebuild {
# специфична для способа сборки проекта
}


Это же неудобно жутко. В чем сложность переключиться на окно терминала и воспользоваться всем возможным функционалом и мощностью?
Одно из преимуществ командной строки Sublime перед терминалом — это поддержка автокомплита.

В ZSH есть автокомплит git
В bash тоже работает автокомплит для гита
А в oh-my-zsh есть плагин для гита.

gup -> git pull --rebase (git update)
gp -> git push
gca -> git commit -v -a

Полный список
Одно из преимуществ командной строки Sublime перед терминалом — это поддержка автокомплита.

А чем плохи алиасы из нескольких букв в командной строке?
Самый лучше GUI для работы с гитом под Linux это… Intellij Idea. Сам пользуюсь Sublime Text, Idea стоит для работы с Git для разрешения конфликтов, просмотра истории и т.д.
Я вот тоже заметил, что для выполнения стандартных простых действий типа commit/push/pull мне вполне хватает Idea (особенно учитывая удобный просмотр диффов тут же в IDE). Ну а если нужно сделать сквош, черри-пикнуть коммит из другого репозитория или еще что-нибудь в таком духе, то тут уже лучше терминала все равно ничего не придумаешь.
Также есть полезный плагин для подсветки изменений с последнего коммита (показывает при сохранении) — github.com/gornostal/Modific
Странно, что не был упомянут проект SublimeGit.
Пользовался подобной вещью для ST, только названия не помню, может даже именно этот плагин, кстати, очень похож. Неудобства появляются когда у вас не один проект в дереве, а несколько и когда вам недостаточно простого add/pull/commit/push, а нужен ещё и git flow… В итоге вернулся к терминалу.

А в целом по статье: такую статью можно написать про каждый плагин, а их там туева хуча. Любой кто задумывался над вопросом интеграции ST и git, может легко найти нужный плагин или группу плагинов, почитать readme.md на гитхабе и попробовать его в деле. Не вижу смысла в целой статье, хотя тут и есть симпатичные скриншоты.
Не в обиду автору, можно было выбрать для перевода что-то более значимое, ибо в этой статье и переводить особо ничего не нужно, да и все показано на картинках.
Добавлю, что существует еще коммерческий плагин sublimegit.net, для же себя выбрал SourceTree или, в некоторых случаях, просто Терминал.
попробуйте magit, он намного проще и быстрее. Не нужно постоянно искать команды в меню.
НЛО прилетело и опубликовало эту надпись здесь
Тут мышкой надо тыкать? Удобнее и быстрее?
Там забиваются хоткеи в настройках для следующего:
  • открыть панель плагина
  • коммит текущего файла
  • коммит всех файлов
  • окно терминала с открытым путем к репозиторию
  • пуш
  • пул
  • назад-вперед по изменениям
Отличная статья!
В zsh еще круче.

Но я подозреваю, что имелось ввиду, что автокомплит в Sublime все-таки fuzzy.

И хоть в том-же zsh есть коррекция ошибок, все-равно с fuzzy-поиском это не сравнится.
Если надо что-то по-быстрому закоммитить, использую SublimeGit. Для более сложных случаев — SourceTree.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации