繁体   English   中英

git 有未跟踪文件时推送

[英]git push when there are untracked files

如果我还有未跟踪的文件,我可以将 git 推送到存储库吗?

注意:我不是在询问如何将未跟踪的文件添加到阶段并在推送它们之前提交它们。

我不想要那些未跟踪的文件,它们是不受欢迎的,并且刚刚在测试后出现。 它们应该被忽略(我想不知何故 .gitignore 文件不正确)。

所以我的问题是,即使在执行git status后我看到有未跟踪的文件,我仍然可以将文件推送到存储库吗?

如果您不关心未跟踪的文件,则应查看git clean 这将有助于清理您未跟踪的文件 - 否则它们将继续显示在您的 git 状态,直到您对它们进行处理。

它们不会影响推送——只有当你使用git add. 在提交和推送之前忘记那些未跟踪的文件 - 然后它们成为您提交的一部分。

git push命令推送提交,而不是文件。 提交当然包含文件,因此 go 所在的提交中的任何文件都在其中 - 但未跟踪的文件根据定义是当前不在 Git索引中的文件。 Git 从其索引而不是您的工作树中进行新的提交。 因此,如果这些文件现在不在 Git 的索引中,那么它们之前可能不在 Git 的索引中,因此也不会在任何早期提交的文件中。

(您可以使用git ls-tree -r检查任何给定提交中的完整文件集:为该提交提供标识符,例如,像master这样的分支名称,或者带有相对后缀的分支名称,例如master~2 ,或原始 hash ID。但是,如果您在工作时没有刻意调整 Git 的索引,那么它们现在不在索引中的事实通常足以成为您不需要检查的指标。它不会t hurt to check, but usually it's easier to check with git log --name-status or git log --raw . The --raw output used to be obtained by git whatchanged , back in the early days of Git, and it's actually仍然是我更喜欢的 styles 之一。)

是的,您只能推送您之前提交的文件。 您可以保留未跟踪的文件并稍后对其进行调整。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM