我是Git的新手,我不明白如何实现以下目标。 有2台服务器:
基本上,我想:
实现我想要的正确方法是什么?
答案 0 :(得分:5)
有几种方法可以做到这一点。如果你能够在你的VPS上运行ssh服务器,那么这很简单。
在localhost上的git存储库中,您将设置两个git遥控器。它们将具有相同的主机但具有不同的路径(一个远程用于dev路径,一个用于prod路径)。
git remote add prod ssh://[user@]host.xz[:port]/path/to/prod/repo.git/
git remote add dev ssh://[user@]host.xz[:port]/path/to/dev/repo.git/
如果您设置了ssh公钥/私钥访问权限,那么您不必每次都输入密码。
一旦您将所需的更改提交到localhost上的repo,那么您将执行此操作以将它们推送到开发环境:
git push dev # remote named dev points to dev repository
验证完成后,您可以将它们推送到生产阶段(从您在localhost上的仓库):
git push prod # remote named prod points to prod repository
如果要在推送到dev和prod(除了你想要应用的修补程序之间)之间更改localhost上的git repo,那么有很多方法可以解决这个问题:
这不包括你选择的一半,但可能足以让你思考。
答案 1 :(得分:0)
建议:(这不完全是你想要的)
1)使用“普通的git工作方式”..拥有本地和远程存储库。
2)将本地存储库代码拉到VPS上进行测试
3)将远程存储库代码拉到VPS上进行生产
答案 2 :(得分:0)
即使您在本地更改分支,PhpStorm也可以自动同步sftp上的更改。
在Windows系统上,这是迄今为止我发现的最佳解决方案。在unix / mac系统上,您可以将rsync与监视文件系统更改的实用程序结合使用。