【问题标题】:libgit2sharp repository credentialslibgit2sharp 存储库凭据
【发布时间】:2020-02-14 20:35:40
【问题描述】:

我正在使用 LibGit2Sharp 将存储库克隆到本地文件夹中。我知道我可以简单地使用蛮力并在之后删除 .git 文件夹,这肯定会实现我想要实现的目标,但这不是解决这个问题的最优雅的方法。如果我删除了 .git 文件夹,我将不得不在稍后阶段再次克隆它。我想轻松地在分支之间“切换”,但如果每次我都必须重新克隆它才能做到这一点,这将成为一个缓慢而费力的过程。

我想做的是,在克隆存储库之后,....这是我不知道正确术语的地方。什么....“退出”? “断开凭据”?我不知道。基本上,我想要实现的是,在克隆之后,用户不能简单地开始处理文件并将它们推送回远程存储库,但是我在网上找不到任何关于如何“清除凭据”的明确答案”。显然,我希望以编程方式这样做。

对不起。由于这在我自己的脑海中并不清楚,我不知道如何正确地问这个问题。我希望我描述得足够清楚,以便有人知道如何回答这个问题。

欢迎使用 C# 或 VB.NET 回答...

问候

皮诺

【问题讨论】:

  • 用户是在同一个进程中,还是说Git仓库的普通交互式用户在运行其他进程?
  • 我在周末想到了这个,也许我很傻。我编写了一个程序集,它使用 LibGit2Sharp 从远程存储库中获取文件。为此,我使用一组特定的凭据。当我在安装了 TortoiseGit 的机器上执行此操作时,我会看到文件夹旁边的绿色勾号。我担心的是 TortoiseGit 是否会使用我在自己的 Assembly 中使用的相同凭据,或者 TortoiseGit 是否会期望用户使用他或她自己的凭据?
  • 所以我得到了第二台机器,我在上面安装了 git 和 tortoisegit。它要求我提供我拒绝输入的凭据(您可以不这样做就继续)。然后我运行我的软件,它使用编码凭据将文件从存储库中取出。之后,我在文件夹中添加了一个文件并尝试提交,而 TortoiseGit 要求提供凭据。换句话说,我无法从这个“客户端”PC 提交/推送更改。这正是我想要实现的。快乐的日子,所以。

标签: c# vb.net git libgit2sharp


【解决方案1】:

无需以任何方式、形式或形式“退出”。没有凭据,远程存储库仍然无法访问,即使用户安装了 GIT 或 TortoiseGit 等。所以我无缘无故地担心。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多