如何将Sublime Text与GitHub集成?

31

我认为如果ST有一个插件可以将仓库与GitHub账户上的仓库同步,那就太完美了,但是我找不到这样的东西。

有Github Tools和sublime-github,但它们没有提供commitpush命令。

我总是可以使用GitHub的应用程序进行同步,但插件更方便,因为它可以分配给ST的热键。


一个简单的网络搜索“sublime text git插件”会显示出几个选项。这些选项中有什么问题吗? - Chris
1
看起来我误解了 - 实际上,我可以在 Git 中设置我的帐户并使用名为“git”的 ST 插件,GitHub 应用程序并不是必需的。 - van_folmert
3
GitHub是一个商业服务(以及一系列可选应用程序),它建立在名为Git的开源程序之上。通常情况下,标准的Git工具可以与GitHub配合使用。但是,可能需要使用GitHub特定的工具才能与其wiki和问题跟踪器等特定功能交互。 - Chris
6个回答

34

众多的git插件可以通过Package Control获得,所以您只需要浏览它们,阅读README并决定是否要尝试。我使用SideBarGit(以及SideBarEnhancements),它允许您在项目中右键单击文件并访问整个一系列与git相关的任务,从Add&Commit&PushBranchCloneDiff等等。另一个流行的工具是Git,它提供了与SideBarGit基本相同的选项,只不过在Tools菜单中。

SublimeGit是一个免费试用的、需要支付10欧元才能购买的商业插件(可通过Package Control获得),看起来功能非常齐全,可以完成与git相关的几乎所有任务。它包括许多语法定义,用于编辑提交消息、查看差异、比较分支等,并且据其受欢迎程度(它是Package Control的前100名之一),很多人似乎喜欢使用它。然而,它不是开源的,并且需要额外花费金钱才能长期使用。

任何这些工具都可以与Github、Bitbucket或任何使用git协议的公共或私有仓库一起使用。试用它们,看看哪个适合您。


1
看起来 SideBarGit 已经死了。你有找到更好的东西吗,@MattDMo? - gooddadmike
6
@getthemike,这个插件不是已经停用了,只是在Package Control上不再提供下载。你需要从Github手动安装它。据我所知,它被从PC中移除是因为作者是一个小气的抱怨者,不喜欢PC的版本管理规则,所以他背弃了成千上万的用户(他写了很多受欢迎的插件),将它们从PC中移除,这意味着它们将不再自动更新-你必须自己关注每个仓库的更新。 - MattDMo

12

2019年3月13日 - SublimeMerge发布

您可以使用由同一团队创建的SublimeMerge,他们编写了SublimeText - 因此您可以期待与SublimeText的兼容性和更新。

SublimeText版本3.2具有Git集成作为新功能。以下是来自changelog的一些细节:

  • 侧边栏中的文件和文件夹将显示徽章以指示Git状态
  • 忽略的文件和文件夹会被视觉上淡化
  • 当前Git分支和修改数量显示在状态栏中
  • 添加了命令以在Sublime Merge中打开存储库,查看文件或文件夹历史记录或责备文件
  • 主题可以自定义侧边栏徽章和状态栏信息的显示
  • 设置show_git_status允许禁用Git集成
  • 所有文件读取都通过为Sublime Merge编写的自定义高性能Git库完成
  • 阅读文档

1
All you need are the extensions 'Git', 'Git Gutter', and 'Sublimerge'
'Git:'我使用它来打开git gui并在Sublime Text中执行所有其他git操作。
'Git Gutter'我使用它来显示当前工作文件上还未提交的新更改。
'Sublimerge'我使用它来比较当前工作文件与同一文件的任何先前修订。

0
除了使用上面提到的Sublime Merge,你现在还可以直接使用git difftool调用它。
随着Git 2.22(2019年第二季度)的推出,这将变得更加容易,因为配置将由系统自动完成,并且"git mergetool"已经学会将Sublime Merge (smerge)作为其后端之一。
正如SublimeTextIssues/Merge issue 19中所述:
用法:
git config --global merge.tool smerge 

然后只需使用git mergetoolgit difftool命令。

请参见提交f57b2ae提交eb12adc(2019年4月4日),作者为David Aguilar(davvid
(由Junio C Hamano -- gitster --提交5116eab中合并,2019年4月22日)

mergetools: 添加对smerge(Sublime Merge)的支持

difftoolmergetool如何使用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
}

再次强调:配置已经为您完成。


0

你看到这个问题了吗?“有Github工具和sublime-github,但它们不提供提交或推送命令。”我很惊讶这个答案还在这里,并且被编辑过。 - dlewin

0

复制 Github 存储库的链接并将其粘贴到 URL 中。

如果没有反应/出现错误,请从您的计算机凭据管理器中删除密码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接