暂存服务器上的多个git分支

暂存服务器上的多个git分支,git,Git,我最近开始使用git,我遇到了一个问题。例如,每个人都建议使用尽可能多的分支,但是我如何使登台服务器上的多个分支可见,以便我的客户机一次查看我所做的所有更改?我知道我可以将分支合并到开发中(然后合并到主分支中进行实时部署),但如何部署开发中的所有分支,以便客户机可以一次看到所有更改?我确实更新了post receive代码,将实际代码移动到正确的工作目录,它还切换到最新的推送分支,但这不是一个解决方案,我希望看到所有的分支,当推送生效时,我应该能够选择推送和不推送的分支(客户有时不喜欢新功能或所

我最近开始使用git,我遇到了一个问题。例如,每个人都建议使用尽可能多的分支,但是我如何使登台服务器上的多个分支可见,以便我的客户机一次查看我所做的所有更改?我知道我可以将分支合并到开发中(然后合并到主分支中进行实时部署),但如何部署开发中的所有分支,以便客户机可以一次看到所有更改?我确实更新了post receive代码,将实际代码移动到正确的工作目录,它还切换到最新的推送分支,但这不是一个解决方案,我希望看到所有的分支,当推送生效时,我应该能够选择推送和不推送的分支(客户有时不喜欢新功能或所做的更改…)


有什么建议吗?git能够实现我想要实现的目标吗?

一次只能在存储库的一个工作副本中签出一个分支

获取所需内容的最简单方法可能是为测试部署创建一个新分支,并合并您对其进行开发的每个“特性分支”

该分支将包含您选择合并到它的所有特性,因此您可以将其推送到您的暂存服务器进行测试

假设您的稳定代码位于分支“master”中,并且您希望测试分支“feature1”、“feature2”和“feature3”中更改的部署(所有这些都是从master中分支出来的),并且您有一个名为“staging”的远程设置,您希望将其推送到其中,类似这样的设置应该可以工作:

git checkout master
git checkout -b test_deployment
git merge feature1
git merge feature2
git merge feature3
git push staging test_deployment

您考虑过使用gerrit吗?gerrit会将所有更新推送到master(例如)在gerrit中,您可以选择要合并的项目。它似乎与您要查找的项目相似,或者我完全误解了这个问题。@Martin:我来看看gerrit,谢谢。@Quetzalcatl:我认为git正是……一个管理It开发和工作流程的工具。否则,它为什么有用?我可以使用Google Drive这将作为存储我的文件的地方。Kristjan,不,当然不是这样。你可以基于git构建一个开发工作流,但git本身与之无关,只提供一些基本操作,如分支或合并。但是“分支”为您创建一个新的虚拟机?或者它会告诉John从现在开始他应该在该分支上工作吗?不。不会。您可以将该分支命名为John new feature,并依赖于他的智能,而不是git。您可以编写一篇文章,无论什么脚本都可以连接VMWare并安装一台新机器,但它将是您的脚本,您的工具。不git.git将只是它的基础,无论你在它上面构建什么,它都不是git,而是你的环境、工具、规则、惯例等。git本身是一个跟踪文件的版本控制系统。请检查,也就是说,请检查“持续集成”和“持续交付”术语,寻找支持它的工具。我有一种感觉,它将帮助您更快地找到答案和工具。我还有一种感觉,您可能已经有很多脚本,或者您正在使用第三方工具,如Bambol,但您还没有说出来。我想是这样,但不确定。谢谢您的评论!