git - 当我们目前拥有开发和生产服务器时,我们如何开始使用 git?

标签 git github

我正在公司内部实现更好的版本控制实践,但我不完全确定如何在当前情况下开始使用 git。

现在我们有一个开发服务器和一个生产服务器。直接对开发服务器进行更改,在测试并准备就绪后,我们通过良好的 'ol SFTP 拖放将它们移至生产服务器。

我想在此过程中以某种方式实现 git(使用 GitHub),但我不确定从哪里开始。我们的开发代码库与我们的生产代码库截然不同,因为我们有 10-15 个正在进行的项目和错误修复,它们不能或不应该被推送。

我们将如何以一种我们可以开始使用 git 而无需首先将我们的开发与生产代码库相匹配的方式来实现它?

最佳答案

分支/特征实验

首先,如果您有 10-15 个正在进行的项目,它们现在如何相互合作?

Git 通过提供分支来解决这个问题。因此,不是将项目混合在一起并共享问题,而是每个实验将在其自己的分支上分开,并将基于 master 分支或 dev 分支。如果涉及到 merge ,这还有一个好处是使它们更容易 merge 。

中央存储库

那么推荐的工作流程是什么?很简单,只需使用一个中央 git 存储库。

我会说,将中央 git 存储库基于生产代码,然后移植有希望的“实验”。或者让实验人员将它们 merge 到新的分支上,然后帮助他们提交它们并将分支向上推。

然后,要更新生产,您将从 master 分支中 pull 。要更新开发服务器,您可以从开发分支中 pull 。不再使用 SFTP。功能分支实验可以根据需要切换到开发,或者更好的是,可以仅在每个开发人员正在运行和测试自己的本地副本上使用。

本地主机开发

这本身独立于 git,但似乎缺少了很大一部分图片,因为你们一直依赖 SFTP,它没有版本控制:一旦你有了版本控制系统,只要将它们推送到中央存储库, check out 的托管位置和提交的提交位置都不再重要。您现在可以托管网站的本地主机版本来运行您的实验。它会很快。它将是可访问的。在您实际 pull 下提交并更新它们之前,它不会破坏开发服务器或实时服务器,因此您可以在本地机器上的本地分支上非常自由和非常强大地进行试验。假设您正在使用网站,您只需在主机文件中创建一个带有别名的完全本地副本。所以我有一个完全本地化的网站 http://nw.local映射到其中包含 git 存储库的文件夹。如果我想做实验,我会 git branch experiment;git checkout experiment 然后 hack away 并提交,如果我喜欢结果,我会 rebase 或 merge 提交到 dev 分支并推送它.然后我经常删除那个分支,并开始一个新的分支,具有新的或类似的实验特性。

关于git - 当我们目前拥有开发和生产服务器时,我们如何开始使用 git?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25388962/

相关文章:

git - 在 merge 到 master 之前我如何在其他分支上工作?

git - 目前有哪些阶段性变化?

git - 为什么 heroku 在我刚下载时告诉我更新 CLI?

Git rebase : Combine non-subsequent commits

GitLab的Shell执行器,无权限

git - Heroku:如何将不同的本地 Git 分支推送到 Heroku/master

php - 错误加载 opcache.so : opcache. 所以 : undefined symbol: compiler_globals - Apache 2. 4/PHP 5.5/Ubuntu 12.10 VPS 失败

permissions - 有没有办法让人们对 github wiki 有写访问权限,而不给他们查看代码的权限

git - 远程 : HTTP Basic: Access denied fatal: Authentication failed

svn - 是否有托管 SVN 提供商提供与 GitHub 相当的讨论工具?