我从GitHub下载了一个开源PHP代码,然后我在本地对它进行了一些更改。
现在主要源代码在GitHub中更新。
我想知道更新代码的最简单方法是什么,并且还要保留我所做的更改。 (因为这些更新将继续发生,我想知道它的永久解决方案和行业标准)
我不想在GitHub中公开我的代码。
编辑:代码是作为zip文件下载的,而不是作为Git克隆下载。
答案 0 :(得分:4)
如果克隆了GitHub中的代码到本地计算机,那么原始存储库仍应设置为远程存储库,您应该只需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库的版本,创建新分支(从那里),应用您的更改,然后尝试合并回更新的库。