Git push不会失败,但不起作用

时间:2014-08-11 15:11:32

标签: git push

我在几个问题面前使用Git和我: 我可以推,我的同事可以拉,反之亦然。但是遥控器上的版本并不是最新版本:如果我在html中编写TEST,除了本地版本之外没有人能看到它... 我以为它可能来自遥控器上的分支......不是吗?

编辑1:我会尝试更具体: 我是私人服务器上的私人仓库。此服务器用于托管网站。当我提交 - >拉 - >推动一切都很棒。当我的同事做同样的事情时,它很好。在我们的本地版本中,所有更改都显示为我的" TEST"测试。但在服务器上,没有什么是最新的。它是错误的分支,在服务器上还是什么?

PS:对不起我的英语,它不是我的母语。

3 个答案:

答案 0 :(得分:2)

如果你正在做一个简单的git push'你可能需要做git push origin branchname'代替。当然,只要提交了文件。

更新:检查你的.git / config文件。您应该指定原点,并且您的分支应该引用原点。也许存在不匹配。

[remote "origin"]
    url = [your github repo]
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "yourbranch"]
    remote = origin
    merge = refs/heads/yourbranch

答案 1 :(得分:1)

这个问题很不清楚,但有些事情可能会出错。

  • 您需要先git commit更改。否则,您的更改不会被存储(git未知)。

  • 您已经承诺了一个特殊的分支机构。在这种情况下,提交实际上存储在服务器上,但默认情况下不显示。其他用户可以通过执行

    来结账
    git checkout <branch>
    

    可以使用

    检测您自己的分支
    git branch
    
  • 您和您的员工使用不同的远程服务器。您可以通过运行

    来检查
    git remote
    

    生成已安装的遥控器列表

  • ...

答案 2 :(得分:0)

我有同样的问题,看起来与Vautrinr的相似。我也承诺并对之前答案中建议的一些事情做出了同样的回应。

我的问题的最终解决方案来自this awesome answer。事实证明我的HEAD是分离的,我所做的所有提交都没有进入主分支。当试图推送到远程服务器时,git未能找到两个主分支之间的任何差异,从而“一切都是最新的”。在解决了分离的HEAD问题之后,我终于能够推动我的更改了。

希望这有帮助。