Git工作流程问题

时间:2013-07-27 01:51:18

标签: git magento branch

所以,我知道这已被要求死亡,但在我无数个小时的搜索中,我还没有完全弄明白。

所以这是我的工作流程:

  • 生产(实时)环境仅根据需要使用修补程序进行更新。
  • 开发环境(与生产相同的服务器,不同的docroot)是当前正在处理的文件
  • 我目前从Dev环境克隆的本地仓库,但我想使用Phpstorm管理另一个克隆仓库的生产

生产和开发是两个完全不同的部署,它们目前无法合并,因为太多不同,它会使生产无法使用。我们正在对Magento进行一些重大改革,并试图将Dev和Production分离到他们自己的分支中,因此在下一个版本发布之前,两者都没有任何关系。

我遇到了与Github集成的重大问题。当我运行git push origin dev或git push origin production时,当我去github检查更改时,我看到所有3个分支中的消息更改,我不希望发生这种情况,即使它是关于文件夹,而不是文件本身被更改。在合并之前,一个人应该与另一个人无关。

这变得非常令人沮丧,因为我不想要任何分支甚至TOUCH主人,直到我准备合并任何东西。我希望能够将dev分支拉到Dev环境,生产分支到生产环境,并将两个分支作为单独的repos放在我的本地系统上,我可以单独编辑它们。非常感谢任何建议。

3 个答案:

答案 0 :(得分:2)

如果您使用git push origin production明确推送,则您的更改将仅显示在生产分支上。除非您当前的分支机构不是生产,否则在这种情况下我不确定会发生什么。

github上的网络页面(例如:https://github.com/magento/magento2/network)是一个观察你的分支如何以更直观的方式发散的好地方,另一种方式来看这与 gitk 工具在您的机器上。

关于您的本地环境,您只需要克隆一次存储库并使用git checkout <branch_name>

循环遍历分支

答案 1 :(得分:1)

  
    

并将两个分支作为单独的回购

  

它们在一个仓库中,但在不同的分支上,请查看您正在处理的PHPSTORM中的特定分支。如果你的完成,你只推动这个分支。所以,如果你在开发工作。如果您现在正在开发工作,并且在现场工作5分钟,那么只需更换分支 - 这是他们的目的。

在你的PHPStorm中右边有一个字段“git:”,只需点击那里,就会打开一个带有“本地分支”点的子菜单。在此,您可以在本地分支机构之间切换。

本文详细介绍了git工作流程的更多信息: http://nvie.com/posts/a-successful-git-branching-model/

答案 2 :(得分:0)

经过进一步的研究后,我发现分支混淆的原因是因为我在提交之前没有使用checkout,如果它是一个新的本地工作树,必须首先拉出遥控器,然后我将修改的tarball解压缩到dev在master分支上拉,检查dev,然后提交并推送没有问题。

对于那些感兴趣的人来说,这是一个很棒的github工作流程pdf。 http://ftp.newartisans.com/pub/git.from.bottom.up.pdf

也感谢bish的有用文章。