命令git clonegit@github.com:whatever创建一个名为whatever的目录,其中包含Git存储库:

./
    whatever/
        .git

我希望将Git存储库的内容克隆到我的当前目录中。/而是:

./
    .git

当前回答

虽然上面的所有答案都很好,但我想提出一种新的方法,而不是在公共html目录中使用符号链接方法,正如公认答案中提出的BEST。您需要访问服务器虚拟主机配置。

它是关于配置直接指向存储库目录的web服务器的虚拟主机。在Apache中,您可以这样做:

DocumentRoot/var/www/html/website/your git repo

以下是虚拟主机文件的示例:

<VirtualHost *:443>
    ServerName example.com

    DocumentRoot /path/to/your-git-repo
    ...
    ...
    ...
    ...
</VirtualHost>

其他回答

进入文件夹。。如果文件夹为空,则:

git clone git@github.com:whatever .

else

git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master

当您将文件移动到需要的位置时,是否也在移动.git目录?根据您的操作系统和配置,此目录可能被隐藏。

它包含repo和支持文件,而位于/public目录中的项目文件仅为当前签出提交(默认情况下为主分支)中的版本。

虽然上面的所有答案都很好,但我想提出一种新的方法,而不是在公共html目录中使用符号链接方法,正如公认答案中提出的BEST。您需要访问服务器虚拟主机配置。

它是关于配置直接指向存储库目录的web服务器的虚拟主机。在Apache中,您可以这样做:

DocumentRoot/var/www/html/website/your git repo

以下是虚拟主机文件的示例:

<VirtualHost *:443>
    ServerName example.com

    DocumentRoot /path/to/your-git-repo
    ...
    ...
    ...
    ...
</VirtualHost>

要将git存储库克隆到特定文件夹中,可以使用-C<path>参数,例如。

git -C /httpdocs clone git@github.com:whatever

尽管它仍然会在其上创建一个任意文件夹,但要将存储库的内容克隆到当前目录中,请使用以下语法:

cd /httpdocs
git clone git@github.com:whatever .

请注意,仅当目录为空时,才允许克隆到现有目录中。

由于要克隆到可供公众访问的文件夹中,请考虑使用--separate Git-dir=<Git-dir>或在web服务器配置中排除.Git文件夹(例如在.htaccess文件中),将Git存储库与工作树分离。

如果使用ssh进行git克隆,可以使用以下命令。

git-C路径克隆git@github.com:路径_to_epo.git

如:git-C/home/ubuntu/clonegit@github.com:kennetritz/requests.git将请求的git存储库拉到/home/ubuntu/path。