如何使用 git 补丁文件以及如何告诉 git bash 我想使用差异工具



我在使用 Git 时处于初学者水平。

我有两个分支:

develop
*test

我现在正在测试中,我想重新定位开发,所以我做了

git rebase develop

有一些合并冲突,所以git告诉我它在.git/rebase-apply/patch中创建了一个补丁文件

我打开那个文件,我看到那里有一堆冲突。接下来我该怎么做?

如何让 git bash 下次遇到合并冲突时打开 git diff 工具?我应该为 Windows 安装哪个差异工具?

编辑:

所以这是patch文件的一部分:

diff --git a/app/src/main/java/com/example/android/app/MainActivity.java 
b/app/src/main/java/com/example/android/app/MainActivity.java
index 36c85c8d1f780dd7b0a6dacada717524e95bf7d4..174badb785e6f28b0d9ecd32164a7153b5f2acd5 100755
--- a/app/src/main/java/com/example/android/app/MainActivity.java
+++ b/app/src/main/java/com/example/android/app/MainActivity.java
@@ -393,7 +393,7 @@ public class MainActivity extends BaseActivity
      */
     public void showLoginFragment(boolean setAsActive) {
-        showFragment(LoginFragment_.builder().setAsActive(setAsActive)
+        showFragment(LandingFragment_.builder().setAsActive(setAsActive)
                 , true
                 , "login"
                 , true

假设我想删除 LoginFragment 行并离开 LandingFragment 行,我必须删除整行(以及 - 符号),然后保存文件,对吗?

编辑2:原来我已经安装了kdiff。如何告诉 Git 使用它而不是让我浏览补丁文件?

假设您在test.txt文件中发生了冲突。

您应该打开test.txt文件并手动解决冲突(保留所需的行并从文件中删除任何不需要的行)。解决冲突后,使用git add <path to that file>添加文件,然后运行git rebase --continue

Meld 是相当不错的差异工具。安装和其他说明您可以在 http://meldmerge.org/中找到它

最新更新