说,我有一些库的ver。 1.1下git。然后一个新的tar-ball ver。 1.2出来了。如何将分叉库更新为新版本?
答案 0 :(得分:4)
你的问题不是很好,但我会提供一个潜在的解决方案。
让我们假设库的代码库如下所示:
vendor a -- b
你在b
发布了1.1
版本。
vendor a -- b
\
\
you 1 -- 2 -- 3
现在假设vendor
树继续开发。
vendor a -- b -- c -- d
\
\
you (master) 1 -- 2 -- 3
和d
成为他们的1.2
版本。如果vendor
树位于git仓库并且您可以访问它,那么来自git pull
树的git pull --rebase
或vendor
应该可以执行您需要的大部分操作,可能需要解决一些冲突等。但是如果vendor
树不在git中,并且您拥有源代码的唯一访问权限是每个版本的tarball,那么可能需要稍微复杂一些。
所以我会在你分叉的位置创建第二个分支:
$ git checkout -b v1.2 b
然后解压你v1.2 tarbar到这个分支并提交更改。你现在应该有这样的事情:
vendor a -- b -- c -- d
|\
| \
you (master) | 1 -- 2 -- 3
\
(v1.2 branch) x
现在,您可以使用以下方法合并分支v1.2中的更改:
$ git checkout master
$ git merge v1.2
或者您可以使用以下方法在v1.2之上修改您的更改
$ git rebase v1.2
哪个会给你:
vendor a -- b -- c -- d
\
\
you (master) x -- d -- 1 -- 2 -- 3
我不是专家,所以我相信如果我犯了一些错误,人们会发表评论(请做,然后我会添加更正)。