在repo中看不到承诺的变化

时间:2012-08-09 03:07:44

标签: github

我已经暂存了这样的文件

git add mydir
git add mydir/myfile

然后将它们推送到我的仓库

git remote add origin https://github.com/usename/myrepo.git
git push origin master

当我查看git status -s时,它说我的文件已被添加,但我无法在我的实际存储库中看到它们。有谁知道这里发生了什么?

1 个答案:

答案 0 :(得分:5)

您已将 “添加”您的文件到存储库,仅添加到登台索引

您需要git commit才能将更改从staging index更改为repository

git status显示工作树分段索引的状态。 git log向您显示历史记录的状态 - 换句话说,git log将向您显示已提交到存储库的内容

例如,请参阅此git status输出:


git status               
# On branch master
# Changes to be committed:
#   (use "git reset HEAD ..." to unstage)
#
#   modified:   Game.py
#

在这种情况下,我们可以看到要提交的更改涉及Game.py。请注意,这些更改尚未添加到存储库 - 它们只是暂存,准备提交,正如git status所说。

下一步是提交我们在staging index中准备的这些更改,并将它们添加到存储库中。 git commit是执行此操作的命令。

This answer以及链接的Pro Git book有一些很好的阅读,可以帮助您了解提交到git存储库的设置和步骤。

  

我无法在我的实际存储库中看到它们。

“实际”存储库是什么意思?我假设你的意思是你看不到本地提交,但是你可能会对你正在使用的存储库感到困惑。

您正在使用两个存储库,一个local和一个remote。在您的情况下,remote存储库位于GitHub上。您在本地工作,然后git push远程

首先,本地更改和提交

因此,将代码更改到local存储库的步骤如下:

  1. working directory 中进行更改。这通常是编写一些代码。
  2. 通过暂存变更来构建commit。这是使用git add完成的。
  3. “保存”您已构建到存储库中的提交。这是使用git commit完成的。
  4. 这些步骤**本地*。这些步骤都不会对您的GitHub存储库产生任何影响。

    其次,git pushremote存储库(在这种情况下,你的GitHub存储库)。

    要从localremote存储库获取代码,请使用git push

    1. 检查remote存储库知道哪些local存储库:git remote -v
    2. 如果GitHub存储库,则需要添加它:git remote add <NAME> <URL>
    3. 由于您没有git clone,因此两个存储库(localremote)没有任何共同提交。没关系;它只是意味着git不会自动知道推送更改的位置,因此您必须指定:git push <NAME> master:master。这会将您的local master分支推送到<NAME> master分支。