没有项目文件夹的 git 克隆

我已经给予访问服务器,并希望克隆 git 回购到我的根文件夹。但是,当我做 git 克隆它将使我的项目名称文件夹,我的项目文件夹是我的根。我没有访问我的父文件夹 我的根是

/var/www/sites/mysite/

而当我做克隆文件夹结构将

/var/www/sites/mysite/mysite
129675 次浏览

您可以将项目克隆到子文件夹中,然后它们将包括 .git文件夹在内的所有文件移动到父文件夹(您的根文件夹)中。

git clone接受最后一个参数,该参数是目标目录,默认情况下它是项目的名称,但您可以更改它。在你的情况下,你可能只需要简单的 .:

$ git clone origin-url .

但请注意,来自 man git-clone:

只有当目录为空时,才允许克隆到现有目录中。

你也可以设置一个新的 repo,然后跟踪远程和分支,获取原始存储库中的所有对象,并更改为主分支:

git init .
git remote add origin git@github.com:user/repo.git
git fetch origin
git checkout master

记住,git 存储库只是存储它的目录结构。这意味着,当您将存储库克隆到错误的目录中时,只需将目录内容移动到您希望的任何其他地方,存储库数据仍然完好无损。例如,可以从命令行运行以下命令:

$ mv /var/www/sites/mysite/mysite/* /var/www/sites/mysite`
$ mv /var/www/sites/mysite/mysite/.* /var/www/sits/mysite`
$ rmdir /var/www/sites/mysite/mysite

这在 Windows 上也运行良好。

git init
git remote add origin git@github.com:user/repo.git
git pull origin master

我发现实现这一点的一个简单方法是,在您想要克隆到的目录中初始化一个 Git repo,然后从远程进行拉取:

git init
git pull <remote-url>
git clone git@github.com:user/repo.git .

注意该命令末尾的 .

或者另一种方式是

git init


git remote add origin git@github.com:user/repo.git


git pull origin master