我已经像这样上演了我的文件
git add mydir
git add mydir/myfile
然后将它们推送到我的仓库
git remote add origin https://github.com/usename/myrepo.git
git push origin master
当我查看git status -s
它时说我的文件已添加,但我在我的实际存储库中看不到它们。有谁知道这里发生了什么?
我已经像这样上演了我的文件
git add mydir
git add mydir/myfile
然后将它们推送到我的仓库
git remote add origin https://github.com/usename/myrepo.git
git push origin master
当我查看git status -s
它时说我的文件已添加,但我在我的实际存储库中看不到它们。有谁知道这里发生了什么?
您尚未将文件“添加”到存储库中,仅添加到暂存索引中。
您需要将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
是执行此操作的命令。
这个答案,以及链接的Pro Git 书,都有一些优秀的阅读材料,可以帮助您了解提交到git
存储库的设置和步骤。
我在我的实际存储库中看不到它们。
“实际”存储库是什么意思?我假设您的意思是您看不到local commit,但是您使用的存储库可能会有些混乱。
您正在使用两个存储库,一个local
和一个remote
. 就您而言,remote
存储库位于 GitHub 上。你在本地做你的工作,然后git push
到远程。
因此,将代码更改放入local
存储库的步骤如下:
working directory
. 这通常是编写一些代码。commit
通过分期更改构建一个。这是使用git add
.git commit
.这些步骤发生在**本地*。这些步骤都不会对您的GitHub
存储库产生任何影响。
git push
到remote
存储库(在这种情况下,是您的 GitHub 存储库)。将您的代码从local
存储remote
库中获取,git push
使用。
remote
您的存储库已知哪些存储local
库:git remote -v
.GitHub
显示存储库,则需要添加它:.git remote add <NAME> <URL>
git clone
,所以两个存储库 (local
和remote
) 没有任何共同的提交。没关系; 它只是意味着git
不会自动知道将更改推送到何处,因此您必须指定:git push <NAME> master:master
. 这会将您local master
的分支推送到<NAME> master
分支。