如何更新开源代码的修改版本?

时间:2016-06-20 18:49:57

标签: php git github

我从GitHub下载了一个开源PHP代码,然后我在本地对它进行了一些更改。

现在主要源代码在GitHub中更新。

我想知道更新代码的最简单方法是什么,并且还要保留我所做的更改。 (因为这些更新将继续发生,我想知道它的永久解决方案和行业标准)

我不想在GitHub中公开我的代码。

编辑:代码是作为zip文件下载的,而不是作为Git克隆下载。

2 个答案:

答案 0 :(得分:4)

如果克隆了GitHub中的代码到本地计算机,那么原始存储库仍应设置为远程存储库,您应该只需git pull更改并合并将它们放入您的本地代码中。

More info on git pull

如果您将代码作为zip存档下载并对其进行了更改,那将会更加困难。更新本地代码的最简单方法可能是手动将更改合并到本地代码库中。

答案 1 :(得分:1)

幸运的是,图书馆作者允许通过公共属性或方法,或通过类扩展或其他方法进行自定义。

我有一个需要一点个性化的Php库,我可以通过公共属性/方法来实现。

这是一个非常简单的例子:

<?php

class Foo {
    public $bar = 'big';
    public $baz = 'fat';
    public $bat = 'mamma';
}

如果您希望属性$ bat具有不同的值,则可以执行此操作:

$foo      = new Foo;
$foo->bat = 'man';

或者您可以扩展原始类:

class MyFoo extends Foo
{
    public $bat = 'man';
}

$foo = new MyFoo;

两种方法都可以允许更新原始类,而不会影响您的代码。尽可能避免编辑/分析原始库。

如果您必须编辑库代码。并且库使用Git进行版本控制,您可以克隆原始代码(git clone)并为您的更改创建一个新分支。并在必要时记录(提交)并将这些更改应用(合并)到刷新的代码库中。 Git比管理和应用您自己的更改(差异/补丁)到库代码更容易。

如果您可以识别您开始使用的库的版本(可能是标记版本)并且您可以像以前一样重新获取代码,则可以将其与修改后的代码进行比较并创建更改集(或套)。您可以在开始之前git checkout库的版本,创建新分支(从那里),应用您的更改,然后尝试合并回更新的库。