2012-12-19 48 views
0

我在服务器上有一个远程回购,我推送到分段目的。然后我有一个post-receive将其推送到http://stage.xxxx.com文件所在的文件目录。从一个--bare回购推到另一个 - 在同一台服务器上的回购

现在我已将所有东西都存放在我的临时存储库中,并假定它是无缺陷的,我如何将它从暂存存储库推送到同一台服务器上的现场存储库中?

我宁愿不必将我的本地代码直接推到生产git repo上,因为我应该说我们不是最好的人来跟踪这种东西。我是否必须直接登录到服务器并从那里进行实时回购?

回答

1

是的,你就必须直接登录到服务器,该解决方案似乎有点过于复杂,因为你可以做这样的事情:

git fetch --all 
git push livesite staging/master:master 

这将推动分期的状态/ master to livesite/master并且您不必跟踪任何内容。

+0

既然我是这个时候在这个回购协议上工作的唯一人,那么我只需要做一次git fetch操作 - 一次,对吗?除此之外,它的工作原理完全正确!谢谢! –

+0

如果您的本地回购是唯一一个推向这些遥控器(并且不在服务器上的这些回购站中运行git命令),您应该始终具有这些回购的当前状态。所以你应该从不**必须运行'git fetch'。我补充说,因为我的'git push'命令会推送到活动网站,无论您的客户端认为当前是在暂存站点上 - 而不是暂存站点上的实际内容。 'git fetch'确保这些都是一样的东西。如果你的客户端已经是最新的,'git fetch'确实不需要。 – Chronial

相关问题