2014-09-22 82 views
0

我们目前开始与Git合作并遇到一些麻烦。使用Git与现有的文件和更新分支后推

Baiscally我想要的是有一个Git-Repository,用户可以推送和拉。

另外,这个存储库应该作为主分支的预览版本,因此我们需要在存储库本身中包含脚本文件。

我使用“git init test.git”启动了存储库。所以这不是光秃秃的回购。

问题是如何设置git,它将主分支的当前版本保存为真实文件,并且我可以设置一个url以访问存储库的当前主分支。

当我创建一个存储库并尝试推送到它时,我得到一个错误,当前主分支在存储库上检出,我不能推到它。

任何想法?

回答

1

您不能推送到非裸仓库!你不能推送到检出分支!

现在给你的情况我的建议是:

保持一个幸运的裸仓库!在当地进行所有的发展,对主人进行合并/重新组合,然后推动祝福。

你可以编写带有代码的幸运光秃后接受挂钩/运行一个代码为cd的脚本到你的生产回购中,并且从幸运的光秃秃的下拉(这将是一个快进你可能已经解决冲突,然后推动祝福光秃秃的)

这样,在每一次推动'保佑裸',你拉到生产和更新检出主!

希望这可以解决问题。

快乐接通!

+0

这似乎是一个很好的解决方案:) 你试过吗? 我有一个后收到脚本现在通过这样的 CD /var/www/.../ git的那张CD到正确的目录拉 但没有happends 如果我用手工调用脚本它被执行正确 – phil 2014-09-22 11:17:29

+0

@ phil:很高兴知道你喜欢这个解决方案。不,我没有尝试过,但我做了类似的事情,因此我知道它会起作用。当您手动执行脚本时没有任何反应,因为当您推送到'blessed_bare'时不得不发生的事情已经发生。 – 2014-09-22 14:09:01

-1

根据您所描述的内容,我认为实施名为GitFlow的分支策略可能适合您。

+0

我不认为它解决了这个问题。它似乎只是一个常规的git工作流程,只不过'master'被重命名为'develop'。另外,它似乎在多版本环境中失败,因为修补程序是在主服务器上完成的。 – 2014-09-22 11:21:14

+0

你甚至读过博客文章吗?!?有两个分支。一个主人,一个发展。关于这个问题,所有的工作都在开发分支上完成,从开发分支创建并实例化功能和发布。然后,工作完成并测试后,它们被推送到受保护的主分支。是的,修补程序是在主分支中完成的,特别是出于您指出的原因以支持多版本支持。 – 2014-09-22 11:55:19

+0

是的,我读过博客文章,这就是为什么我在谈论它的内容。 – 2014-09-22 11:58:27