搜索

首页  >  问答  >  正文

git everything up to date出错了... 明明有差异就是提交不了

1 . master 有四条分支.....

4. fffff
3. qqqq
2. xxxx
1. aaaa
  1. 本地基于master创建了一个新的分支dev
    删除了两条原有的commit....

   git reset --hard aaaa
   git cherry-pick fffff
   git log --oneline
    ----
        2. ffff
        1. aaaa
    ----
    然后做了一些修改...  新增了一条commit
    ----
        3. wwww
        2. ffff
        1. aaaa
    ----
    
  1. 强行推送到远程的orign master, 本地的dev分支覆盖远程的 origin master

git push -f origin master

这个时候报everything up to date....

请问这个需要怎么解决呀 ?

仅有的幸福仅有的幸福2799 天前742

全部回复(2)我来回复

  • 某草草

    某草草2017-05-02 09:54:14

    首先指出你的错误之处:

    本地的dev分支覆盖远程的 origin master

    如果你没有将本地的dev分支的上游分支设置为远程的master分支的话,是没有办法用git push -f origin master强制让让dev覆盖远程的master分支的。git push命令是将本地分支推送到与其对应的上游分支,比如你本地的master分支默认的上游分支是远程的master分支,所以你用git push -f origin master命令是将本地master领先于远程master的提交推送到远程,而你本地的master根本没有领先远程,所以git当然提示“everything up to date....”,而领先的是你的dev分支。

    从你的问题中,我根本无法得知你到底要干什么,只是问如何解决目前遇到的问题。git并没有出错,只是你没有理解git的操作过程,所以你才觉得遇到了问题。

    给你提两个建议:

    • 提问时,最好要将你的目的明确写出来。因为如果你的目的不对,我们也将会在你错误的道路上帮助你继续前进,直到你遇到更多的问题。当然,如果你说你的目的是“解决问题”,那我觉得这是废话,我这里说的目的是做某件事的目的。如果想知道如何智慧的提问,建议看看这个:https://github.com/ryanhanwu/...

    • 在使用git进行工作之前,最好先先理解git基本的概念和操作。当然,如果你现在就是在学的话,那就在好好看看书吧,建议Progit这本书。

    不要抱怨我们的回答,因为我们并未对回答要求任何报酬。其实,我也只是希望能提高segmentfault的问答质量。

    回复
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-02 09:54:14

    "master 有四条分支"这句话实在是看不懂, 你是想说四条commit?

    当本地记录与远程记录不一致时, 请先pull, 在本地解决好冲突之后在push, 不要强行push

    回复
    0
  • 取消回复