相关疑难解决方法(0)

如何删除要求凭据的github登录弹出窗口?

我最近更改了我的 Github 帐户。我的新用户名和电子邮件存储在全局 .gitconfig 中:

[filter "lfs"]
    process = git-lfs filter-process
    required = true
    clean = git-lfs clean -- %f
    smudge = git-lfs smudge -- %f
[user]
    name = myusername
    email = myemail@gmail.com
[credential]
    helper = store
    username = myusername
Run Code Online (Sandbox Code Playgroud)

以及我在 .git-credentials 中的 github 密码。

每次我推送到我的远程存储库时,都会弹出 Github 登录信息,询问我的凭据。

Github 登录弹窗

当我取消它时,一切正常。我不需要输入用户名或密码。遥控器已更新。如何摆脱那个弹出窗口?在更改帐户凭据之前,我没有这种行为。

git github

12
推荐指数
1
解决办法
5229
查看次数

如果需要多个标准输入,python asyncio将陷入僵局

我编写了一个命令行工具,以git pull使用python asyncio 执行多个git repos。如果所有存储库均具有ssh无需密码的登录设置,则该方法可以正常工作。如果仅1个回购协议需要输入密码,它也可以正常工作。当多个存储库需要输入密码时,它似乎陷入僵局。

我的实现非常简单。主要逻辑是

utils.exec_async_tasks(
        utils.run_async(path, cmds) for path in repos.values())
Run Code Online (Sandbox Code Playgroud)

在这里run_async创建并等待子流程调用,然后exec_async_tasks运行所有任务。

async def run_async(path: str, cmds: List[str]):
    """
    Run `cmds` asynchronously in `path` directory
    """
    process = await asyncio.create_subprocess_exec(
        *cmds, stdout=asyncio.subprocess.PIPE, cwd=path)
    stdout, _ = await process.communicate()
    stdout and print(stdout.decode())


def exec_async_tasks(tasks: List[Coroutine]):
    """
    Execute tasks asynchronously
    """
    # TODO: asyncio API is nicer in python 3.7
    if platform.system() == 'Windows':
        loop = asyncio.ProactorEventLoop()
        asyncio.set_event_loop(loop)
    else:
        loop = asyncio.get_event_loop()

    try:
        loop.run_until_complete(asyncio.gather(*tasks)) …
Run Code Online (Sandbox Code Playgroud)

python git stdin subprocess python-asyncio

11
推荐指数
1
解决办法
368
查看次数

如何撤消git config --system core.askpass git-gui - askpass

尝试修复我使用git push时出现的问题时,请执行该命令.它每次我推动时都会提示我,我不知道如何禁用它.

git github

3
推荐指数
1
解决办法
3139
查看次数

标签 统计

git ×3

github ×2

python ×1

python-asyncio ×1

stdin ×1

subprocess ×1