问题标签 [posh-git]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
102 浏览

git - posh-git shows long branch-name

I love git in my windows pwershell using posh-git. For a long time my shell used to look like this:

But now I updated from git 1.8.x to 1.9.4.msysgit.0 and the output changed:

I love changes but this is too much and too long. How can I change the behaviour to my favourite old one?

0 投票
1 回答
1661 浏览

git - 如何使用 powershell 和批处理文件从实时网站自动推送到 GitHub 分支

我有一个实时网站(通过 Windows Server 2008 R2 上的 IIS 提供服务)和该服务器上的 github 存储库。我在一个小型开发团队(3 人)工作,我们希望每天晚上自动拥有我们的实时网站:

  1. 从 IIS 托管文件夹复制到我们的本地存储库(在同一台服务器上)
  2. 查看“NightlyPush”分支
  3. 在新更新的 repo 中添加所有文件(因此此时它与 Prod 匹配)
  4. 提交 repo 中的所有文件
  5. 执行(强制)推送以更新 GitHub。

这样我们就有了一个只有开发人员手动操作的主分支,但是“NightlyPush”分支将拥有前一天晚上我们网站的最新版本。这样我们可以确保 master 永远是稳定的,但是 NightlyPush 是一个很好的备份,如果我们遇到麻烦或需要查看过去的代码,我们可以随时使用它。

我在 Powershell 中编写了一个脚本来处理所有这些,当我从 Git Shell(posh-git) 提示符手动运行它时它运行良好,但是通过批处理文件自动化它不起作用。如果我从 PowerShell(非 Git 之一)运行我的脚本,它不会识别任何 Git 命令......所以我想我可以通过 Git Shell 使用相同的语法运行它:

这将打开 Git Shell,但它只是在那里闪烁,就好像我没有将要执行的脚本传递给它一样。如果我手动将路径粘贴到提示符中并按回车 - 一切正常。

**注意:这是我第一次涉足 GitHub、Powershell 和批处理文件,我可能会遗漏一些愚蠢/明显的东西。如果是这样的话,只要有人能帮我解决这个问题,我就会接受这种羞辱!

0 投票
1 回答
1312 浏览

git - 发出 git log 命令时 PowerShell 挂起

我已经安装了 poshgit 并使用 PowerShell 来运行 git 命令。它工作得很好,除了当我发出 git log 命令时,我看到以下奇怪的行为:

该命令返回部分日志,我必须继续按 Enter 键才能显示日志的其余部分。当它到达第一次提交时,它会说 END,但不返回提示。如果我一直按 Enter 键,每次我按 Enter 键时,它都会在新行上不断地向我抛出 END。

我希望 git log 返回日志,然后返回命令提示符,以便我可以发出进一步的 git 命令。或者,如果您可以告诉我如何强制 Powershell 将我带到命令提示符,那也可以。目前,每次发出 git log 时,我都必须杀死 Powershell,才能再次获得提示。

我在 Windows 8 上。

0 投票
1 回答
232 浏览

powershell - Git Shell 忽略我的 powershell 配置文件中的自定义提示

我的 PowerShell 配置文件自定义提示和背景颜色。

当我打开 PowerShell 时,两种自定义都起作用:

当我打开 Git Shell 时,只有背景颜色自定义有效 背景是红色的,但提示不短。

...然后,如果我运行. $profile以显式导入我的个人资料,则整个定制确实有效。

如何让 Git Shell 更改提示而无需显式导入我的个人资料?

编辑

# 1

运行$profile | select *结果

#2

运行 . $profile确实会覆盖 Posh Gits 配置文件。这就是我想要的——现在我需要确定如何在不需要运行的情况下进行操作 . $profile

0 投票
0 回答
1154 浏览

windows - git ssh 代理正在运行,但没有保存我的用户名或密码

最初设定

我正在使用 Posh-Git,并遵循了Phil Haack 的使用 SSH 的建议。也就是说,我做了以下事情:

  1. 安装 msysgit。
  2. 更新 Posh-Git
  3. 将 ssh-agent 添加到 PATH。

初始测试

现在,当我启动 Powershell 时,ssh-agent 确实启动了。这很好。如果我运行,Get-Proces我可以看到它:

