【问题标题】:How to work with a git patch file and how to tell git bash I want to use a diff tool?如何使用 git 补丁文件以及如何告诉 git bash 我想使用 diff 工具?
【发布时间】:2016-03-10 09:21:31
【问题描述】:

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

我有这两个分支:

develop
*test

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

git rebase develop

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

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

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

编辑:

所以这是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 行,我必须删除整行(连同 - 符号)然后保存文件,对吗?

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

【问题讨论】:

    标签: git github


    【解决方案1】:

    假设你在 test.txt 文件中有冲突。

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

    meld 是相当不错的差异化工具。安装及其他说明可以在http://meldmerge.org/找到

    【讨论】:

    • 谢谢。我编辑了我的问题,你能确认我在编辑中写的是真的吗
    • 尝试查看原始文件中的冲突。不在补丁中。对于你的第二个问题,我已经为你搜索了 :) stackoverflow.com/questions/6412516/…
    猜你喜欢
    • 2020-08-13
    • 1970-01-01
    • 2011-03-26
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多