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

./
    whatever/
        .git

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

./
    .git

当前回答

选项A:

git clone git@github.com:whatever folder-name

Ergo,在这里使用:

git clone git@github.com:whatever .

选项B:

也移动.git文件夹。请注意,.git文件夹在大多数图形文件浏览器中都是隐藏的,所以一定要显示隐藏的文件。

mv /where/it/is/right/now/* /where/I/want/it/
mv /where/it/is/right/now/.* /where/I/want/it/

第一行获取所有普通文件,第二行获取点文件。也可以通过启用dotglob(即shopt-s dotglob)在一行中完成,但如果你问这个答案所回答的问题,这可能是一个糟糕的解决方案。

更好:

将工作副本保存在其他地方,并创建一个符号链接。这样地:

ln -s /where/it/is/right/now /the/path/I/want/to/use

对于您的情况,这可能是:

ln -sfn /opt/projectA/prod/public /httpdocs/public

如果您需要,可以很容易地将其更改为测试,即:

ln -sfn /opt/projectA/test/public /httpdocs/public

而无需四处移动文件。添加了-fn,以防有人复制这些行(-f是强制的,-n避免与现有和非现有链接进行一些经常不需要的交互)。

如果你只是想让它发挥作用,使用选项A,如果其他人要看你做了什么,使用选项C。

其他回答

关于原帖子中的这一行:

“我知道在克隆了回购之后如何移动文件,但这似乎打破了git”

我能够做到这一点,到目前为止,我看不到我的添加、提交、推送和拉取操作有任何问题。

上述方法已说明,但并未细分为步骤。以下是适用于我的步骤:

将repo克隆到任何新的临时文件夹中cd到您刚刚在本地克隆的根文件夹中将文件夹的全部内容(包括/.git目录)复制到您喜欢的任何现有文件夹中;(假设您希望与回购合并的eclipse项目)

您刚刚将文件复制到的现有文件夹现在可以与git交互了。

选项A:

git clone git@github.com:whatever folder-name

Ergo,在这里使用:

git clone git@github.com:whatever .

选项B:

也移动.git文件夹。请注意,.git文件夹在大多数图形文件浏览器中都是隐藏的,所以一定要显示隐藏的文件。

mv /where/it/is/right/now/* /where/I/want/it/
mv /where/it/is/right/now/.* /where/I/want/it/

第一行获取所有普通文件,第二行获取点文件。也可以通过启用dotglob(即shopt-s dotglob)在一行中完成,但如果你问这个答案所回答的问题,这可能是一个糟糕的解决方案。

更好:

将工作副本保存在其他地方,并创建一个符号链接。这样地:

ln -s /where/it/is/right/now /the/path/I/want/to/use

对于您的情况,这可能是:

ln -sfn /opt/projectA/prod/public /httpdocs/public

如果您需要,可以很容易地将其更改为测试,即:

ln -sfn /opt/projectA/test/public /httpdocs/public

而无需四处移动文件。添加了-fn,以防有人复制这些行(-f是强制的,-n避免与现有和非现有链接进行一些经常不需要的交互)。

如果你只是想让它发挥作用,使用选项A,如果其他人要看你做了什么,使用选项C。

要将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存储库与工作树分离。

用法

git clone <repository>

将位于<repository>的存储库克隆到本地计算机上。原始存储库可以位于本地文件系统上,也可以位于可通过HTTP或SSH访问的远程计算机上。

git clone <repo> <directory>

将位于<repository>的存储库克隆到本地计算机上名为<directory>的文件夹中。

来源:设置存储库

您可以使用以下git命令使用自定义目录名进行克隆

git clone <git_repo_url> <your_custom_directory_name>

注意:您不需要创建自定义目录,因为它会自动创建