我可以通过 ssh 访问许多服务器,但我没有 root 权限。您是否知道任何版本控制实用程序可以与远程 ssh 存储库配合使用,而无需在远程服务器上安装任何东西?
我尝试过一个裸 git 存储库文件夹,但它似乎需要服务器上的一些脚本/二进制文件/安装。我也不喜欢 git,因为它不太便携。便携版本由太多文件组成
答案1
答案2
答案3
正如 Chris Johnsen 指出的那样,Bazaar 可以使用不同的协议将存储库数据上传到服务器,其中包括 SFTP。
实际上,其工作方式如下:您在本地计算机上创建一个存储库/分支,并使用 Bazaar 跟踪所有更改。Bazaar 将其所有信息存储在该分支根目录中名为“.bzr”的目录中。您必须使用 SSH 访问权限将存储库/分支上传到您的服务器。然后,提交到该分支的任何后续更改都会自动上传到服务器。
为此,您必须遵循以下步骤:
在您想要跟踪其更改的文件的目录中,创建一个新的分支。
bzr init
将您想要跟踪的文件添加到当前分支,以便它们由 Bazaar 进行“版本控制”。
bzr add file1 file2 directory1 directory2 ...
对分支进行首次提交。在将分支上传到服务器之前,必须进行首次提交。您应该阅读文档或使用 Bazaar 的帮助来了解如何使用“提交”命令(以及如何输入提交消息)。
bzr commit
使用 SSH 访问权限将分支上传到您的服务器。Bazaar 将自动提示您输入密码。或者,您可以设置一个公共 RSA 密钥,以避免每次都输入密码。
bzr push sftp://user@domain:port/branch_location_on_server
如果 SSH 服务器正在监听端口 21(默认端口),则可以省略端口。如果希望分支位于主目录中,则应指定服务器上的分支位置以“~/”开头。
您后续所做的任何提交都将自动上传到服务器上的该位置。
此外,当你的机器没有连接到服务器时,你也可以通过将“--local”选项传递给“commit”命令来执行“提交”,或者通过解除和绑定分支(bzr 解除绑定/bzr绑定)
如果您想下载该分支,您可以执行“checkout”:
bzr co sftp://user@domain:port/branch_location_on_server
答案4
使用 rsync(哦,等等,您还需要服务器上的 rsync :))将 mercurial / git / bzr 存储库从本地机器存储到服务器上。然后,您必须下载工作副本旁边的整个存储库,然后才能进行合并。
为了获得一些有用的东西,我建议在你家里的服务器上安装 mercurial,也许本地安装比 git 安装(顺便说一下,你也可以在家里安装)不那么“复杂”。