2013-02-26 58 views
0

我在我的服务器上安装了git,为了拉动master分支,我做了:git checkout origin/branchname,这导致了我的服务器repo上一个名为“origin/branchname”的分支。之后,我学会了正确的方式来获取分支(使用抓取和拉),但我的服务器回购中仍然有origin/branchname。我有两个问题:删除名称为'origin/branchName'的本地分支

  1. 那是什么?它与我使用pull创建的“普通”branchname有什么不同?

  2. 删除我的服务器repo上的origin/branchname是否安全?中央存储库是否有任何风险?我怀疑是这样,但我想在做之前检查一下。

澄清:我不希望在我的中央资料库,以改变什么(我们使用到位桶)。我只想删除我的发行版本中的origin/branchname,并破坏任何内容。

回答

0

origin/branchName是本地分支的有效名称。如果您运行git branch,你看到它列在那里,这意味着它是一个本地分支,它可以安全删除(不与任何远程分支搞乱)有:

git branch -d origin/branchName 

如果你有一个名为像这样的分支,而且你也碰巧有一个远程分支会解析为相同的名称,当你使用这个参考运行git命令时,你会收到警告:

git show origin/branchName 
warning: refname 'origin/branchName' is ambiguous. 
0

如果您将其视为“独特”分支,并且您也可以看到您的“新”分支。我会说,它是确定删除“git push :[branch_to_delete]

您可以在本地删除这样说:git branch -d [branch_to_delete]和分支将仍然可用在“云”

+0

谢谢。请检查我上面的更新。我想我的问题还不清楚。 – emersonthis 2013-02-26 16:57:42

0

是的,你可以安全地删除分支。

如果你安装了Git的V1.7.0,您可以使用删除远程分支:

混帐推起源--delete 'BRANCHNAME'

其中有一个更直观的语法比:

git push origin:'branchName'

+0

谢谢。请检查我上面的更新。我想我的问题还不清楚。 – emersonthis 2013-02-26 16:57:10

+0

小心,这会删除远程分支。 – LopSae 2013-02-27 00:29:22

1

<remote name>/<branch name>指示远程存储库<remote name>上分支<branch name>的最后一个已知状态。每当您从分支机构<branch name>的远程存储库获取新内容时,它都会移动其位置。它不是一个分支,它更像是显示远程存储库状态的动态标签。
这是有用的,所以不要删除它。

+0

啊哈。这就解释了为什么当我在branchname上使用'git status'时,它告诉我我在哪里与origin/branchname有关。我明白了为什么我想保留它,但是我们可以先确定是否有删除它的风险?它对原产地branchname会有什么影响吗? – emersonthis 2013-02-26 17:22:45

相关问题