小编out*_*ave的帖子

如何通过保留双方的所有添加来解决 git 冲突?

我一直遇到以下问题,我想知道是否有使用现有 git 命令的简单解决方案,或者我是否需要编写自定义合并驱动程序

这是一个演示我的问题的示例:假设master我的 repo的分支具有以下文件:

$ cat animal.hpp 
#include <string>

class Animal
{
public:
  virtual std::string say() const = 0;
};
Run Code Online (Sandbox Code Playgroud)

我创建一个名为的新分支mybranch并进行以下更改:

diff --git a/animal.hpp b/animal.hpp
index e27c4bf..3bb691a 100644
--- a/animal.hpp
+++ b/animal.hpp
@@ -5,3 +5,13 @@ class Animal
 public:
   virtual std::string say() const = 0;
 };
+
+class Dog : public Animal
+{
+public:
+  virtual std::string
+  say() const override
+  {
+    return "woof";
+  }
+};
Run Code Online (Sandbox Code Playgroud)

与此同时,其他人添加了以下非常相似的更改master

diff …
Run Code Online (Sandbox Code Playgroud)

git git-merge git-rebase merge-conflict-resolution git-merge-conflict

6
推荐指数
2
解决办法
4188
查看次数