但是,当它启动时,它不会询问我的用户名和密码。情况不妙。

此外,在单个 PowerShell 会话期间,git 反复询问我的用户名和密码,并且永远不会记住它。

查找我的 SSH 密钥

我的 SSH 密钥位于 中C:\Users\<my-user>\.ssh,我可以在其中看到两个文件:

我已经跑了ssh-add "C:\Users\<my-user>\.ssh\github_rsa"

代理仍然不记得我的凭据。

使用 Git Shell 进行测试

msysgit 带有 Git Shell,当我运行它时,身份验证就完美地通过了。从来没有要求我输入用户名和密码。

我在这里查看了配置 Git over SSH 登录一次的答案,建议检查我们使用的是 https 还是 ssh 协议。

在我的 Git Shell 和正常的 Windows PowerShell 提示符下,存储库都使用 HTTPS。

0 投票
2 回答
1717 浏览

git - Posh Git 不会在提示时显示状态或颜色

我在 Windows 7 上,安装了 git,然后安装了 posh-git(从 powershell 运行 git),没有错误。我现在可以从 powershell 输入像“git init”和“git status”这样的 git 命令,并且 posh-git 的选项卡完成在我的 powershell 中工作,所以我相信意味着 posh-git 已成功安装。

但是,根据 posh-git 文档,我的 powershell 提示现在应该提供带有颜色的“git status”信息(例如当我的目录有 .git 文件时 [master]),但它没有。我运行了 $GitPromptSettings(我在 posh-git 的 github 自述文件中找到),但“EnablePromptStatus”为 True,而且我在 GitPromptSettings 中看不到任何其他选项,看起来我应该更改以启用提示状态。

我在 powershell 中的当前目录中有一个 .git 文件夹,来自我在 powershell 中输入的“git init”命令,所以我无法弄清楚为什么 posh-git 的 PromptStatus 功能没有反映在我的 powershell 提示符中。

0 投票
1 回答
113 浏览

git - 没有为某些本地存储库设置 posh-git 颜色

我有两个使用 posh-git 的本地存储库,在其中一个中,分支颜色根据posh-git 自述文件正确显示:

  • 青色表示分支匹配其远程
  • 绿色表示分支在其远程之前(绿灯推动)
  • 红色表示分支在其遥控器后面
  • 黄色表示分支在其遥控器的前面和后面

但在我的另一个仓库中,无论本地与远程的状态如何,分支始终为青色。

在这两者之间,我在$GitPromptSettingsand上运行了一个差异git config -l,并且都没有显示任何与颜色相关的差异(只有远程来源、一些分支名称,其中一个有一些 gitflow 设置)。

如果有什么不同的话,这两者也来自两个独立的 GitHub 私有(组织)存储库。

什么可能导致这种情况,或者我还能做些什么来排除故障?

0 投票
3 回答
1887 浏览

git - git blame 使用 -L 引发错误的修订错误选项

其中一个git blame选项处理行范围。手册说:

-L 仅处理行范围 n,m,从 1 开始计数

现在,我有一个超过 100 行的文件。当我运行时git blame -L 5,15 myFile.txt,git 抱怨:

致命:错误的修订版“15”

有趣的是,当我运行 git 时,它不会抱怨git blame -L 5 myFile.txt

这是怎么回事?

0 投票
1 回答
228 浏览

powershell - 如何在 PowerShell 函数中使用 posh-git 检查 repo 状态?

我们有一个 psake 编排,在调用“git clean -xdf”之前提示用户以下消息:

即将删除所有未跟踪的文件。按“Y”继续或任何其他键取消。

我们想显示这个提示当存储库中存在将通过运行 clean -xdf 删除的未跟踪文件时,

关于如何使用 posh-git 来回答“存储库中是否有任何未跟踪的更改”的问题的任何建议?来自 PowerShell?

这是现有的编排,供参考...

0 投票
1 回答
6666 浏览

powershell - 术语“Install-Module”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称

安装 posh-git - 见这里https://github.com/dahlbyk/posh-git

如果我刚刚安装了 PsGet 安装然后运行:

工作正常。

但是,如果我关闭并重新启动 Powershell,那么我会得到:

当我尝试运行它时。

知道为什么吗?