gpt4 book ai didi

javascript - 维护第三方代码的自定义补丁

转载 作者:行者123 更新时间:2023-11-29 17:18:51 25 4
gpt4 key购买 nike

我正在构建一个使用第三方 JavaScript 库 (TinyMCE) 的网络应用程序。

我的应用程序有一些特定需求,需要我在几个地方修补库。补丁很简单(不到十几行),但因为它们是特定于我们的用例而不是错误。

我希望能够在库本身的新版本发布时进行更新,这将覆盖我们在 Git 存储库中的更改。

我需要一种方法来确保在将更新的库推送到生产服务器之前始终应用我们的补丁。由于更改非常小,因此手动应用它们不是问题。

在更新第三方代码时,如何确保我对第三方代码的补丁应用到我们的存储库中?

最佳答案

创建一个用于跟踪第三方代码的存储库,并将您的补丁放在一个单独的分支中。当您需要最新版本时,获取更改和 rebase你的分支机构。

例如:

$ git clone --origin github https://github.com/tinymce/tinymce.git
$ cd tinymce/
$ git remote add origin git@myrepo.example.org:tinymce

然后制作您的补丁并推送到您的存储库:

$ git commit -m "my patches to tinymce"
$ git push --set-upstream origin master

此时您的存储库如下所示:

(0) --- (1) --- ... (n) --- (X)
|
master

X 是你的补丁。

现在设置一个分支以从 github 远程获取新修订:

$ git branch tinymce_import github/master
$ git checkout tinymce_import
$ git pull --ff-only

所以你的存储库变成这样(git branch 足够聪明,可以使用 github 远程中的最后修订作为源):

                           master
|
+----- (X)
|
(0) --- (1) --- ... (n) --- (n+1) --- ... (n+m)
|
tinymce_import

最后在 tinymce_import 上 rebase 你的 master 分支:

$ git checkout master
$ git rebase tinymce_import

master
|
+----- (X)
|
(0) --- (1) --- ... (n) --- (n+1) --- ... (n+m)
|
tinymce_import

关于javascript - 维护第三方代码的自定义补丁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14397188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com