首页 > 解决方案 > 如何在我的开发远程服务器上 git pull 一个特定的分支?

问题描述

我正在尝试在 Git(hub) 的帮助下创建一个本地 -> 开发 -> 生产环境。但我找不到正确的方法来做到这一点。

这些是级别:

  1. 具有主分支、开发分支和功能分支的本地开发存储库。
  2. 带有 master、develop 和 feature 分支的 Github 存储库。
  3. 测试远程服务器https://test.website.com/
  4. 生产服务器https://website.com/

这是我想到的工作流程:

1)我在本地进行更改,首先是在feature分支中。

2)合并feature分支与develop分支。

3) 推送到 Github 存储库。

4)将develop分支拉到我的测试远程服务器。测试是否一切正常。

// Development server
ssh username@[IP_ADDRESS]
cd /to/my/git/folder
git pull https://www.github.com/user/repo

5)将我的开发分支合并到master.

6)master在我的生产远程服务器上拉我的分支。

// Production server    
ssh username@[IP_ADDRESS] 
cd /to/my/git/folder
git pull https://www.github.com/user/repo

问题

我面临的问题是,当我git pull在开发服务器上进行回购时,我只能得到我的master分支。但我希望我的develop分支在我的开发服务器上,我的master分支在我的生产服务器上。

这甚至是一个有效的工作流程还是我需要以另一种方式设计它?

标签: gitgithub

解决方案


在开发服务器中,您可以这样做git pull && git checkout <development-branch-name> 它将使用更改更新 git repo 并将 repo 切换为使用开发分支。

看看这个问题,了解如何配置您的.gitconfig文件以跟踪远程分支 - Git:哪个是分支的默认配置远程?

关于工作流程,这就是我工作过的地方的工作方式。所以,我想这似乎很好。


推荐阅读