我有一个名为new_auth的远程分支。我想要一个新的远程分支来跟踪该远程分支,所以我做了以下内容:
git-remote add -t new_auth -m new_auth pivot git@github.com:myco/my_project.git/my_project
现在当我做一个git分支-a时,我看到了:
* master
new_auth
remotes/origin/HEAD -> origin/master
remotes/origin/new_auth
remotes/pivot/HEAD -> pivot/new_auth
我想删除此遥控器/ pivot / HEAD - >枢轴/ new_auth。我试过了:
git push pivot :new_auth
git branch -rd pivot/new_auth
git remote rm pivot
git remote rm pivot/new_auth
没有运气。有什么想法吗?
答案 0 :(得分:2)
您的remotes/pivot/HEAD
已创建,因为您将-m
选项提供给git remote add
(如果您遗漏-m new_auth
,该命令将不会自动创建symref。)
克隆存储库时会创建类似的symref。如果远程存储库具有HEAD
ref / symref,则您的克隆将以refs/remotes/origin/HEAD
结尾指向与HEAD
指向的远程分支对应的远程跟踪分支之一在远程存储库中。
这些symrefs允许您通过使用遥控器的名称来引用遥控器的“默认分支”(例如pivot
“将” 1 扩展为refs/remotes/pivot/HEAD
,这些指向到refs/remotes/pivot/new_auth
)。
您可以使用以下命令删除symref:
git remote set-head pivot -d
1 请参阅gitrevisions(7)中指定修订的<refname>
条目。
总的来说,我并不是很清楚你试图用git remote add
命令完成什么。如果pivot
和origin
实际上指向同一个远程存储库(相同的“Git URL”),那么就不需要额外的远程存储库。如果您只想让origin/new_auth
成为本地new_auth
分支的“上游”分支,那么您可以使用
git branch --set-upstream new_auth origin/new_auth
(如果您已准备就绪,可以使用git push -u
完成此操作)。配置上游分支后,您可以使用裸git pull
在origin/new_auth
签出后自动从new_auth
撤消(您可能还需git config push.default upstream
git push
只会推送到上游分支,而不是推送本地和远程存储库中存在的所有分支名称。)
答案 1 :(得分:0)
试试这个:
git push remotes/pivot/HEAD :new_auth
或
git push remotes/pivot :new_auth