如果远程(使用 ssh)不包含 git 存储库,是否仍然可以将本地存储库复制到远程并设置远程跟踪,而无需使用 scp 手动复制文件,然后执行 git clone?
问问题
2628 次
2 回答
11
您确实需要在远程设置存储库,但不应手动复制文件。至少,你不会得到它的历史。
首先,通过 ssh 连接到您的遥控器并执行以下操作:
mkdir your_repo.git
cd your_repo.git
git init --bare
.git
in 目录名称是完全可选的。该--bare
选项使存储库没有索引,因此是可推送的。
然后,您返回本地存储库并添加远程:
git remote add remote_name user@remote.address:path/to/your_repo.git
你都准备好了。您现在需要做的就是:
git push remote_name
于 2012-07-08T11:01:14.427 回答
2
是否仍然可以将本地存储库复制到远程并设置远程跟踪,而无需使用 scp 手动复制文件,然后执行 git clone?
如果您有 ssh 访问权限,则可以复制 repo(是的,使用 a scp
),但只复制一个文件: a git bundle
。
从那里,您可以将该捆绑包克隆为远程服务器上的裸存储库(一个文件充当您可以克隆的存储库)并将其用作远程存储库(您可以推送到远程裸存储库)。
与直接推送到空的裸存储库相比,优势在于这里的初始副本是一个文件。对于大型存储库,这可以使初始化更容易/更少依赖网络。
于 2012-07-08T10:58:43.133 回答