Visual Studio 2017 通过 SSH 支持 Git

阅读数:3412 2017 年 3 月 31 日

话题:.NETGit语言 & 开发

在大多数开发人员的工具包中,Git 的重要性在不断提升,说它是一项必备技能也不为过,所以对于任意一款现代化的 IDE 来说,能够使用 Git 多样化的功能都是其重要的组成部分。在 Visual Studio 2017 中,微软已经在其 UI 界面中扩展了开发人员可用的 Git 功能数量,使得开发人员不必在命令行中使用 Git。

VS2017 的新增功能中包括 Git 客户端的 SSH 支持。微软的 Kayla Ngan提到,这可能归功于 VS2017 切换到 git.exe 来提供 Git 支持。之前 Visual Studio 对 Git 的支持需要在托管仓库服务器上配置 https,限制了可访问性。然而 SSH 支持仍然不是完整的,开发人员无法从 IDE 中通过 SSH 克隆仓库,必须从 Visual Studio 的开发人员命令行(Developer Command Prompt)克隆仓库,然后根据需要执行推送(push)/ 拉取(pull)等命令。 Ngan 说,在 IDE 中克隆仓库的功能会在未来的更新中添加(注意这会影响通过 https 克隆 Git 仓库)。

另一个新增 Git 功能是在 Git 的全局设置(Global Settings)中(在 Team Explorer 下),有一个可以添加 push --force-with-lease 功能的新选项,这个功能是在执行推送之前提醒你,推送操作可能会覆盖其他人的工作(这是因为上游分支发生了变更)。这个警告不会阻止推送操作,而是提供机会确认这是你操作的意图。

在 VS2017 中查看和比较版本差异(diffs)更容易。从“同步(Sync)”页面可以看到尚未推送的提交(outgoing commits)汇总。此外还可以查看本地仓库的历史提交记录,通过“比较提交(Compare Commits)”的上下文菜单选项比较两个不同的版本差异(diffs)。

还有一些需要的 Git 功能仍然在未来的路线图上,包括:

  • 标签推送到远程服务器
  • Fetch --prune
  • Pull --rebase

在用户使用 VS2017 的当前工作流程中,一个频繁报告的错误消息是“数组索引越界”。据用户 Rain 反馈,解决方案是在执行拉取请求之前提交更改 - 而另一个用户 Tony 表示这个错误恰巧发生在他无法做推送操作时。

如果对 VS2017 和 Git 的更多信息感兴趣,可以参考 Microsoft 的快速入门指南,其中包括使用以前版本的 Visual Studio 的指南。

查看英文原文Visual Studio 2017 Now Supports Git via SSH


感谢张卫滨对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。