如何将本地master中的变更推送至GitHub的新远程分支
问题原因
你执行git reset --soft回退合并提交后,原X分支的变更仅保留在暂存区/工作区,并没有被提交到任何分支的提交记录中。你新建分支后直接推送时,新分支的提交记录和远程已有的提交完全重合,Git判定无更新可推送,因此出现相关提示。
解决步骤
- 先切换到你要推送的目标新分支,未创建的话先新建:
# 已有新分支 git checkout <你的新分支名> # 未创建新分支 git checkout -b <你的新分支名>
- 确认当前变更为你需要保留的内容:
git diff HEAD - 将变更提交到新分支:
因为你用的是--soft重置,变更默认在暂存区,直接执行提交即可:git commit -m "填写对应提交信息,例如:恢复X分支的功能开发内容"
如果执行git status发现有变更未暂存,先执行git add .再提交。 - 推送新分支到远程:
git push -u origin <你的新分支名>
后续可选操作
推送完成后可切回本地master分支,清理残留的临时变更,避免影响后续master分支的操作:
git checkout master git reset --hard HEAD
内容的提问来源于stack exchange,提问作者era s'q
相关产品推荐
相关产品推荐

