git - 具有多个提交的 Git 补丁,最后一个未应用
问题描述
我有 2 个存储库,正在尝试使用补丁将更改从一个存储库移动到另一个存储库。以下是场景。有一个提交 ( f31541e
) 会更改 3 个文件的内容。然后最后一次提交(日志顶部b546664
)删除其中一个文件 c.txt。
$ git log
**commit b54666405a5126e6efcb8b605b3bb0182200f258** (HEAD -> develop, origin/develop
)
Author: Andy Whelan
Date: Tue Feb 25 12:31:24 2020 -0500
Deleted c.txt
**commit f31541e1b6f417deab23e38bab25f854ac45ade6** (origin/patch-delete-c, origin/p
atch-branch-src-us1, patch-delete-c, patch-branch-src-us1)
Author: Andy Whelan
Date: Tue Feb 25 11:00:49 2020 -0500
Modified all 3 files.
**commit 32b12065cfa3aa25f07c2698197788792c55b99d** (origin/master, master)
Author: Andy Whelan
Date: Tue Feb 25 08:39:54 2020 -0500
Adding a.txt, b.txt, c.txt
我正在创建一个补丁文件,如下所示:
git format-patch -2 b54666405a5126e6efcb8b605b3bb0182200f258 --stdout > can.patch
补丁文件(下)在底部有最新的更改(已删除的文件),另一个在顶部。以下是这个文件的一些内容,我已经注释掉了 3 个文件中的文本被更改的部分,因为这有效(//content 更改了 3 个文件,这有效)。我遇到的问题是 c.txt 没有被删除,就像它应该的那样。应用 3 个文件中的文本更改。但文件删除不是。任何人都知道我可能做错了什么?
From f31541e1b6f417deab23e38bab25f854ac45ade6 Mon Sep 17 00:00:00 2001
From: Me <me@someplace.com>
Date: Tue, 25 Feb 2020 11:00:49 -0500
Subject: [PATCH 1/2] patch modifies all 3 files
---
//content changes 3 files, this works
--
2.20.1.windows.1
From b54666405a5126e6efcb8b605b3bb0182200f258 Mon Sep 17 00:00:00 2001
From: Me <me@someplace.com>
Date: Tue, 25 Feb 2020 12:31:24 -0500
Subject: [PATCH 2/2] applied patch-delete-c
---
c.txt | 2 --
1 file changed, 2 deletions(-)
delete mode 100644 c.txt
diff --git a/c.txt b/c.txt
deleted file mode 100644
index 1a7ca5c..0000000
--- a/c.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-this is file c
-add a line to c
\ No newline at end of file
--
2.20.1.windows.1
解决方案
请参阅上面 torek 关于使用的评论
git am <patchfilename>
这才是正确答案。
推荐阅读
- api - 如何对功能文件进行排序
- node.js - 如何聚合 mongoDB 查询以返回具有唯一字段的平均出现次数?
- javascript - Vue test utils 观看测试
- image - 如何从此图像中删除此非红色和非圆形对象?并使红色变为白色,其余为黑色
- goto - 为什么这个 GOTO 在 BASIC 256 中不起作用?
- javascript - Vue.js Node.js Multer - 如何在有或没有文件上传的情况下发送我的 formData,以便访问者可以选择发送或不发送图像?
- apache-spark - 如何取消在另一个数据帧之上创建的缓存数据帧
- tkinter - Tkinter 绑定
例外 - reactjs - Raect中的Swiper js如何停止自动播放onMouseEnter并启动它onMouseLeave
- php - PHP:Foreach 访问不正确索引数组的值