GIT ! [remote rejected]**(change closed)

git ! [remote rejected] HEAD -> refs/for/master (change ***closed)

git push 代码提示远端对应的分支已经关闭,导致push 失败:

  1. 我导致这个问题的场景:
    1. 第一次代码push 同时已经将远方的代码合入
    2. 修改本地代码,运行git commit --amend
    3. git push origin HEAD:refs/for/master
      以上步骤导致了此问题:
  2. 原因:git commit --amend 使用了已经合入的change id,在一次push 的时候远端判断此个change id 已经使用,所以报错
  3. 解决办法:git commit --amend 的时候删除change id 。退出后会自动生成一个新的change id,push 后没问题:

附加问题

  1. 如果在本地多次提交之后怎么,再push 导致这个问题怎么办法
    解决办法:使用git rebase -i HEAD~n, 这个n 对应你上次commit 合并后的代码;将多次commit 后的代码合并成一次commit 之后,和上面的情况类似,按照上面的方式操作即可。
  2. ** 如果commit 后提示merge冲突怎么办法**
    以上情况是因为:重提提交一次已经合入的代码,相同代码之间合冲突,解决过程如下
git fetch origin 
git rebase origin/master 
修改冲突的文件
git add -u
git push (git push origin HEAD:refs/for/master)
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值