Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 将不同的项目推送到不同现有项目的最新提交_Git_Github - Fatal编程技术网

Git 将不同的项目推送到不同现有项目的最新提交

Git 将不同的项目推送到不同现有项目的最新提交,git,github,Git,Github,我不是在问为什么我不能推动回购。我想问的是,将一个新的本地项目推向一个现有回购协议的正确方式是什么,该回购协议有大量不同的代码,并且现有项目中的许多代码已被删除。这意味着我不能拉项目,因为它会添加所有旧代码回来 我有一个git项目 项目A 我对它做了一些重大更改,所以我在本地主机上创建了一个新项目,并复制了一些代码对其进行更改。现在我已经重构了我的项目,我想推动这个项目 项目B 成为项目A的最新成员。这样我可以维护项目的历史记录。而不是删除旧项目 问题 如何将项目B推送到项目A的最新提交 我尝试

我不是在问为什么我不能推动回购。我想问的是,将一个新的本地项目推向一个现有回购协议的正确方式是什么,该回购协议有大量不同的代码,并且现有项目中的许多代码已被删除。这意味着我不能拉项目,因为它会添加所有旧代码回来

我有一个git项目

项目A

我对它做了一些重大更改,所以我在本地主机上创建了一个新项目,并复制了一些代码对其进行更改。现在我已经重构了我的项目,我想推动这个项目

项目B

成为项目A的最新成员。这样我可以维护项目的历史记录。而不是删除旧项目

问题

如何将项目B推送到项目A的最新提交

我尝试的

我在项目B中打开了
.git/config
,并将URL更改为项目A

然后试图将项目推进到现有的回购协议中,我得到了这个

错误:无法将某些引用推送到 “”提示:已更新 已拒绝,因为远程包含您没有的工作提示:没有 在当地。这通常是由另一个存储库推送提示导致的:to 相同的参考。您可能希望首先集成远程更改提示: (例如,“git pull…”),然后再次推动。提示:请参阅“关于的注释” 有关详细信息,请参阅“git推送-帮助”中的“快进”


但如果我收回回购协议,我将添加我试图删除的所有代码

您的工作方式让您的存储库进入了一种奇怪的状态。如果您真的想保留所有历史记录,最好保留所有代码并将其从本地回购中删除,然后推动这些更改。这听起来像是你试图缩短这一步,但现在你在同步方面遇到了问题。说实话,我很惊讶git能处理得这么好

最优雅的解决方案将是遵循提示的建议,执行git拉操作,解决冲突,然后推操作。听起来这需要做很多工作,但这是最佳实践


如果有一组离散的人员在这个存储库上工作,您可以轻松地与他们交流,并且您确信您正在推送的内容是您想要的,那么您可以执行
git push-f origin master

错误消息中您不理解的内容是什么?我理解错误消息。我不是在问错误消息是什么意思。如果我使用git pull,它将把项目A中的所有代码都拉到项目中。重点是我想推动项目b,它有大量的项目a。代码被删除,成为项目a的新负责人>那么你还需要知道什么?你做了信息所暗示的事情了吗?阅读几十个现有问题中的任何一个,告诉你如何解决这个问题?是的,可能是重复的。你也有同样的问题;您的本地计算机与远程计算机不匹配。第二个答案完全符合您的要求,强制替换当前远程内容。