我在修补程序分支上做了一些更改并推送到服务器。不会更改API,我必须将修补程序和源/修补程序重置为代码中的某个点。 locla分支可以很容易地重置,但是我无法将它推到原点,因为它需要我先拉,我不想这样做,因为我想恢复(丢失)原点上的那些变化。如何将原始/修补程序重置为某个点?
我使用git push --force origin hotfix / 1.0.4它返回
总计0(delta 0),重复使用0(delta 0) remote:错误:拒绝非快进refs / heads / hotfix / 1.0.4(你应该先拉) 至http://ac-git/Web.ABC.git ! [远程拒绝] hotfix / 1.0.4 - > hotfix / 1.0.4(非快进)
知道如何重置源/修补程序?
答案 0 :(得分:1)
remote: error: denying non-fast-forward refs/heads/master (you should pull first)
是我遇到的第一个错误之一。
似乎是因为远程服务器已配置为拒绝非快进更新。
一般解决方案是将遥控器上的配置编辑为:
denyNonFastForwards = false
您是否尝试过此push changes without pull链接?我在这里找到了更多答案!
答案 1 :(得分:0)
远程服务器似乎拒绝非快进更改,这对于存储库历史记录一致性是一件好事。 因此,不是将分支重置为较旧的提交,而是可以推送导致所需代码状态的更改(如还原提交)。从目标提交/代码状态开始,发出:
git reset --soft origin/hotfix/1.0.4
git commit
git push origin hotfix/1.0.4