执行该命令git clone git@github.com:whatever
会在当前文件夹中创建一个名为whatever的目录,并将Git存储库的内容放入该文件夹:
/httpdocs/whatever/public
我的问题是我需要克隆到当前目录中的Git存储库的内容,以便它们出现在Web服务器的正确位置:
/httpdocs/public
我知道在克隆存储库之后如何移动文件,但这似乎打破了Git,我希望能够通过调用来更新git pull
.我怎样才能做到这一点?
选项A:
git clone git@github.com:whatever folder-name
选项B:
也移动.git文件夹.
更好的是:
将工作副本保存在其他位置,并创建符号链接.
我认为很多人问这个问题的例子就是这个.如果您在目录中希望转储git存储库的内容,请运行:
git clone git@github.com:whatever .
"." 最后将当前文件夹指定为checkout文件夹.
进入文件夹..如果文件夹为空,则:
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]
例如,如果你想克隆名为open_framework的斯坦福大学Drupal Open Framework 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存储库克隆到特定文件夹,可以使用-C
参数,例如
git -C /httpdocs clone git@github.com:whatever
虽然它仍然会whatever
在其上创建一个文件夹,但是要将存储库的内容克隆到当前目录中,请使用以下语法:
cd /httpdocs git clone git@github.com:whatever .
请注意,仅当目录为空时才允许克隆到现有目录中.
由于您要克隆到可供公众访问的文件夹,因此请考虑通过在Web服务器配置中使用--separate-git-dir=
或排除.git
文件夹(例如在.htaccess
文件中)将Git存储库与工作树分开.
将文件移动到所需位置时,是否还要移动.git
目录?根据您的操作系统和配置,可能会隐藏此目录.
它包含repo和支持文件,而/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
将位于
git clone
将位于
来源:建立存储库
如果您尝试将事物检出到当前目录,请确保删除.git存储库.
rm -rf .git
然后 git clone https://github.com/symfony/symfony-sandbox.git