我在 tgz 存档中有一个带有补丁的内核源代码。大多数补丁在内核 git 中都是已知的,但我不知道哪些已被集成。我如何知道源代码应用了哪些补丁?
最佳答案
似乎您正在将源代码复制到 git 存储库的外部(我们称其为应用程序的生产环境)。然后你想检查 git repo 中的最新提交是否应用于你的生产环境(在 git repo 之外)。
如果您遇到以上情况,直接回答是否定的。但是您可以将生产环境更改为 git 存储库中的一个分支。
对于git repo,我们通常使用branches来独立地并发地工作。如果我们需要在分支之间应用更改,还要同步分支/工作/环境。对于您的情况,您可以在 git 存储库中的两个分支上工作:
master
分支:作为您的 git 存储库中的生产环境。develop
分支:在此分支上开发新的变更/特性或修复bug,当您准备好将变更应用到master
分支(生产环境)时,只需 mergedevelop
分支到master
分支。
工作流程的步骤如下:
假设,你现在只在 master
分支上工作,提交历史如下:
…---A---B---C master
现在你可以通过git checkout -b develop
创建一个develop
分支,然后作为这个分支工作(比如提交D
, E
和 F
在下图中),提交历史如下:
…---A---B---C master
\
D---E---F develop
当你想将 develop
分支的提交应用到 master
分支(生产环境)时,使用命令:
git checkout master
git merge develop
并且提交历史将是(master
分支和develop
分支都指向最新的提交F
):
…---A---B---C---D---E---F master, develop
关于更详细的分支模型,您也可以引用A successful Git branching model .
关于linux - 从 git 中查找内核源代码 tgz 中应用的补丁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47782799/