Git在两个本地存储库之间拉取更改

Git在两个本地存储库之间拉取更改,git,git-pull,Git,Git Pull,我有两个相同远程存储库的克隆。我对一个本地存储库做了一些更改,如何将这些更改拉到另一个本地存储库而不将其推送到远程存储库?您可以像对待另一个系统上的远程响应一样对待第二个克隆。您可以执行所有相同的操作,例如 ~/repo1 $ git remote add repo2 ~/repo2 ~/repo1 $ git fetch repo2 ~/repo1 $ git merge repo2/foo 添加到djs响应中。添加本地repo后,可以将其视为master,这样所有其他git命令都可以正常工

我有两个相同远程存储库的克隆。我对一个本地存储库做了一些更改,如何将这些更改拉到另一个本地存储库而不将其推送到远程存储库?

您可以像对待另一个系统上的远程响应一样对待第二个克隆。您可以执行所有相同的操作,例如

~/repo1 $ git remote add repo2 ~/repo2
~/repo1 $ git fetch repo2
~/repo1 $ git merge repo2/foo

添加到djs响应中。添加本地repo后,可以将其视为master,这样所有其他git命令都可以正常工作

例如,如果您在目录A中做了一些更改,并将其保存在提交中。要在目录B(同一台计算机)中检索这些更改,只需在该目录中打开一个终端,然后进行git pull

git pull

这将复制目录A中的任何更改。我使用这个系统,这样我就可以有一个“开发”环境(dir A)和一个“生产”环境(dir B)。I only git pull in dir B

如果您试图在一个不相关的存储库中获取和合并,请确保将
--allow unrelative history
传递给merge命令。这里应该有什么
foo
呢?这里的含义是,您在获取的repo2中可能有一个包含更改的分支(可能是您所做的)您现在需要合并到repo1中。您可以执行一个“git checkout repo1”来确保您当前的头部状态在哪里。最后一行将尝试从repo2/foo合并到repo1。然后,您将解决冲突、提交并可能推送repo1更新。repo2将不受影响,因为提取是从源站分离的副本。相关文档: