为什么我不能承诺? (您的分支机构是最新的&origin; /',没有更改添加到提交)

时间:2015-04-17 15:14:52

标签: macos git terminal git-commit

我在向GitHub提交文件时遇到了一些麻烦。我可以将其添加到git add中,但是当我尝试$ git commit -m 'my message'时,我收到错误,不允许我完成添加文件的过程。

$ git add HelloWorld.md

$ git commit -m 'Hello world'

我得到以下答案(已删除:README.md& .DS_Store为红色):

On branch master

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

Changes not staged for commit:
        deleted:    README.md

Untracked files:
        .DS_Store

no changes added to commit

4 个答案:

答案 0 :(得分:4)

如果您更改了文件但仍然没有提交,可能您没有将文件添加到git。 (或在添加后更换)。 在提交之前尝试添加文件:

git add filename.ext

或者只是添加整个目录:

git add .

答案 1 :(得分:1)

显然你没有更改HelloWorld.md文件中的任何内容(或根本不存在),因此没有任何内容可以提交。如果您只想添加“空”文件,请务必先touch HelloWorld.md,以便实际创建文件。如果确实存在,请对其进行编辑(例如,使用vim HelloWorld.md),并确保在完成后将更改保存在编辑器中。

完成此操作后,文件会有实际更改,您应该能够提交。

答案 2 :(得分:1)

您无需承诺。更具体地说:

  • README.md是一个跟踪文件,但您在不使用git rm README.md的情况下删除了该文件。 Git检测到该文件已被删除,但如果您希望后者在下次提交时生效,则仍需要进行删除。
  • .DS_Store是一个未跟踪的文件;因此,它不能成为下一次提交的一部分。 (顺便说一下,you should ignore such files globally。)
  • git add HelloWorld.md没有效果:Git正在跟踪该文件,但没有任何内容可以在那里进行,因为自上次提交以来,您根本没有对其进行任何更改。

    我怎么知道?如果HelloWorld.md是以前未跟踪的文件,或者它是自上次提交后您更改的跟踪文件,则git add HelloWorld.md将成功暂存这些更改;会有一些东西要提交,你本来可以成功提交。

进行一些更改,暂存它们,然后您就可以提交了。最后,

  

您的分支机构与'origin / master'保持同步

只是意味着

  

自推到master以来,您尚未在origin/master上创建任何提交。

没什么好担心的。

答案 3 :(得分:0)

我再次添加了相同的文件,并且可以正常工作。实际上是整个目录:git add .