第三方项目不在GIT中-新版本-保留我的更改
我从Codecanyon购买了一些代码(许可),这些代码没有在GIT中维护。 我现在对它做了很多修改(使用GIT)。 很快,原始代码的作者将发布一个新版本。 我希望在不失去自己的基础上融入他们的变化。 因此,我希望加载他们的代码,让GIT指出冲突,以便(希望)将新代码合并到我的代码中。 有谁能推荐一种安全的方法来实现这一点吗?第三方项目不在GIT中-新版本-保留我的更改,git,conflict,Git,Conflict,我从Codecanyon购买了一些代码(许可),这些代码没有在GIT中维护。 我现在对它做了很多修改(使用GIT)。 很快,原始代码的作者将发布一个新版本。 我希望在不失去自己的基础上融入他们的变化。 因此,我希望加载他们的代码,让GIT指出冲突,以便(希望)将新代码合并到我的代码中。 有谁能推荐一种安全的方法来实现这一点吗? 谢谢。将git与非git项目混合在一起并不好,也许这是基于观点的,但我会这么做: 创建一个git回购,将第三方代码放入其中并进行第一次提交(这将是您的master或mai
谢谢。将git与非git项目混合在一起并不好,也许这是基于观点的,但我会这么做:
master
或main
分支下一步(选择名称)
master
主版本中,然后创建一个分支第三方
,并用新版本替换其内容(这就是它变得丑陋的地方)
thirdParty
与master
合并,或b)将master
与thirdParty
合并。这可能是非常混乱的考虑到他们的修改必须是巨大的,所以我选择b)如果您在本地回购协议中提交了其代码的第一个版本:
$ git log --graph --oneline
1234ee * (HEAD -> master) my latest changes
1234dd * added a feature
...
1234aa * a commit, with the initial version of the product's code
...
你可以:
- 创建从该提交开始的分支:
- 使用新版本更新代码:
- 您现在可以在本地分支中合并上游:
git checkout -b upstream 1234aa
# to be thorough : you should delete files which existed in the first version,
# and do not exist in the new version
git rm -- [list all files of original archive]
# for example, here is one way to drop all versioned files :
git rm -- "*"
# extract the files from the new version :
tar -xzf newversion.tgz
# add and commit :
git add .
git commit -m "new version"
git checkout master
git merge upstream