为什么我的文件无法推送到我的 SFTP 服务器?

为什么我的文件无法推送到我的 SFTP 服务器?

我无法将分支推送到 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 服务器名称。
  • 如果使用主目录,请确保在服务器名称后面包含尾随冒号:。

相关内容