git clone git@github.com:whatever
执行git clone git@github.com:whatever
命令git clone git@github.com:whatever
都会在我当前的文件夹中创建一个名为 any 的目录,并将 Git 存储库的内容拖放到该文件夹中:
/httpdocs/whatever/public
我的问题是我需要将 Git 存储库的内容克隆到当前目录中,以便它们出现在 Web 服务器的正确位置:
/httpdocs/public
克隆存储库后,我知道如何移动文件,但这似乎破坏了 Git,我希望仅通过调用git pull
即可进行更新。我怎样才能做到这一点?
选项 A:
git clone git@github.com:whatever folder-name
Ergo,在right here
使用:
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:whatever .
“。” 最后将当前文件夹指定为检出文件夹。
进入文件夹。如果文件夹为空,则:
git clone git@github.com:whatever .
其他
git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master
您可以使用克隆一个存储库
git clone [url]
例如,如果要克隆斯坦福大学 Drupal 开放框架 Git 库,称为 open_framework,则可以这样进行:
$ 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:// 协议,但是您可能还会看到使用 SSH 传输协议的 http(s):// 或 user @ server:/path.git。
要将 git 仓库克隆到特定文件夹中,可以使用-C <path>
参数,例如
git -C /httpdocs clone git@github.com:whatever
虽然它还是会创造一个whatever
在它上面的文件夹,所以对资源库的内容克隆到当前目录,请使用以下语法:
cd /httpdocs
git clone git@github.com:whatever .
请注意, 仅当目录为空 时才允许克隆到现有目录。
由于您要克隆到可公开访问的文件夹中,因此请考虑使用--separate-git-dir=<git dir>
将 Git 存储库与工作树--separate-git-dir=<git dir>
或在 Web 服务器配置中排除.git
文件夹(例如,在中.htaccess
文件)。
当您将文件移动到所需位置时,是否也在移动.git
目录?根据您的操作系统和配置,此目录可能是隐藏的。
它包含存储库和支持文件,而/public
目录中的项目文件仅是当前签出提交(默认为 master 分支)中的版本。
克隆:
git clone git@jittre.unfuddle.com:jittre/name.git
克隆 “特定分支”:
git clone -b [branch-name] git@jittre.unfuddle.com:jittre/name.git
如果要克隆到当前文件夹,则应尝试以下操作:
git clone https://github.com/example/example.git ./
克隆到当前工作目录 :
git clone https://github.com/link.git
克隆到另一个目录 :
git clone https://github.com/link.git ./Folder1/Folder2
希望能帮助到你 :)
用法
git clone <repository>
将位于
git clone <repo> <directory>
将位于
资料来源: 建立资料库