我有一个内核源代码,其中包含tgz存档中的补丁。大多数补丁在内核git中都是已知的,但我不知道哪些已经集成。如何判断哪些补丁已应用于源代码?
答案 0 :(得分:0)
似乎您正在将源代码复制到git repo的外部(让我们称之为应用程序的生产环境)。然后你想检查git repo中的最新提交是否应用于你的生产环境(在git repo之外)。
如果您遇到上述情况,直接答案是否定的。但你可以将生产环境改为git仓库中的一个分支。
对于git repo,我们通常使用分支来单独和间歇地工作。如果我们需要在分支之间应用更改,还要同步分支/工作/环境。根据您的情况,您可以在git仓库中使用两个分支:
master
分支:作为git仓库中的生产环境。develop
分支:开发新的更改/功能或修复此分支上的错误,当您准备将更改应用于master
分支(生产环境)时,只需合并develop
分支进入master
分支。工作流程的步骤如下:
假设您现在只在master
分支机构工作,提交历史记录如下:
…---A---B---C master
现在,您可以按evelop
创建广告git checkout -b 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。