在一个小组共享的Git仓库中,我有这个仓库结构:
o---o---o---o branch2
/
o---o---o---o---o master
\
o---o---o branch1
将它与git flow方法对齐后,就变成了这个:
o---o---o---o maintenance/branch2
/ c1
o---o---o---o---o develop
\ \
\ o---o---o master
\
o---o---o maintenance/branch1
因此,3个分支被重命名:
从提交master
创建了一个新的分支c1
。
远程推送更改并在所有客户端上拉(使用剪枝)。
一切都很好,但过了一段时间后,取出后,master
提示远程"移动"回到旧提示(与develop
相同)。
我已经完成了(本地和远程):
git gc --prune="0 days"
git gc --prune=now
git fsck --full
然后,我再次从远程删除master
,推送我的本地master
(从c1
创建),一切看起来都不错。我甚至克隆到新文件夹,它正确 - 显示新的分支结构。
但是,经过几个小时/天,master
再次"还原"在遥控器上!
远程git reflog
完全没有显示任何内容(因为在此期间没有推送,并且gc在一天前运行)。
为什么分支机构不断将其小费移到遥控器上的任何想法?
NB。远程HEAD
指向develop
。
NB2。这就是我重命名分支的方式:
git checkout ${ori}
git branch -m ${ori} ${new}
git push origin :${ori}
git push --set-upstream origin ${new}