即使没有任何提交,Git也会推送所有文件

时间:2019-07-08 12:00:29

标签: git github

我创建了一个新的GitHub项目,该项目为空(我仍然在存储库中的GitHub上看到安装说明)。 我有一个包含开发项目的服务器,这是我想在GitHub上拥有的文件夹和子文件夹。我在该文件夹上运行了git init

当我将master分支推送到“ origin”远程时,即使我没有将文件添加到索引中(并且当我运行git status时,它说“什么也没提交,工作树干净”) ),Git会尝试推送项目的所有文件。

On branch master
nothing to commit, working tree clean



Delta compression using up to 4 threads.
Compressing objects: 100% (12403/12403), done.
^Citing objects:  29% (3803/12687), 21.75 MiB | 510.00 KiB/s

我试图制作一个.gitignore文件,并完成了他的工作,以避免发送一些子文件夹,并尝试添加并提交一个唯一的文件,然后通过检查状态将其显示在索引中。

您能解释一下为什么即使索引为空Git也会推送所有文件吗?

1 个答案:

答案 0 :(得分:1)

我不确定我是否完全理解您的问题,但是我认为这可能会有所帮助。

执行git push时,git将本地提交推送到远程。与您的暂存区中是否有任何东西(已跟踪和未跟踪)无关。

如果执行git log,将会看到您的本地提交不在远程计算机中。这些是git在调用git push命令时正在推送到您的远程计算机上的提交。

git status命令仅向您提供暂存区域中文件的摘要。如果输出为nothing to commit, working tree clean,则意味着您的所有文件和更改都已在本地提交。它不会告诉您这些提交是否已推送到您的遥控器。