将更改从git历史记录应用到其他软件版本

时间:2015-02-12 10:26:18

标签: git revision-history

我们说我已经下载了一个1.0.10版本的Kanboard(kanboard.net),把它放在我的git存储库中,然后对它进行了一些更改,以我想要的方式自定义它。但之后发布了更新的1.0.11版本的Kanboard。现在我想知道是否可以将所有更改(提交?)应用于1.0.11版本的新香草副本。

我对git完全陌生,所以我真的不知道在哪里看。只要告诉我这样的事情是否可行,如果是这样,只要指出正确的方向,我就可以自己学习其余的东西。

1 个答案:

答案 0 :(得分:0)

如果您在单独的分支中进行更改,则此类事情最容易。如果是这种情况,您可以使用git rebase操作将更改从一个版本移动到另一个版本。也就是说,假设您从版本1.0.10的存储库开始,并创建一个分支来处理一些错误修正/功能:

$ git status
On branch master
[...]
$ git checkout -b myfeature

现在你做了一些改变。稍后,上游代码的版本1.0.11可用,因此您首先更新您的存储库:

$ git checkout master
$ git pull

现在,您可以在更新后的rebase分支上master进行更改:

$ git checkout myfeature
$ git rebase master

这会在更新的myfeature分支之上重播master分支中的更改。此时您可能需要解决一些合并冲突,但there is documentation on how to handle this

此工作流程的一个关键部分是您将本地工作与上游工作分开。