0

我们目前有 2 名开发人员在做一个项目,并使用 Github 和 Windows 版 Github-Client。

我们的 Github 分支:

  1. 掌握
  2. pre_production(从主机克隆)
  3. dev_1(从主机克隆)
  4. dev_2(从主服务器克隆)

基本思想是,2个开发分支,然后推送到pre_production,然后在pre_production服务器中进行测试;然后当一切正常时,推到掌握。

我不确定以上是否是正确的工作流程,因为我对 Git 还很陌生。无论如何,我们正在测试工作流程,我们执行了以下步骤:

在 Dev1 机器上

  1. 在本地 dev_1 中进行了更改,与远程 dev_1 同步
  2. 将本地 dev_1 合并到本地 pre_production(因为 pre_production 尚未更改)
  3. 将本地 pre_production 与远程 pre_production 同步。
  4. 将本地 pre_production 合并到本地 dev_1
  5. 将 local_dev1 与远程 dev_1 同步

在 Dev2 机器上

  1. 在本地 dev_2 中进行了更改,与远程 dev_2 同步
  2. 切换到本地 pre_production 并与远程 pre_production 同步
  3. 将本地 dev_2 合并到本地 pre_production
  4. 本地 pre_production 与远程 pre_production 同步
  5. 将本地 pre_production 合并到本地 dev_2

到目前为止,它工作得很好。然后,当我们尝试将 dev2 所做的更改合并到 dev1 中时,在将本地 dev_1 与远程 dev_1 同步时失败(在第 5 步)。

由于我们是 Git 新手,因此很高兴能得到一些帮助。

4

1 回答 1

0

好的,看起来我找到了我的问题的答案。

在第 5 步中,我们没有尝试“同步”local_dev 和 remote_dev,而是简单地强制推送到 remote_dev。我们可以安全地执行此操作,因为 local_dev 将拥有最新的更改,而不是远程的。

是否使用以下命令:

git push git_url local_branch:remote_branch

希望这可以帮助某人。

于 2013-03-10T11:02:59.967 回答