【问题标题】:Delete upstream branch and propagate downstream?删除上游分支并传播到下游?
【发布时间】:2019-03-06 04:43:07
【问题描述】:

我们的上游存储库中有很多分支,并且我们都使用 Forks 工作流程(如开源开发),因此我们每个人都有这个令人发指的上游存储库的分支。我即将开始从上游删除陈旧的分支(有些是在 master 后面 >7000 次提交),但我希望有一种方法可以将这些分支删除向下游传播到我们的分支。这是可能的还是从根本上违反了 git 的功能?

编辑:澄清一下,每个开发者都有自己的 fork,在 Github 上有一个遥控器。所以有一个上游远程、一个下游远程和一个下游本地仓库。没有人应该在本地版本的上游工作。每个人都将本地工作推送到他们下游的远程仓库并从那里打开 PR。

【问题讨论】:

    标签: git github


    【解决方案1】:

    您必须在下游运行 git fetch --prune 才能看到那些远程分支消失。

    【讨论】:

    • 但是这些分支实际上并没有在下游远程中消失。 git prune 仅适用于删除跟踪上游远程的本地分支。
    • aahhh.....我没说git prune。我说git fetch --prune。这将消除正在获取的那些遥控器上不再存在的分支的远程引用。
    • 我想我没有完全描述我们的工作流程。我推送到的遥控器是我的 fork(在 github 上)。即使删除了上游远程上的所有额外分支(并使用git fetch upstream --prune 删除本地上游分支,我的远程分支仍然具有所有这些分支!
    • 嗯...在这种情况下,您必须为这些分支推送删除:git push my-remote :branch1 :branch2 :branch3。这将删除 branch1、branch2 和 branch3。可以在您不必在那里编写每个分支的情况下完成吗?您可能会尝试生成一个分支列表,然后使用 xargs 在单个命令上获取它们......但是问题不再是关于 git,而是关于 bash。
    猜你喜欢
    • 2020-04-05
    • 2020-11-02
    • 2018-07-27
    • 2019-03-29
    • 2023-03-03
    • 2021-01-27
    • 1970-01-01
    • 2023-02-03
    • 2023-03-17
    相关资源
    最近更新 更多