[英]Using git to merge changes in a manually-copied directory
在工作中,我使用 git 在我们的远程 VPS 上保留一个大目录的备份。 因为我住在一个非常偏远的小镇,互联网很差,价格昂贵,我无法通过互联网复制这个 repo。 相反,当我开始在家工作时,我在外部驱动器上带了一份目录副本(不幸的是没有“.git”子目录)。
我对目录的主副本中的文件进行了大约 10kb 的更改。 我想将这些合并到远程服务器上的 git 存储库中,而无需通过 Internet 传输整个目录。
到目前为止的步骤:
git init
git add .
git commit -m "initial"
git remote add VPS [SSH_ADDRESS]
git remote show VPS # successfully connects to remote
现在我想合并我在本地所做的 10kb 更改,而不传输未更改的 GB 数据。
我尝试过但失败的步骤:
git push VPS # can't because there are non-integrated remote changes
git fetch VPS # starts downloading GBs of data
不知道接下来去哪里 go。
一种尝试传输尽可能少的数据而不使用 git 的传输方法的 hacky 方法,它可能有效,也可能无效:
git format-patch
)tar
或zip
)scp
或rsync
)ssh
)unzip
/ tar
后跟git apply
),修复冲突并根据自己的喜好编辑历史这将使您的本地副本像以前一样不同步。
假设“GB 数据”是大文件而不是很多小的更改/文件,您可以避免将它们存储在实际的 git 存储库中。
有多种方法可以解决这个问题,我都没有尝试过,但这里有一些众所周知的方法:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.