我在/home/user/reponame
(回购 1)中有一个回购。然后我将此回购克隆到/tmp/reponame
(回购2)。是否可以将 Repo 1 的上游 repo 更改为 Repo 2?
我看到的其他问题暗示了分支,但它们不是我在这里寻找的。当我这样做时git checkout -b test --track /tmp/reponame/master
,我得到了错误/tmp/reponame/master is outside repository
。
我在/home/user/reponame
(回购 1)中有一个回购。然后我将此回购克隆到/tmp/reponame
(回购2)。是否可以将 Repo 1 的上游 repo 更改为 Repo 2?
我看到的其他问题暗示了分支,但它们不是我在这里寻找的。当我这样做时git checkout -b test --track /tmp/reponame/master
,我得到了错误/tmp/reponame/master is outside repository
。
Git 不对任何存储库范围的设置使用术语“上游”。只有个别分支在 Git 术语中具有上游,并且只能设置为其他某个分支,因为它的目的是作为
git merge <otherbranch>
. (您的git checkout
命令也完全围绕使用分支而构建。)相反,您可能正在寻找'remotes',它存储存储库 URL。每个新克隆都将其源 URL 存储在名为
origin
. 因此,如果您希望 repo 1 能够推送到 repo 2,您可以使用git remote add
orgit remote set-url
(取决于该名称的远程是否已经存在):或者:
这通常是更新每个分支的上游,以使
git pull
等工作: