Git push说“一切都是最新的”,但事实并非如此

时间:2019-09-11 10:37:49

标签: git github

git push -u origin master命令执行后,我的Github存储库将不会更新! 它说:

Branch 'master' set up to track remote branch 'master' from 'origin'. Everything up-to-date

git remote show origin的结果是:

* remote origin
  Fetch URL: git@github.com:MyGithubID/RepoName.git
  Push  URL: git@github.com:MyGithubID/RepoName.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)

git status

On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   myFile.m


我不知道发生了什么!我尝试了git push --all origin,它说:Everything up-to-date,但事实并非如此! 我是git新手;我检查了.git目录中的“ config”文件,信息正确。我的git有什么问题?!

3 个答案:

答案 0 :(得分:0)

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

  new file:   myFile.m

这意味着您必须提交更改。因此,您做得不错,几乎就可以做到:

git commit -m "Here a short descriptive message" -m "Here a longer more detailed message"

然后您可以进行推送:

git push origin master

答案 1 :(得分:0)

遵循官方文档:-     https://git-scm.com/docs/gittutorial

在进行推送之前,您必须首先将所有资源添加到您所做的更改中。

git add .  or git add --all

然后使用

提交
git commit -m "your message".

并使用

推送代码
git push origin master  == replace master with your remote branch 
                                            name where you want to push.

答案 2 :(得分:0)

您仅已暂存文件以进行提交,但实际上并未提交更改。您必须提交更改以获取提交ID,然后在推/拉阶段使用该ID。

git commit

对于git,提交更改是一个两步过程。

第一步是将您的更改添加到所谓的暂存区域。这是存储库中的本地文件,将更改推送到远程设备时不会参与。在您的情况下,您已将新文件添加到登台区域,并且git push将不考虑登台区域中的更改。在推/拉过程中仅讨论已提交的更改。

第二步是提交更改。.此步骤您无需选择可以提交的更改。您在登台区域中添加的所有更改都将提交到提交中,并且git创建一个提交ID(现在受版本控制)(在您的本地存储库中)。一旦提交完成,登台区域将被清除。

一些将文件添加到登台的命令。

git add <file_name> #Add all changes made to this file.
git add <dir> #Add all changed files in that directory.
git add -i # This is interactive menu-type command

除了添加对文件所做的所有更改(称为块)之外,您还可以使用patch选项选择将所选更改添加到文件中。

git add -i #choose patch option. 

登台区域的更改是HEAD的增量。要从暂存区中删除更改,您必须像在HEAD中一样重置HEAD文件。重置后,所有更改都将从暂存区域中删除,但不会丢失,您将在未暂存区域中看到块。

git reset HEAD <file>