0

我想了解 git 在与两个不同的代码合并时会寻找什么。

什么时候删除代码或插入

所以如果我有代码

Foo.java(这是我的代码)

class Foo {
     void hello(){}
     void bye(){}
     void gone(){}
}

Foo.java(正在获取和合并的代码)

class Foo{
     void hello(){}
     void wait(){}
     void bye(){}
}

如果我合并上面的代码,这会

  1. 它会删除消失和再见的方法吗?
  2. 如果在 hello 方法中进行了更改,它是否会删除我的 'hello' 并用获取的 hello 重写它?
4

1 回答 1

3

首先,它不会删除 bye,它会在其上方插入 wait()。它不会删除gone(),除非它存在于上一个版本中并且在后续版本中被删除而你没有在两者之间触及它。如果您自己添加了 got()(即 git 没有收到任何应删除的指示),那么将在合并文件的底部找到 got()。像这样:

class Foo{
     void hello(){}
     void wait(){}
     void bye(){}
     void gone(){}
}

其次,它不会删除你的 hello,它只会将所做的更改放入已经存在的 hello() 中。

记住,如果不能合并,就会引发冲突,你得自己去合并。它不只是删除/添加没有人工输入就没有意义的东西。

于 2012-12-19T13:08:45.647 回答