rsyncing git 项目文件夹

rsyncing git project folder

我需要 rsync 一个 git 项目文件夹,我正在使用以下 rsync 标志 -r -a -v -u -W 但是当我 运行 git statusdestination 文件夹上它与 git status 不匹配 在源上(我得到 modified/deleted 个实际上没有被触及的文件)。

为什么会这样?以及如何使其按预期工作?

来自 rsync 手册:

-u, --update                skip files that are newer on the receiver

所以它可能会跳过文件...

使用git

无论如何,当您对源目录进行版本控制时,就不需要 rsync。

克隆文件夹

cd /my/destination
git clone /my/source/repo

同步文件夹

cd /my/destination/repo
git fetch

我常用的rsync命令是

rsync --archive --delete --verbose src-dir/ dst-dir/

这使得 dst-dir 成为 src-dir 的精确镜像。这将拾取所有内容,包括您的 .git 子目录和未跟踪的文件。