基于主分支创建的临时分支上进行了一些开发,合并回主分支,期间主分支没有进行任何更改还是创建临时分支时的状态,但合并莫名其妙报错 “1 uncommitted …”,我可以确认主分支和临时分支均没有尚未提交的更改。更恶心的是,合并失败后导致主分支产生很多项改变,一些早已排除在外的文件也被当作更改添加进来,只能执行 git reset --hard HEAD^强行回退至上一次提交
教训:以后千万别用VS自带的Git合并,很容易出现奇怪的问题,自己用Git Bash来弄,方法如下
# 首先切换到要合并到的目标分支(如main)
git checkout main# 然后合并源分支(如feature-branch),--no-ff 强制创建新的合并提交,这样可以保留分支历史
git merge --no-ff feature-branch