将原点/修补程序重置为修补程序

时间:2015-02-25 00:35:21

标签: git git-branch

我在修补程序分支上做了一些更改并推送到服务器。不会更改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(非快进)

知道如何重置源/修补程序?

2 个答案:

答案 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