【问题标题】:cannot see committed changes in repo在 repo 中看不到已提交的更改
【发布时间】:2012-08-09 03:07:44
【问题描述】:

我已经像这样暂存了我的文件

git add mydir
git add mydir/myfile

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

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

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

【问题讨论】:

    标签: github


    【解决方案1】:

    没有将文件“添加”到存储库,仅添加到暂存索引

    您需要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 完成的。

    这些步骤发生在**本地*。这些步骤都不会对您的GitHub 存储库产生任何影响。

    其次,git pushremote 存储库(在本例中为您的 GitHub 存储库)。

    要将您的代码从local 获取到remote 存储库,请使用git push

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

    【讨论】:

    • @simont--运行 git commit 后我该怎么办?请帮忙。
    猜你喜欢
    • 2019-08-17
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 2014-12-11
    相关资源
    最近更新 更多