在版本化项目和非版本化项目之间集成代码

时间:2012-03-17 14:57:27

标签: git integration

我们将项目的一部分外包给另一家公司,我们也在内部开发。我们在内部使用GIT,但另一家公司则没有。由于我们接近截止日期,我们没有时间在GIT上培训这些人。

手动整合文件会很忙,我需要一些方法来集成他们的非版本代码。

这是我尝试过的一些技巧,但没有成功: 我从我的主分支'main'创建了一个新的分支'test',替换了该分支中的所有文件。所以,现在我的主分支'main'包含我们的工作,'test'分支包含其他工作。

我的分支'main'中有文件m1,m2,m3,当我替换所有文件和文件夹时,它们被删除了。我认为合并'test'和'main'就足够了并带回已删除的文件,但事实并非如此。我认为这是因为'test'来自'main'。

我是GIT的初学者,不知道采摘樱桃的概念。但如果这些有帮助,我非常愿意学习这些。

有人可以建议我采用正确的方式整合项目吗?

编辑:Tomas Markauskas所说的对我来说似乎是一个完美的解决方案。但不幸的是,我们已经从另一家公司获得了发布,我现在正在做的是

  • 创建了一个新的分支'out'
  • 将代码粘贴在其中
  • 使用git diff out --stat
  • 列出了差异
  • 将列表作为核对清单手动签出,跳过单个文件(其中只有一个进行了一些更改)

但对于我们都进行了一些更改的文件,我想我需要单独合并它们并进行手动解析,阅读这些行中的所有代码行。

还有比这更好的方法吗?

1 个答案:

答案 0 :(得分:2)

您可以为其他公司创建分支。每次更新代码时,您只需将旧文件替换为新文件并提交即可。每次提交都代表一个版本。然后,您可以轻松地将其合并到您的工作分支中。

为避免删除在其他分支中删除的文件,您可以合并分支而不提交合并(--no-commit)。然后只需还原您不想应用和提交的更改。