用于合并新分支以及如何停止自动合并的git工作流程?

时间:2011-12-04 18:39:15

标签: git git-merge

我的存储库的设置如下:

名为LIVE
的Web服务器 作为中央仓库的服务器,带有来自LIVE的裸克隆,名为REPO
一个名为TEST的测试Web服务器,带有来自REPO的克隆(也就是与LIVE相同的文件)
用eclipse进行localhost开发和调试。

如果我想在我的网站上添加新功能,我想我可以使用这样的工作流程。
@LIVE:git push #get从LIVE服务器到REPO的最新文件 @eclipse:“从上游获取”#get从REPO到ECLIPSE的最新文件
现在我创建一个名为“mynewfeature”的新分支,当我完成时:
@eclipse:“推向上游”#push新分支到REPO
@TEST:git fetch
我如何检查哪些文件(仅文件名)将随合并而变化?
如何在合并之前检查哪些文件存在冲突?

@TEST:git merge origin / mynewfeature #apply我的新功能
现在,如果一切正常,我会这样做:
@LIVE:git fetch #get LIVE服务器的新功能
@LIVE:git merge origin / mynewfeature

此工作流程是否正确?

我现在的主要问题是冲突.. 如果我有一个混乱的更新我被问到我想要哪个文件,使用git我会得到一个“自动合并”,这会破坏我的PHP文件。
合并文件时可以停止自动合并吗?

1 个答案:

答案 0 :(得分:0)

通常,您要做的是在本地开发系统上进行合并。

  • 从REPO拉
  • 分支mynewfeature
  • 本地开发
  • 将分支推送至REPO
  • mynewfeature分支拉到TEST
  • 如果一切顺利......
  • 在您的开发系统中,将mynewfeature合并到master
  • master推送至REPO
  • master拉到TEST,对合并后的所有内容进行最终检查
  • master拉到LIVE

您在此处进行合并的唯一时间是在您的开发系统中。您可以使用通常的过程在本地解决任何冲突。将合并结果推回到master后,没有其他人必须重复您刚刚执行的合并过程。