如何将克隆的 Git 存储库的 'master' 分支更改为指向您自己的遥控器?
How do you change the 'master' branch of a cloned Git repo to point to your own remote?
我克隆了第三方 Github 存储库,进行了自己的更改并推送到我需要从不同位置使用的远程,方法是创建我自己的裸远程存储库并将我的更改推送到它 -基本上是这样的:
git init --bare ~/repos/customized.git
git remote add customized myname@host:/home/myname/repos/customized.git
git push --all customized
git remote rename origin upstream
执行 git branch -a
会产生以下输出:
$ git branch -a
* master
remotes/rca_customized/master
remotes/upstream/HEAD -> upstream/master
remotes/upstream/master
我现在想要的是让 master 分支引用我的 customized
仓库,这样 git push
会自动推送到 customized
,我怀疑这会导致 git branch -a
产生下面的输出。
$ git branch -a
* master
remotes/upstream/master
remotes/customized/HEAD -> customized/master
remotes/customized/master
我不确定在本地仓库完成我想要的并推送到 'customized' 后,从其他位置克隆 customized
是否会导致输出 git branch -a
在初始位置显示 origin
的地方显示 customized
。我宁愿它说 customized
而不是 origin
,但可能有充分的理由坚持原点约定。
您可以使用 --set-upstream-to
更改本地分支的跟踪远程分支。
$ git checkout master
$ git branch --set-upstream-to customized/master
在 the docs 中获取有关远程分支的更多信息。
origin
只是 git 分配给您从中克隆的存储库的默认远程名称。远程名称只是 URL 的别名,并且是每个存储库的本地名称。所以你根本没有办法设置一个远程来指示它的克隆为远程引用设置一个特定的名称,而不是 origin
。如果您想使用不同的名称,您必须在克隆后手动重命名它。
我克隆了第三方 Github 存储库,进行了自己的更改并推送到我需要从不同位置使用的远程,方法是创建我自己的裸远程存储库并将我的更改推送到它 -基本上是这样的:
git init --bare ~/repos/customized.git
git remote add customized myname@host:/home/myname/repos/customized.git
git push --all customized
git remote rename origin upstream
执行 git branch -a
会产生以下输出:
$ git branch -a
* master
remotes/rca_customized/master
remotes/upstream/HEAD -> upstream/master
remotes/upstream/master
我现在想要的是让 master 分支引用我的 customized
仓库,这样 git push
会自动推送到 customized
,我怀疑这会导致 git branch -a
产生下面的输出。
$ git branch -a
* master
remotes/upstream/master
remotes/customized/HEAD -> customized/master
remotes/customized/master
我不确定在本地仓库完成我想要的并推送到 'customized' 后,从其他位置克隆 customized
是否会导致输出 git branch -a
在初始位置显示 origin
的地方显示 customized
。我宁愿它说 customized
而不是 origin
,但可能有充分的理由坚持原点约定。
您可以使用 --set-upstream-to
更改本地分支的跟踪远程分支。
$ git checkout master
$ git branch --set-upstream-to customized/master
在 the docs 中获取有关远程分支的更多信息。
origin
只是 git 分配给您从中克隆的存储库的默认远程名称。远程名称只是 URL 的别名,并且是每个存储库的本地名称。所以你根本没有办法设置一个远程来指示它的克隆为远程引用设置一个特定的名称,而不是 origin
。如果您想使用不同的名称,您必须在克隆后手动重命名它。