21

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

(我意识到这不是很多信息......我还能说什么?我感觉可能是因为我直接在(home)/git/(project)中修改文件......?)

4

6 回答 6

11

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

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

OP提到这篇文章是为了解决这种情况:
git:如果你不提交任何分支该怎么办

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

请注意,您可以使用脚本记住它,而不是合并您将以某种方式复制的 SHA1,使用head=$(git rev-parse HEAD)
请参阅“ git:可靠地切换到分离的 HEAD,然后稍后恢复 HEAD,全部来自脚本”。
然后你可以将分离的分支合并HEAD回正确的分支。

于 2012-06-18T14:55:56.833 回答
8

更改文件后,您需要

git add

他们之前

git commit

.

于 2012-06-18T14:09:04.950 回答
5
git commit 

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

git push origin master

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

于 2014-12-24T04:26:14.643 回答
1

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

git config --global user.email "you@example.com"
git config --global user.name "Your Name"
于 2017-08-07T14:38:28.013 回答
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"

于 2021-06-20T12:51:21.017 回答
-2

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

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

这解决了我的问题

于 2016-04-02T18:30:27.783 回答