将git分支推送到单独的服务器

时间:2014-04-04 05:50:31

标签: git

在我的本地机器上我有两个分支 - 主人,开发。 Master分支设置为通过钩子部署到服务器并按预期工作。使用develop分支,我正在尝试在单独的服务器上设置一个钩子并推送到那个。因此,当我工作时,我可以根据需要切换分支和推送。

我已使用git init --bare设置了我的远程仓库并应用了相关挂钩。

为第二台服务器设置遥控器并按下后,我收到此错误:

remote: fatal: You are on a branch yet to be born

据我了解,我需要在远程服务器上创建开发分支。

推送:

git push origin master
git push dev develop

我已经尝试git push -u dev develop但仍然没有运气。

如果有更好的方法,我会开放。我知道这可能不是这样做的最好方式,并且会欣赏任何见解。

这是我正在使用的钩子。

git --work-tree=/home/20258/users/.home/domains/beta.certainstrings.com/html/ --git-dir=/home/20258/users/.home/domains/beta.certainstrings.com/html/repo/site.git checkout -f

它与dev.certainstrings.com上的其他服务器挂钩,它正在运行,我也运行了chmod +x post-receive

2 个答案:

答案 0 :(得分:0)

如果你只有一个远程服务器,试图切换到一个未出生的分支,那么推动所述分支是一个好主意。

但是你应该将两个分支推送到同一个dev服务器:

git checkout master
git push -u dev master 
git checkout develop
git push -u dev develop

这样,如果你的钩子取决于任何一个分支,它们都在那里。

答案 1 :(得分:0)

是的,你可以......例子

git remote add server2 git@github.com:foo/project.git
git push server2 master

这会将新服务器设置为server2,然后您可以将任何分支推送到它..如果这不是您想要的,请告诉我