0

我们目前有 2 个人在做一个项目。我们使用 github,我们有一个 master 分支。每个开发人员有 2 个子分支。因此,我们总共有 3 个带有 master 的分支。

假设我们有一个文件 hello.class。两位开发人员都在各自的分支中对文件进行了更改。如果我现在将我的子分支与主分支合并。另一个子分支落后了,需要拉master,然后用他的子分支rebase。

现在问题出现了,因为如果他 rebase 的 master 发生变化,他会覆盖他在 hello.class 中的工作。我们将如何解决这个问题?有没有办法拉主,然后自动合并更改到子分支而不覆盖文件中完成的工作?

4

2 回答 2

3

合并是 git 的一半。如果更改发生冲突,git 将中止合并/变基并要求您在继续之前修复它们;如果更改位于文件的不同部分,git 将自己进行合并。你必须竭尽全力才能失去工作。

于 2013-02-27T01:23:39.493 回答
1

Git 不会覆盖更改。当你做一个变基时它会合并它们(你也可以做一个合并,即git merge master)。如果你们都更改了同一行代码,那么 git 会感到困惑并要求您修复合并冲突。但是如果你没有更改完全相同的行,git 足够聪明来合并更改。

我假设您正在提交 .java 文件,因为您不应该提交 .class 文件。

于 2013-02-27T01:21:30.030 回答