Как интегрировать Sublime Text с GitHub?
Я подумал, что было бы идеально, если бы у ST был бы плагин для синхронизации репо с учетной записью GitHub, но я не могу найти такую вещь.
Есть инструменты Github и возвышенный-github, но они не предоставляют команды commit
или push
.
Я всегда могу использовать приложение GitHub для синхронизации, но плагин более удобен, так как он может быть назначен горячим клавишам ST.
Ответы
Ответ 1
Есть многочисленные git
плагины, доступные через Управление пакетами, поэтому все, что вам нужно сделать, это просмотрите их, прочитайте README и решите, хотите ли вы попробовать. Я использую SideBarGit
(наряду с SideBarEnhancements
), что позволяет щелкнуть правой кнопкой мыши по файл в вашем проекте и получить доступ ко всему массиву git
-связанных задач, от Add & Commit & Push
до Branch
до Clone
до Diff
и т.д. Другим популярным инструментом является git
, который предоставляет по существу те же параметры, что и SideBarGit
, вместо этого в меню Tools
.
SublimeGit
- это бесплатный инструмент для покупки коммерческого плагина (доступный через Control Package), который выглядит очень полно, что позволяет вы должны сделать что угодно, связанное с git. Он включает в себя ряд определений синтаксиса для редактирования сообщений фиксации, просмотра различий, сравнения ветвей и т.д., И, судя по его популярности (это один из Top 100 в Control Package), многим кажется, что это нравится. Но, это не open-source, и стоит лишних денег, чтобы использовать долгосрочные.
Любой из них будет работать с Github, Bitbucket или любым другим публичным или частным репо, использующим протокол git
. Попробуйте их и посмотрите, что сработает для вас.
Ответ 2
13 марта 2019 года - SublimeMerge был выпущен
Вы можете использовать SublimeMerge, который был создан теми же людьми, которые написали SublimeText - так что вы можете ожидать совместимости и обновлений, пока SublimeText так же популярен, как и он.
SublimeText версии 3.2 имеет GitIntegration в качестве новой функции. Вот некоторые подробности из журнала изменений:
- Файлы и папки на боковой панели теперь будут отображать значки, указывающие на состояние Git
- Игнорируемые файлы и папки визуально снимаются
- Текущая ветка Git и количество модификаций отображаются в строке состояния.
- Добавлены команды для открытия репозитория, просмотра истории файлов или папок или обвинения файла в Sublime Merge.
- Темы могут настраивать отображение значков боковой панели и информации в строке состояния
- Параметр show_git_status позволяет отключить интеграцию с Git.
- Все операции чтения файлов выполняются с помощью специальной высокопроизводительной библиотеки Git, написанной для Sublime Merge.
- Читать документацию
Ответ 3
Все, что вам нужно, это расширения Git ',' Git Gutter 'и Sublimerge'
Git: Я использую его для открытия git gui и выполняю все остальные операции git прямо внутри Sublime Text.
Git Gutter Я использую это, чтобы отображать новые изменения, которые еще не зафиксированы в текущем рабочем файле.
Sublimerge Я использую это для сравнения текущего рабочего файла с любыми предыдущими версиями одного и того же файла
Ответ 4
Через Управление пакетами вы можете установить sublime-github.
Это просто и прекрасно работает для меня.
Ответ 5
Помимо использования Sublime Merge, упомянутого выше, вы можете вызывать его напрямую с помощью git difftool
.
С Git 2.22 (Q2 2019) это будет проще, поскольку конфигурация будет выполнена за вас, и " git mergetool
" научился предлагать Sublime Merge (smerge
) в качестве одного из своих бэкэндов.
Как прокомментировано в SublimeTextIssues/Merge, выпуск 19:
Использование:
git config --global merge.tool smerge
а затем просто git mergetool
или git difftool
.
Смотрите коммит f57b2ae, коммит eb12adc (04 апреля 2019) Дэвида Агилара (davvid
).
(Объединено Junio C Hamano - gitster
- в коммите 5116eab, 22 апреля 2019 г.)
mergetools
: добавлена поддержка smerge
(Sublime Merge)
Научите difftool
и mergetool
команде Sublime Merge " smerge
".
В Git теперь есть файл mergetools/smerge
с:
diff_cmd () {
"$merge_tool_path" mergetool "$LOCAL" "$REMOTE" -o "$MERGED"
}
merge_cmd () {
if $base_present
then
"$merge_tool_path" mergetool "$BASE" "$LOCAL" "$REMOTE" -o "$MERGED"
else
"$merge_tool_path" mergetool "$LOCAL" "$REMOTE" -o "$MERGED"
fi
}
Опять же: конфигурация сделана для вас.