在工作中,我使用git对远程VPS上的一个大目录进行备份。因为我住在一个非常偏远的小镇,网络很穷,价格昂贵,所以我不能在网上复制这种回购。相反,当我开始在家工作时,我在外部驱动器上带来了目录的副本(不幸的是没有".git“子目录)。
我已经对目录的主副本中的文件进行了大约10 my的更改。我想将它们合并到远程服务器上的git,而不需要通过互联网传输整个目录。
迄今采取的步骤:
git init
git add .
git commit -m "initial"
git remote add VPS [SSH_ADDRESS]
git remote show VPS # successfully connects to remote现在,我想在本地合并10 GB的更改,而不传输未更改的GB数据。
我尝试过但失败的步骤:
git push VPS # can't because there are non-integrated remote changes
git fetch VPS # starts downloading GBs of data不知道下一步该去哪里。
发布于 2020-04-28 21:49:20
一种试图传输尽可能少的数据,而不使用git的传输方法的恶意方法,这种方法可能有效,也可能无效:
(git format-patch)
tar或zip)
scp或rsync)
ssh)
unzip/tar,后面跟着git apply),修复冲突,编辑历史记录()。
这将使您的本地副本与前面一样不同步。
假设“数据的GBs”是大文件,而不是很多小的更改/文件,您可以避免将它们存储在实际的git中。
解决这个问题的方法有多种,我都没有尝试过,但以下是一些众所周知的方法:
大型文件存储:https://git-lfs.github.com/
https://stackoverflow.com/questions/61490281
复制相似问题