3

我创建了一个新分支。

经过一些修改后,我想将分支推送到服务器

git commit  -m 'New branch'

13 files changed, 694 insertions(+), 36 deletions(-)

git push origin malix1.0
Everything up-to-date

为什么一切都是最新的?

 git branch
* (no branch)
  malix1.0

我在哪里犯错误?

4

1 回答 1

3

我认为在您创建了新分支“malix1.0”之后,您以某种方式设法将存储库置于所谓的“分离 HEAD”状态,因此您的新提交没有记录在该分支上。

然后,当您运行git push origin malix1.0Git 时,会获取该“malix1.0”分支的内容并尝试更新远程存储库中的同名分支。由于与远程仓库中的匹配分支相比,该分支不包含任何新内容,因此没有任何反应。

要摆脱这种情况,请执行以下操作:

  1. 从您当前的状态中创建一个分支:

    git branch temp
    

    git reflog否则,您将需要在签出分支后依靠该功能来掌握您的工作。

  2. 用你的工作更新你的“mailx1.0”分支:

    git checkout mailx1.0
    git merge temp
    

    也就是说,您检查了打算接收新提交的分支,然后合并到实际保存这些提交的临时分支中。

  3. 删除该临时分支:

    git branch -d temp
    

    不再需要此分支,因为与“mailx1.0”相比,它包含的工作现在也在该“mailx1.0”分支上。

  4. 推出更新的分支:

    git push origin mailx1.0
    
于 2013-04-26T16:16:19.223 回答