我已经将一个功能分支合并到了develop上,但是当我执行git fetch --all --prune时它会不断重新出现。
合并分支的提交也会重新出现在合并的分支上,并重新创建已删除的分支。
可能导致此行为的原因是什么?
合并和删除功能分支后,执行提取输出以下内容:
获取原点 来自bitbucket.org:Project/projectName + fbfe775 ... 9ad9ec2 develop - > origin / develop(强制更新)
注意“强制更新”,此命令会向分支添加14个提交。
随后删除合并,并在quesiton中恢复功能分支,就好像我没有合并它一样。
答案 0 :(得分:2)
git fetch
从某些其他 Git获取提交和分支名称。然后,它会将他们的分支名称(例如feature
)重命名为远程跟踪名称,例如origin/feature
。
如果删除自己的origin/feature
远程跟踪名称,则对其他 Git没有影响。运行git fetch origin
会发现origin
有一个名为feature
的分支,因此会更新或创建您自己的origin/feature
。
然后,你必须做的是明确的:从其他Git存储库中删除分支名称 feature
,这样当你的Git连接到他们的Git,他们不有分支名称feature
而你的Git 不会更新或创建你自己的origin/feature
,事实上使用--prune
,删除您的origin/feature
(如果存在)。
为此,请参阅How do I delete a Git branch both locally and remotely?
答案 1 :(得分:1)
您可能仍在远程服务器上拥有分支。运行push删除它:
git push origin :name_of_the_branch