我一直遇到以下问题,我想知道是否有使用现有 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