如何将Git的tmp分支设为master分支?处理分离HEAD与废弃stash
操作步骤(基于Fork GUI工具)
一、废弃并删除stash@{0}
- 打开Fork左侧面板的「Stashes」标签
- 找到标记为
stash@{0}的记录,右键点击它,选择「Delete」 - 在弹出的确认窗口中点击「OK」,即可永久删除该暂存更改,不会影响任何分支内容
二、将tmp分支替换为master分支(本地+远程)
本地操作
- 先确保当前处于tmp分支:在Fork顶部的分支切换栏选择tmp,或者左侧「Branches」面板里点击tmp分支
- 在左侧「Branches」面板找到master分支,右键点击它,选择「Reset
to Current Commit」 - 在弹出的模式选择窗口中,选择「Hard」模式(此模式会让master完全覆盖为tmp的当前状态,丢弃master原有的所有未同步到tmp的提交,符合你要替换的需求)
- 确认操作,此时本地master分支就和tmp分支的提交历史完全一致了
远程推送(覆盖远程master)
- 在左侧「Branches」面板选中master分支
- 点击Fork右上角的「Push」按钮(向上箭头图标)
- 在推送窗口中,勾选「Force Push」选项(因为是覆盖远程分支的历史,必须强制推送)
- 点击「Push」确认,远程仓库的master分支就会被替换为当前本地master的状态
注意事项
- 强制推送前务必确认团队内没有其他人正在基于远程master分支开发未同步的内容,否则会覆盖他们的工作
- 操作全程确保没有未提交的更改,避免意外丢失内容
- 完成后可以删除tmp分支(如果不需要保留):在「Branches」面板右键tmp分支,选择「Delete」
内容的提问来源于stack exchange,提问作者smXplorer
相关产品推荐
相关产品推荐

