git - 应用包含已应用更改的补丁
问题描述
我想寻求有关使用 git 应用补丁的帮助。
假设我有以下 git 历史记录(git log)
base_commit --> commit_1 --> commit_2
我从另一个开发人员那里收到了一个(git)补丁。这个补丁包含了他从base_commit
.
我检查了补丁并做了以下内容:
git diff base_commit commit_2
我注意到补丁的更改几乎都包含在差异中(这意味着更改已经在commit_2
.
如果是这样,我就不会应用补丁。但问题是,补丁包含一个尚未包含在commit_2
从这里开始的最佳方式是什么?
我通常在上面应用补丁commit_2
吗?
还是我应该手动应用不在的补丁更改commit_2
?
解决方案
如果你喜欢合并,并且想要记录整个事情,你可以这样
git checkout base_commit
git checkout -b temp-branch
# now apply the patch however you would apply it
# and commit
git checkout main-branch
git merge temp-branch
然后你会在你的历史中看到另一个开发者做了什么,他的基础是什么,以及你是如何组合它们的,所以如果你犯了错误,你会有记录
推荐阅读
- javascript - 为什么动画回调会扰乱我组件的生命周期?
- arrays - 用 C 语言反转句子,单词之间只有一个空格字符
- python - Pyyaml 条件语句
- encryption - 0.9.8h 和 1.1.1k 之间的 Openssl 兼容性问题
- python - Python框架pypi包安装问题
- node.js - 无法访问嵌套集合 Firestore
- java - 如何使用 Derby 在 Spring 中修复 fileNotFound 错误
- c - PIC18f4550 XC8编译器:使能中断服务程序功能时液晶屏停止工作
- cdn - 使用 Amp Cdn url
- electron - Electron 使用 LoadURL 防止打开新窗口并将其保留在当前窗口中