0

我在我的服务器上安装了 git,为了拉出 master 分支,我做到了:git checkout origin/branchname这导致我的服务器 repo 上有一个名为“origin/branchname”的分支。之后,我学会了获取分支的正确方法(使用 fetch 和 pull),但我的服务器 repo 中仍然有 origin/branchname。我有两个问题:

  1. 那是什么?它与我使用 pull 创建的“正常”分支名称有何不同?

  2. 在我的服务器存储库中删除源/分支名称是否安全?中央存储库有任何风险吗?我怀疑会是这种情况,但我想在做之前检查一下。

澄清:我不想更改中央存储库中的任何内容(我们使用 bitbucket)。我只想删除我的一个发行版上的源/分支名称,并破坏任何东西。

4

4 回答 4

1

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

于 2013-02-26T17:04:22.243 回答
0

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

您可以通过这种方式在本地删除它:git branch -d [branch_to_delete]该分支仍将在“云”中可用

于 2013-02-26T16:43:08.700 回答
0

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

如果您安装了 Git v1.7.0,您可以使用以下命令删除远程分支:

git push origin --delete 'branchName'

它的语法比:

git push origin :'branchName'

于 2013-02-26T16:50:01.783 回答
0

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

git branch -d origin/branchName

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

git show origin/branchName
warning: refname 'origin/branchName' is ambiguous.
于 2013-02-27T00:35:13.937 回答