我已经购买了Unity资产,它以源代码的形式出现,我已经对其进行了更改以更好地满足我的需求。
我的问题是我需要能够获得未来版本并将其与我自己的修改版本合并。
我在Git中使用我自己的修改版本,并想知道是否有任何方法可以获得新的修改,而无需手动处理合并,帅哥和其他相关的东西。
我读过关于fork但不确定我是否可以在这里使用它。
答案 0 :(得分:1)
这里的关键是使用原始代码版本模拟远程存储库。
为此,请将您收到的源代码cd
的副本提取到该目录并git init
。你将有一个全新的回购。
不触摸(即编译)任何内容,运行git checkout --branch upstream
以创建新分支,并git add .
将所有代码添加到索引中。然后git commit
,写一些消息说这是你收到的原始源代码,并包含它的版本(如果有的话)。
在此之后,git checkout --branch master
用于创建master
分支,并在那里进行修改。根据需要/想要提交尽可能多的提交 - 这将是您的工作分支。
每当您获得第三方代码的新版本时,git stash
您拥有的任何非提交更改,然后git checkout upstream
返回到您拥有的最新版本。复制您在那里收到的所有文件 - 我首先尝试git rm
回购中的每个文件,然后复制并git add
新文件,以防他们删除任何人 - 然后{{ 1}}新版本。更新后,git commit
和git checkout master
,以便在工作分支中包含所有更改。
您应该git merge upstream
或git merge
您可能正在处理的任何其他分支,以包含这些更新。此外,您可能希望在单独的分支中对更新的git rebase
分支进行合并(或rebase
),以便在更新破坏您的任何更改时测试您的项目。
但关键的想法是:有一个分支,就像源代码是git版本一样,并以此为基础。