命令git clonegit@github.com:whatever创建一个名为whatever的目录,其中包含Git存储库:
./
whatever/
.git
我希望将Git存储库的内容克隆到我的当前目录中。/而是:
./
.git
命令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存储库内容转储到的目录中,请运行:
git clone git@github.com:origin .
结尾处的“.”将当前文件夹指定为签出文件夹。
基本Git存储库克隆
使用克隆存储库
git clone [url]
例如,如果要克隆名为Open_Framework的斯坦福大学Drupal开放框架Git库,可以这样做:
$ git clone git://github.com/SU-SWS/open_framework.git
这将创建一个名为open_framework的目录(位于当前本地文件系统位置),初始化其中的.git目录,下拉该存储库的所有数据,并检查最新版本的工作副本。如果您进入新创建的open_framework目录,您将看到其中的项目文件,随时可以处理或使用。
将存储库克隆到特定的本地文件夹
如果要将存储库克隆到名为open_framework以外的目录中,可以将其指定为下一个命令行选项:
$ git clone git:github.com/SU-SWS/open_framework.git mynewtheme
该命令执行与前一个命令相同的操作,但目标目录名为mynewtheme。
Git有许多不同的传输协议可以使用。前面的示例使用git://协议,但您也可以看到http(s)://或user@server:/path.git,它使用SSH传输协议。
用法
git clone <repository>
将位于<repository>的存储库克隆到本地计算机上。原始存储库可以位于本地文件系统上,也可以位于可通过HTTP或SSH访问的远程计算机上。
git clone <repo> <directory>
将位于<repository>的存储库克隆到本地计算机上名为<directory>的文件夹中。
来源:设置存储库
虽然上面的所有答案都很好,但我想提出一种新的方法,而不是在公共html目录中使用符号链接方法,正如公认答案中提出的BEST。您需要访问服务器虚拟主机配置。
它是关于配置直接指向存储库目录的web服务器的虚拟主机。在Apache中,您可以这样做:
DocumentRoot/var/www/html/website/your git repo
以下是虚拟主机文件的示例:
<VirtualHost *:443>
ServerName example.com
DocumentRoot /path/to/your-git-repo
...
...
...
...
</VirtualHost>
选项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。