不能推送到github:一切都是最新的

时间:2012-06-18 14:01:48

标签: git github git-push

在github上,我分叉了另一个项目的旧版本。我做了一些更改,并试图将它们推到github上的fork上。我在本地提交了更改,然后尝试了git push,但这只是告诉我“Everything up-to-date”。当我在github上浏览项目时,没有任何改变:它仍然显示我的fork上的文件(来自最新版本),未经修改。如何将更改推送到我的github帐户?

(我意识到这不是太多信息......我还能说什么呢?我有一种感觉,可能是因为我正在直接在(home)/ git /(项目)修改文件...... ?)

6 个答案:

答案 0 :(得分:9)

  

git branch -v表示我的提交已开启(无分支)。至于添加,我最初通过Eclipse(使用git插件)提交更改...当我从命令行执行git add时,它似乎没有做任何事情

这意味着您处于DETACHED HEAD模式 您可以添加和提交,但从上游repo的角度来看(即从GitHub仓库),没有新的提交准备好被推送。
您有多种方法可以将本地(分离的HEAD)提交包含回一个分支,然后您可以将其推送。
参见:

OP提到这篇文章是为了解决这个问题:
git: what to do if you commit to no branch

  

我们需要做的就是检查我们应该使用的分支并合并到提交SHA:

请注意,您可以使用head=$(git rev-parse HEAD)代替合并您以某种方式复制的SHA1,而不是使用脚本记住它: 请参阅“git: reliably switching to a detached HEAD and then restore HEAD later, all from a script” 然后,您可以将分离的HEAD合并回右侧分支。

答案 1 :(得分:7)

更改文件后,您需要

git add

之前的

git commit

答案 2 :(得分:3)

git commit 

将显示本地计算机上的文件,取消注释要上传的内容和

git push origin master

因为git add *对我不起作用(即使它没有返回错误)。

答案 3 :(得分:1)

不确定为什么人们会用正确的答案向这个人投票。对我来说,添加我的电子邮件和名称确实解决了问题。虽然命令不正确。

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

答案 4 :(得分:0)

检查 git commit -m 命令

就我而言,我刚刚忘记在 m

之前添加 -

当你这样做时,终端会输出如下错误
error: pathspec 'm' did not match any file(s) known to git
error: pathspec 'TESTING' did not match any file(s) known to git

但是当您尝试 git push 时,您不会收到任何错误,但输出将是

Everything up-to-date

顺序应该是:
git status

git add . 如果您想添加要提交的整个更改

git commit -m "Your Comments"

答案 5 :(得分:-1)

最近的git版本必须配置用户详细信息git config -g user.name“name”

git config -g user.email "ab@mil.com"

这解决了我的问题