我们目前有2个开发人员在一个项目上工作,并使用Github和Github- client for Windows。
我们的Github分支:- 预制作(从母版克隆)
- dev_1 (clone from master)
- dev_2(克隆自master)
基本理念是,2个分支用于开发,然后将其推向预生产,然后在预生产服务器中进行测试;然后当一切正常时,推到master。
我不确定上面的工作流程是否正确,因为我对Git很陌生。无论如何,我们正在测试工作流,我们做了以下步骤:
在Dev1机器上
- 修改本地dev_1,与远程dev_1同步
- 将本地dev_1合并到本地pre_production中(因为pre_production尚未更改)
- 同步本地pre_production与远程pre_production。
- 将本地pre_production合并到本地dev_1
- local_dev1与远端dev_1同步
在Dev2机器上
- 对本地dev_2进行更改,并与远程dev_2同步
- 切换到本地预生产并与远程预生产同步
- 将本地dev_2合并到本地pre_production
- 同步本地预生产与远程预生产
- 将本地pre_production合并到本地dev_2
到目前为止它工作得很好。然后,当我们试图将dev2所做的更改合并到dev1时,它在同步本地dev_1与远程dev_1时失败了(在步骤5)。
看来我找到问题的答案了。
在步骤5中,我们没有尝试"同步"local_dev和remote_dev,我们只是强制推送到remote_dev。我们可以安全地这样做,因为local_dev将有最新的更改,而不是远程的。
使用下面的命令:
git push git_url local_branch:remote_branch