我正在尝试在 Windows 10 上安装 Git,但没有 Git Bash 或 GUI。我想在 PowerShell 中使用 Git,我不想让我的电脑膨胀。我知道安装大小很小,但这不是问题。
我已经尝试通过 Windows 的 git-SMC/Git 安装程序几次,但似乎我无法选择退出 GUI 和 Bash。知道我该怎么做吗?也许巧克力有什么用?
提前致谢!
使用 GfW 我意外地创建了一个名称以 开头的分支<U+0096>
,这似乎是一个 unicode 控制字符。
$ git branch
features/#72_some_branch
* features/#73_another_branch
master
<U+0096>features/#73_another_branch
Run Code Online (Sandbox Code Playgroud)
现在,为了纠正这个错误,我需要知道如何在 git bash 中转义它。我尝试使用众所周知的 Alt+Num 组合键,但这不起作用。
在一台新机器上,我安装了 Git for Windows 2.37.1.windows.1,其中还安装了 Git Credential Manager Core 2.0.785+6074e4e3d3。我创建了一个Bitbucket 应用程序密码。然后我尝试使用例如访问我的 Bitbucket 帐户上的私人存储库git pull
。
Git 弹出了 Bitbucket 的身份验证对话框。它有两个选项:使用浏览器进行身份验证,或使用密码进行身份验证。我首先尝试了密码选项。我使用了 Bitbucket 用户名和新创建的应用程序密码。我能够访问存储库。
但是当我尝试完全相同的命令时,它再次弹出身份验证对话框。我一遍又一遍地执行这些步骤。每次它都允许我访问存储库,但似乎凭证没有被保存。
我在 Windows 中打开凭据管理器并看到git:https://bitbucket.org
.
我尝试再次访问存储库,但这次我选择了使用浏览器进行身份验证的选项。它将我发送到某个网页,并且由于我已经登录了 Bitbucket 站点,因此它说我已通过身份验证。我能够访问存储库。现在我每次都可以访问存储库而无需身份验证对话框。
请注意,如果我创建GitHub 个人访问令牌并在身份验证对话框中输入它,Git 似乎会保存它,因此我不需要每次都输入它。
为什么 Bitbucket 不存储我的凭据?为什么它要求我通过浏览器进行身份验证?如果我被迫通过浏览器进行身份验证,那么拥有应用程序密码有什么意义?这个具体场景记录在哪里?
更新使用浏览器进行身份验证(Windows 版 Git 中“连接到 Bitbucket”身份验证对话框中的两个选项之一)后,我能够继续使用 Git,而无需在 Windows 10 命令提示符上进行进一步身份验证。啊,但后来我切换到 PowerShell,整个事情又发生了:每次我尝试例如时,我都会收到身份验证对话框git push
。每次我都成功使用“密码”选项,使用我的应用程序密码,但它从未保存密码,需要我每次重新输入密码。
所以我再次选择对话框中的“浏览器”选项;它带我到了一个 Bitbucket 网页,上面写着(因为我已经登录了):
身份验证成功 Git Credential Manager 已成功通过身份验证。您现在可以关闭此页面。
现在,我可以git push
使用 PowerShell 进行尽可能多的操作,因为我使用“浏览器”进行了身份验证。
所以问题仍然存在:为什么 Bitbucket 的 Git for Windows 身份验证对话框使用保存的应用程序密码,而不是要求我每次重新输入它?(请注意,我已经更新到 Git for Windows 2.37.2.windows.2。)
我正在尝试开始学习git
并使用它。我已经下载了有关该内容的培训视频git
,目前正在观看。
我已经下载并安装git
在我的电脑上。我使用 Windows 8 操作系统(32 位版本)。Git Init Here
但我不知道为什么我右键单击时没有选项:
正如你所看到的,当我右键单击时出现的框有两个关于 git 的选项:
Git GUI Here
Git Bash Here
但教程视频中的选项还有一个名为 的选项Git Init Here
。那么,为什么我的没有这个选项呢?是不是我安装git
错了?
我多年前安装了 Windows 版 Git。我将它与 Cygwin 一起使用。我也有 Sourcetree,并且我的计算机中的许多 Git 存储库都存在一些问题(但现在不再是了)。
现在,我的旧 Git 无法在 GitHub 上运行,所以我必须更新它。我开始安装 Git,它问了我很多问题。我不记得三年前我为这些选择了什么。我不想冒险破坏任何东西。
那么,有没有一种方法可以在不更改任何设置的情况下更新 Git?
在发现 Windows 版 Github 不再打包 Git Shell(我已经越来越喜欢)后,我最近从 GitForWindows 安装了 PortableGit。我希望能够在我的源文件中查找行尾的文本:例如grep -R -n --include "*.py" -P ":$" .
。正如所写的,由于 Windows 行结尾,这不起作用 - 我必须使用":\r$"
(或者也许更奇特的东西,以便更强大)来代替。这很令人恼火;我发现很难记住,而且我不需要 gVim 中的这种解决方法。我也不记得需要使用 Git Shell 中内置的 grep 实用程序来完成此操作;但 PortableGit 的工具似乎相当严格地按照规定行事。
有什么方法可以强制grep
将其视为\r\n
行尾,或者如果没有其他改进?我不想将所有源代码转换为 Unix 文件结尾;但如果这就是所需要的,那么我还需要帮助让 gVim 尊重该约定(包括新文件)。(不过,这仍然不理想;我可能还想 grep 程序输出,并且由于我在 Python 中以文本模式编写文件,因此它们自然具有 Windows 行结尾。)
我在从 AWS CodeCommit 存储库克隆时遇到问题。
据我所知,我已经完成了所有必要的设置步骤。
我已经完成了以下配置 git ...
我已经确认我使用的 aws cli 版本与 credential-helper 一起使用
我已经确认我的 cli 环境可以访问我的 aws 帐户,并且当我运行以下命令时可以看到我的 repo...
aws 代码提交列表存储库
但是,当我尝试克隆 repo 时,它立即返回...
fatal: repository 'https://git-codecommit.ap-southeast-2.amazonaws.com/[my-repo]' not found
Run Code Online (Sandbox Code Playgroud)
它不会提示输入凭据。
如果我尝试直接卷曲 repo URL,我可以看到它返回 401,这大概是正确的。
git version: 2.26.2.windows.1
aws cli version: aws-cli/2.0.17 Python/3.7.7 Windows/10 botocore/2.0.0dev21
Run Code Online (Sandbox Code Playgroud)
我正在尝试在 Windows 10 Pro 上的 powershell 中执行此操作。
关于可能出什么问题的任何想法?
我今天安装了 Windows 版 git 并做了一些测试,我发现每次推送时都会要求我输入密码(Linux 上不会发生这种情况)。
我对另一个线程提出了一些建议,我发现我没有配置 ssh-agent,但我这样做了,问题仍然存在。
有什么建议吗?谢谢!
我使用以下代码git
从 C# 进行调用:
var pInfo = new ProcessStartInfo
{
FileName = "git",
Arguments = "checkout master",
UseShellExecute = false
};
using var p = Process.Start(pInfo);
Console.WriteLine(p.Id);
p.WaitForExit();
Run Code Online (Sandbox Code Playgroud)
打印的进程 ID 是,比如说 3709。当我的程序结束时,我查看任务管理器,看到一个git.exe
进程仍在以不同的 ID 运行,比如说 8865。这个进程仍然无限期地运行。
在我看来,git
我的程序启动的进程会产生第二个git
永远不会退出的进程。我有什么办法可以阻止这种行为吗?事实上,每次我运行程序时,都会git.exe
无限期地留下另一个进程,随着时间的推移,数量会增加很多,直到我重新启动。
git
(或者,除了运行可执行文件之外,还有其他方法可以调用吗?)
我最近升级了git version 2.33.1.windows.1
,但includeif
似乎不起作用。
还有人可以确认吗?我不记得我以前的 git 版本是什么。
我的配置如下:
.gitconfig
[user]
name = crowne
email = crowne@fakemail.com
[includeIf "gitdir:E:/work/**"]
path = ~/.gitconfig_work
Run Code Online (Sandbox Code Playgroud)
.gitconfig_work
[user]
name = name.surname
email = name.surname@work.com
Run Code Online (Sandbox Code Playgroud)
我升级的原因是,它includeif
没有
在下面嵌套多个目录的目录上递归生效E:/work/
自从升级之后,似乎根本没有生效。
>git config -l --show-origin
仅显示来自以下内容的条目:
我没有看到来自以下位置的任何条目:
git-for-windows ×10
git ×7
bitbucket ×1
c# ×1
git-bash ×1
grep ×1
line-endings ×1
powershell ×1
process ×1
ssh ×1
windows ×1