clone分支,修改文件本地commit后, push回原分支失败,处理方法

从远程clone 一个仓库到本地仓库A后,由于有多个分支,经常需要切换,不同分支区别比较大,切换一下,需要重编译,于是又在本地clone了改动较大的一个分支F到仓库B;

在B仓库改动后,提交到A仓库的F分支上时,报错

error: refusing to update checked out branch: refs/heads/master

上网查询后发现是需要修改A仓库的配置文件来解决,修改如下

[receive]
denyCurrentBranch = ignore

或者

[receive]
denyCurrentBranch = false

修改以后,再从B提交到A,就不会报错了,但是在A中不会保留B中最新的更改,而是以A中的版本为最终版本,此时点击A中提交,发现暂存区把B中的最新改动都丢地了,全选后,选择丢弃就可以了。

这样B中的提交就同步到A仓库的F分支了。

以上方法亲测可行,故在这里留下方法做个记录。

原文地址:https://www.cnblogs.com/lucktian/p/6381133.html