寻找 git 网站存储库/分支结构的建议
我正在寻找有关如何使用 git 存储库和分支构建项目的建议。
假设我想要一个远程存储库,并且我的项目是一个使用 Flash 小部件的网站。 Flash 小部件是根据我编写的源代码编译的。
为了部署我的网站,我希望生产服务器只是从远程存储库中提取的另一个 git 客户端,但我不希望 Flash 小部件的源代码位于我的生产服务器的工作副本中。
我可以通过拥有一个包含 src/ 和 www/ 的“master”分支以及一个仅包含“www/”的“www”分支来做到这一点。但随后我的开发团队需要记住将与网站相关的更改签入 www 分支,并将 Flash 源代码更改为 master。
那么两个问题:这个解决方案与您自己的项目相比如何?而且,您是否发现在您的团队中,您的开发人员很难跟踪分支,并且意外地将应该在一个分支中的更改提交并推送到另一个分支?
I am looking for suggestions for how to structure projects using git repositories and branches.
Assume I want a remote repository, and my project is a website that uses a Flash widget. The Flash widget is compiled from source code that I've written.
To deploy my website, I would like the production server to just be another git client that pulls from the remote repository, but I don't want the source code for the Flash widget to be in my production server's working copy.
I could do this by having a "master" branch that contains both src/ and www/ and a "www" branch that only has "www/". But then my dev team needs to remember to checkin website-related changes to the www branch, and Flash source code changes into master.
So two questions: how does this solution compare to your own projects? And, have you found that in your teams your developers have difficultly keeping track of branches, and accidentally committing and pushing changes that should be in one branch onto another?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我个人偏好不在生产服务器上保留 Git 存储库的副本。为了部署我的网站,我使用了一个部署脚本,该脚本使用 git archive 生成存储库的“无 Git”副本,然后通过 SCP 将其复制到生产服务器。我使用 Python Fabric 来实现此目的,但也可以使用 Ruby 的 Rake 或完全其他的东西。
部署非常简单——我只需运行一个命令,所有内容都会被复制并设置在生产服务器上。
My personal preference is not to keep a copy of the Git repo on the production server. To deploy my web site, I use a deploy script that uses
git archive
to spit out a "Git-less" copy of the repo, which then gets copied to the production server via SCP. I use Python Fabric for this purpose, but one could also use Ruby's Rake, or something else entirely.Deploying is a snap -- I just run one command and everything gets copied and set up on the production server.