我有一个访问权限的主机抛出了vpn,例如:10.0.0.2 该主机无法访问我的git存储库,也无法访问互联网。
我不想一直复制完整项目的zip存档,并将其解压缩到10.0.0.2。
git format-patch mybranch --root --stdout > ~/Downloads/mypatch.patch
创建了我的1gb补丁,我无法应用它。
git format-patch -1 HEAD
在这里,我无法理解我需要多少提交,以及如何应用它们。
所以问题是:如何在该主机上更新我的项目?
编辑:
感谢rsync的建议,我写道 一点点期待脚本:
#!/usr/bin/expect -f
set timeout 2
set USER "REMOTE_HOST_USER"
set PASS "REMOTE_HOST_PASSWORD"
set HOST "REMOTE_HOST" # in my case 10.0.0.2
spawn rsync -a --stats . $USER@$HOST:/path/to/project/on/remote/host/;
expect {
"(yes/no)?*" {
send "yes\r"
}
}
expect "word:"
send "$PASS\r"
interact
此脚本同步远程主机上的当前文件夹和文件夹。
答案 0 :(得分:2)
您可以 use git bundle
,生成一个文件,有点像存档,除非它是一个git repo,您可以从中提取。
你甚至可以生成一个增量包,以便只复制最后几次提交(仍作为一个文件),并拉出增量包的形式。