Git 将您的项目基于另一个项目
我试图将我的项目Git 将您的项目基于另一个项目,git,Git,我试图将我的项目A建立在第三方项目B的基础上A将更改B的两个文件并添加更多文件。最后,我想从原始回购协议中获得新版本的B,并将其与a相结合,保留我对它的所有更改 我试图通过创建一个分支source来实现这一点,在那里我加入了香草B和它的所有未来版本。然后将它与master合并,手动解决上面提到的两个文件的合并冲突,一切都会好起来,或者我是这么想的。玩弄它,我为每个分支创建了两个不同的README.md文件,在将source合并到master之后,我发现source的README.md也发生了变化
A
建立在第三方项目B
的基础上A
将更改B
的两个文件并添加更多文件。最后,我想从原始回购协议中获得新版本的B
,并将其与a
相结合,保留我对它的所有更改
我试图通过创建一个分支source
来实现这一点,在那里我加入了香草B
和它的所有未来版本。然后将它与master
合并,手动解决上面提到的两个文件的合并冲突,一切都会好起来,或者我是这么想的。玩弄它,我为每个分支创建了两个不同的README.md
文件,在将source
合并到master
之后,我发现source
的README.md
也发生了变化。显然我根本上误解了什么
考虑到这有多普遍,必须有一个简单和git初学者友好的方法来做到这一点?当我在谷歌上搜索它时,我发现的只是如何拉取请求并将它们提交给原始回购协议,但我不打算为B
,而是制作我自己的版本
所以,我要明确的是,我的问题不是如何直接让我的尝试成功,而是如何构建我在第一段中描述的内容 有多种方法可以解决您遇到的问题。最简单的方法是遵循以下步骤:
B
的fork
git remote add upstreamgit@github.com:USERNAME/PROJECT_B_REPOSITORY.git
git向上游拉
解决冲突并推送到origin
(即projectA
远程)这里是了解“最佳实践”的好地方,因为实践往往是有问题的。@MateuszChrzaszcz在参考其他网站时,指出这一点通常是有帮助的。另外,你的网站推荐看起来并不吸引人,请参阅@gnat我同意关于交叉发布的建议-这一点也不需要说。但是,以前这个问题的标题是“基于(…)的最佳实践”,每当涉及实践(例如“干净代码”问题)时,建议将讨论转移到softwareengineering.stackexchange。com@MateuszChrzaszcz恐怕之前的头衔没能让它更适合那里,看看我发现的一些东西,其他git初学者在考虑选择这种方法时可能会觉得很方便:你不需要删除
B
的文件,在加入新版本的B
之后,你的项目A
就不需要了。吉特有头脑。