我的本地仓库与远程仓库之间存在一些冲突。
所以,我做了:
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 master
说Everything up-to-date
。
有什么想法吗?
答案 0 :(得分:14)
如果git status
显示已修改的文件,则不会推送这些文件,因为它们尚未提交。 git status
仅显示尚未提交的更改(即使它们已暂存)。
再次尝试提交,并在您提交时查看是否有任何错误消息。 (您可能还需要{em>没有的git add
个文件,如果它们受到您藏匿的任何内容的影响 - 存储不会保存阶段状态。)
答案 1 :(得分:1)
你的提交真的成功了吗?如果你确实已经提交了一个提交,那么推回原点将不得不推动该提交。听起来你没有。 git status
显示已修改文件的事实仍然是您没有的另一个标志 - 理想情况下,您在提交后最终会得到一棵干净的树; git status
将显示“无需承诺”。如果它们仍然显示为已修改,则尚未提交。
答案 2 :(得分:0)
两件事:
答案 3 :(得分:0)
这可能不言而喻,但为了明确,请确保您的本地分支是“主”。当你运行git status时,看看你在哪个分支。例如,如果您创建了一个名为'foo'的分支并且当前在该分支上,则必须运行此命令将当前的'foo'分支推送到远程'master'分支:
git push origin foo:master
答案 4 :(得分:-2)
你可以先改变git commit -a -m
"更改文件后的任何消息"
然后执行git push origin master,然后您的更改也将反映在远程仓库中。