【问题标题】:Make.git open in sshMake.git 在 ssh 中打开
【发布时间】:2017-12-23 11:46:28
【问题描述】:

我已经通过 putty 在 vps 上下载了一个带有 wget 的 git。

我看到文件在 vps 上是这样列出的:

bitcoin-sniffer.git  .lastlogin     .python_history

现在我该如何执行 .git,或者实际使用其中的文件?我试过了

 git clone bitcoin-sniffer.git

错误:

fatal: destination path 'bitcoin-sniffer.git' already exists and is not an empty directory.

【问题讨论】:

  • 您是如何获得bitcoin-sniffer.git 目录的?您是使用git clone 还是其他方式下载的?它是一个裸存储库,还是有一个工作副本?
  • wget 是方法
  • 听起来你从某个地方下载了一个裸存储库,这通常不是你想要的。通常,您希望从远程存储库中git clone 以获取您可以使用的本地副本。 (听起来你对 Git 或者它的含义不是很熟悉——我建议阅读一些介绍性文档。)
  • 您有足够的代表来为答案投票。您应该使用该权限。

标签: ssh putty .git-folder


【解决方案1】:

一般情况下,git clone 命令后跟带有 sshHTTPS 路径的地址以下载 repo。 git 命令不是针对 *.git “包”运行的。

一个例子是: bash git clone https://github.com/sebicas/bitcoin-sniffer.git

这将下载并创建一个名为 bitcoin-sniffer 的文件夹。在这个文件夹中可以运行git命令,比如git status

【讨论】:

    【解决方案2】:

    您获得的“git”是一个完整的 git 存储库,其中包含保护的整个历史记录以及获取文件当前状态所需的所有信息。从.git 扩展来看,我假设存储库是“裸露的”,这意味着它只包含压缩的历史记录,而不是项目当前状态的工作副本。按照惯例,裸仓库有一个 .git 扩展名,而完整的工作副本在项目根目录中有一个 .git 文件夹。

    您克隆存储库以获取工作副本的直觉是正确的。它不起作用,因为默认情况下,在本地运行的 git clone 将尝试创建一个与 repo 同名的文件夹。给它一个不同的文件夹名称作为附加参数:

    git clone bitcoin-sniffer.git bitcoin-sniffer
    

    这实际上是在做一个额外的步骤。您可以使用 SSH 或 HTTPS 从远程位置直接克隆。例如,如果您的项目来自 GitHub,您可以通过 HTTPS 匿名获取只读副本(您可以在本地修改但不能推回):

    git clone https://github.com/sebicas/bitcoin-sniffer.git
    

    在正常情况下,您真的不应该使用 WGET 获取“gits”。

    【讨论】:

    • 谢谢。现在只要你能帮我解决这个 sudo 问题就好了,哈哈
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 2017-09-24
    • 2016-02-17
    相关资源
    最近更新 更多