我需要 rsync 一个 git 项目文件夹,我正在使用以下 rsync 标志 -r -a -v -u -W,但是当我在目标文件夹上运行 git 状态时,它与源上的 git 状态不匹配(我得到了实际未触及的修改/删除文件)。
为什么会这样?以及如何使其按预期工作?
来自 rsync manual:
-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
子目录和未跟踪的文件。