'git status'显示要提交的更改,但'git push origin master'表示'Everything up-date'

时间:2010-06-24 17:27:38

标签: git merge conflict

我的本​​地仓库与远程仓库之间存在一些冲突。

所以,我做了:

git stash
git pull origin master
git stash apply

// here i had merge conflicts, so i edited the files and did
git add file1
git add file2

git commit

现在当我git status时,它显示了一堆修改过的文件等。 但git push origin masterEverything up-to-date

有什么想法吗?

5 个答案:

答案 0 :(得分:14)

如果git status显示已修改的文件,则不会推送这些文件,因为它们尚未提交。 git status仅显示尚未提交的更改(即使它们已暂存)。

再次尝试提交,并在您提交时查看是否有任何错误消息。 (您可能还需要{em>没有的git add个文件,如果它们受到您藏匿的任何内容的影响 - 存储不会保存阶段状态。)

答案 1 :(得分:1)

你的提交真的成功了吗?如果你确实已经提交了一个提交,那么推回原点将不得不推动该提交。听起来你没有。 git status显示已修改文件的事实仍然是您没有的另一个标志 - 理想情况下,您在提交后最终会得到一棵干净的树; git status将显示“无需承诺”。如果它们仍然显示为已修改,则尚未提交。

答案 2 :(得分:0)

两件事:

  1. 首先,你做了'git add'。和'git commit -a',只是为了确保你真的得到了所有东西并添加了一切?
  2. 您可能希望尝试切换autocrlf - 'git config core.autocrlf true','git config core.autocrlf false'等等,在每个之间执行'git status'。我一直遇到这个问题。

答案 3 :(得分:0)

这可能不言而喻,但为了明确,请确保您的本地分支是“主”。当你运行git status时,看看你在哪个分支。例如,如果您创建了一个名为'foo'的分支并且当前在该分支上,则必须运行此命令将当前的'foo'分支推送到远程'master'分支:

git push origin foo:master

答案 4 :(得分:-2)

你可以先改变git commit -a -m"更改文件后的任何消息"

然后执行git push origin master,然后您的更改也将反映在远程仓库中。