git - rsync .git 目录

标签 git rsync

这个问题可能是基于我对 .gits 和 git 存储库的一般作用缺乏理解,但是:

我可以在机器之间用 git init 创建的内容 rsync 目录吗?

我的笔记本电脑上有一个存储库,将它从那里拿走的唯一方法是 scp/rsync 到远程主机,我可以从那里再次下载它。我可以在这些主机之间 rsync 完整的目录结构吗?

最佳答案

有几种可能性:

  • 您可以只rsync .git 存储库(或者甚至是整个存储库和工作目录),前提是您在存储库中没有任何事件在 rsyncing 期间(与使用 rsync:// 协议(protocol)的免责声明相同)。

  • 您可以使用已弃用rsync 协议(protocol)克隆或获取(其中存储库 URL/位置如下所示:“rsync://host.xz/path/to/repo.git/").请注意,此协议(protocol)已弃用,因为如果存储库中有任何事件,您可能会损坏克隆(或提取)。

    此外,据我所知,自 2007 年以来,它在存在打包引用的情况下无法正常工作,直到最近才引起人们的注意。它将(确实)在 Git 2.8 中消失。

  • 或者您可以创建 git bundle , rsyncscp 在其他机器上,然后克隆或从包中获取。

关于git - rsync .git 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1398018/

相关文章:

git - 我如何将我最后的 N 提交压缩在一起?

Git-commit 无法打开 vim

linux - rsync 排除 `/index.php` 的模式,但不排除 `/dir/subdir/index.php` 的模式

Git rebase -i --preserve-merges 丢失更改

git - 删除所有 git 提交的时间和时区,但保留日期

mysql - 事务数据库和防止死锁

linux - rsync 可以仅用于创建硬链接(hard link)而不是复制吗?

linux - 在 Mac 和 Linux 机器上同步我的 git repos 以进行持续构建

git - checkout 的 git 存储库的快照友好备份/复制 - 无需 rsync'ing .git 目录

git - 与 Visual Studio 存储库中的共享库