【问题标题】:Add tab completion for Git branches in Powershell在 Powershell 中为 Git 分支添加选项卡完成
【发布时间】:2011-04-04 22:38:10
【问题描述】:

在 Git 存储库中,是否可以将分支的选项卡补全添加到 Powershell?例如:

PS> git checkout maTAB

会导致

PS> git checkout master

【问题讨论】:

  • 我认为您不想使用 bash(我想是 Windows 上的 git bash)?您仍然可能希望将 git bash 补全作为 git 端的起点,以查看它用于获取可能补全列表的 git 命令。显然,选项卡完成自定义本身将完全不同......
  • @Jefromi,我不希望只为 git 打开一个单独的外壳(尽管它有时会咬我)。还是)感谢你的建议。我不知道这在 bash 中可用。
  • 不必为 git 单独处理一个 shell,试试这个:github.com/chriswalz/bit。注意我已经解决了这个问题,但它非常适合这个用例

标签: git powershell autocomplete


【解决方案1】:

为此,需要存在 PowerShell 的 git 提供程序。

快速搜索后,显然存在类似的东西,奇怪但恰当地命名为 posh-git:

http://github.com/dahlbyk/posh-git

一组 PowerShell 脚本 提供 Git/PowerShell 集成

  • Git 存储库提示:Git 存储库中的提示可以 显示当前分支和状态 文件(添加、修改、
    删除)内。
  • 制表符补全:为常用命令提供制表符补全 使用 git。例如。 git ch<tab> --> git checkout

用法

请参阅 profile.example.ps1 以了解您如何 可以集成tab补全 和/或 git prompt 变成你自己的 轮廓。你也可以选择是否 高级 git 命令显示在 选项卡扩展或仅简单/常见 命令。默认很简单。

【讨论】:

  • 我想我记得可以将必要的东西从 msysgit 添加到您的路径中,以便您可以从其他地方运行它?
  • @GabeMoothart 完成分支名称对我有用。自从您发表评论以来,也许他们已经增加了对此的支持。
  • POSH 这个名字有什么奇怪的? POSH 是 Powershell 的缩写
  • 旁注:(现在?)在官方 git 文档中引用了 post-git:git-scm.com/book/en/v2/…
【解决方案2】:

如果 posh-git 太多的话,我写了这个小 PS“宝石”。
只需将其放入您的 PowerShell profile 即可输入 co (带空格)并点击 Tab 以触发完成并在分支列表中循环:

function co
{
    param(
        [Parameter(Mandatory)]
        [ValidateNotNullOrEmpty()]
        [ArgumentCompleter({
            param($pCmd, $pParam, $pWord, $pAst, $pFakes)

            $branchList = (git branch --format='%(refname:short)')

            if ([string]::IsNullOrWhiteSpace($pWord)) {
                return $branchList;
            }

            $branchList | Select-String "$pWord"
        })]
        [string] $branch
    )

    git checkout $branch;
}

更新:重构为在空格后调用制表符完成时返回分支列表,并且没有部分字符串可以匹配。如果这只是一个分支,将返回“master”

作为奖励,你知道你可以从 shell 调用 TortoiseGit 吗?

function dif
{
    TortoiseGitProc.exe /command:repostatus
}

【讨论】:

    猜你喜欢
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 2023-03-11
    • 2013-08-24
    • 2023-03-13
    相关资源
    最近更新 更多