Git 删除远程分支,使其不显示在';吉特分行-弗吉尼亚州&x27;
我通常Git 删除远程分支,使其不显示在';吉特分行-弗吉尼亚州&x27;,git,Git,我通常从与团队成员共享的远程回购中获取。然后我将它们的分支合并到我的main分支中,并创建新的本地分支来进行开发。一切都进行得很顺利,除了我在git branch-va中看到的列表随着我从远程回购获取更多信息而变得越来越大。和合并(请参见下面的屏幕截图)这些内容到我的本地回购中 在回购协议中键入git branch-va时看到的内容 我想知道是否有一个git命令允许我删除这些“remotes/origin/Brazil”、“remotes/origin/Chile”等出现在git branch
从与团队成员共享的远程回购中获取。然后我将它们的分支合并到我的main
分支中,并创建新的本地分支来进行开发。一切都进行得很顺利,除了我在git branch-va
中看到的列表随着我从远程回购获取更多信息而变得越来越大。和合并
(请参见下面的屏幕截图)这些内容到我的本地回购中
在回购协议中键入git branch-va
时看到的内容
我想知道是否有一个git命令允许我删除这些“remotes/origin/Brazil”、“remotes/origin/Chile”等出现在git branch-va
命令中
我尝试使用以下方法:
git分行-d remotes/origin/Brazil
(错误:未找到分行“remotes/origin/Brazil”)(StackOverflow建议)
git-fetch--prune
(什么都没有发生)(StackOverflow建议)
git远程修剪源代码(无任何情况发生)(StackOverflow建议)
我建议在使用git push--all--prune时,删除其中一些分支。但一些与StackOverflow回答相关的评论说,这个命令是危险的
什么是最安全和正确的方法来删除这些旧的“remote/origin/*”以避免出现在git branch-va
的结果中?提前感谢您的回答 您的问题有点不清楚,因为您在问如何避免在输出中看到分支,但您所讨论的解决方案与删除分支有关,这是一个非常不同的命题
如果没有人再需要分支,可以将其删除
git push --delete origin <branch-name>
git推送--删除原点
完成后,其他克隆可以更新以反映分支已被删除,方法是使用git fetch--prune
;但正如您所注意到的,这只会影响已删除的分支,这就是为什么在您使用它时它似乎没有任何作用
如果仍然需要远程分支,而您只是不想看到它们,那么这可能是一个更大的问题
只是为了确保我们不会错过显而易见的问题:如果您询问如何不查看任何远程分支,您只需不包括-a
选项(即git branch-v
)。因为您包含了-a
,所以我假设您希望看到远程分支,但只希望看到其中的一些分支
问题是,git没有太多的信息可以用来知道你想看什么。与使用回购协议的其他人就何时可以从远程删除分支机构达成某种协议可能是您能做的最好的事情。谢谢您的建议!我应该更清楚地回答我的问题(会解决的)。现在我的git工作流程是1)git fetch upstream
(比如说,“upstream”是一个存储库)2)git branch-va
查看我想合并到我的主分支的远程分支或提交编号(比如说,它是“remotes/foobar/south_africa”)3)git merge remotes/foobar/south_africa
4)git rebase
在我的本地回购中开始该远程分支机构的工作。(下面继续评论)随着时间的推移,git branch-va
的输出越来越长,我想对其进行修剪,因为通常,我希望从git branch-va
中看到的是提交消息和散列ID,以确保我选择了正确的一个合并到我的main
分支中。由于我不拥有远程分支,因此我无法执行git push--delete origin(权限不足)。远程回购所有者(在我们的例子中是,foobar
owner)通常通过我发出的Github请求来审查我的本地更改。然后,他决定将我的pull请求合并到foobar
repo中,并告诉我fetch
它。然后,我将恢复我的git工作流fetch
-在上游(我在本地repo中将上游设置为https://github.com/foobar/project.git)并重复该过程。希望这是有意义的,请让我知道我需要做些什么来修剪我在
git branch-va`(如果有办法)中看到的列表。非常感谢您的帮助!