我无法将分支推送到 SFTP 服务器。我按照以下说明操作这里。
当我推送分支时,一切似乎都成功完成。我收到消息“创建新分支。”,如果我再次执行“bzr push”,它会显示“没有新的修订要推送”。但是当我通过 ssh 连接到 SFTP 服务器查看我放置分支的目录时,只有 .bzr 目录在那里。我的文件都不在那里。有人知道为什么会这样吗?
答案1
我的问题是在 Launchpad 上已解决以下是部分答案(摘自Launchpad 问题):
从bzr help push
:
描述:
目标分支将不会填充其工作树,因为这既昂贵,又不受远程文件系统的支持。
一些智能服务器或协议可能将来把工作树放到位。
您可能想要关注本指南部署完整的 bzr-loggerhead 远程服务器
此外,如果您需要 sftp 服务器中的工作树,您可以按照帮助中bzr update
所示运行:working-tree
如果您希望在推送到的远程机器上拥有工作树,您可以bzr update
在每次推送后在远程分支中运行,也可以使用其他方法在推送期间更新树。有一个rspush
插件可以使用 rsync 以及推送来更新工作树。还有一个push-and-update
插件可以在每次推送后自动bzr update
通过 SSH 运行。
看一看这里如果您的 SFTP 服务器不允许安装 bzr 或挂钩到存储库。对于 Web 开发,我使用 sshfs 来保持公共版本的更新。
对于挂载,您将需要使用选项-o idmap=user,workaround=rename
将远程用户映射到您自己,并解决在 SFTP 协议中重命名现有文件的问题。
总结为命令
先决条件
sudo apt-get install fuse-utils sshfs
挂载目录
mkdir ~/sftp.my-site.org
安装
sshfs [email protected]: ~/sftp.my-site.org -o idmap=user,workaround=rename
运行更新
cd ~/sftp.my-site.org; bzr update
笔记
- 将“sftp-username”替换为您在 SFTP 服务器上的用户名。
- 将“sftp.my-site.org”替换为 SFTP 服务器名称。
- 如果使用主目录,请确保在服务器名称后面包含尾随冒号:。