繁体   English   中英

Git commit -a “未跟踪的文件”?

[英]Git commit -a “untracked files”?

当我执行git commit -a ,我看到以下内容:

  # Please enter the commit message for your changes. Lines starting
  # with '#' will be ignored, and an empty message aborts the commit.
  # On branch better_tag_show
  # Changes to be committed:
  #   (use "git reset HEAD <file>..." to unstage)
  #
  # modified:   ../assets/stylesheets/application.css
  # modified:   ../views/pages/home.html.erb
  # modified:   ../views/tags/show.html.erb
  # modified:   ../../db/seeds.rb
  #
  # Untracked files:
  #   (use "git add <file>..." to include in what will be committed)
  #
  # ../assets/stylesheets/
  # ../views/pages/

那些未跟踪的文件是什么意思? 所有的变化都确实被跟踪了。 我不明白为什么 git 在这里警告我未跟踪的文件。

编辑

好的,我看到很多困惑的回复。 这是我git commit -a this 之后发生的事情。

# On branch master
nothing to commit (working directory clean)

如您所见,除了应用了更改的那四个文件之外,没有其他任何东西。

我的问题应该改写如下:当此提交中的所有更改都已被跟踪时,为什么 git 会警告我有关未跟踪文件的信息?

换句话说, git commit 消息中的未跟踪警告是不必要的吗?

对于其他有同样问题的人,请尝试运行

git add . 这会将当前目录的所有文件添加到跟踪(包括未跟踪)然后使用

git commit -a提交所有跟踪的文件。

正如@Pacerier 所建议的,一个做同样事情的班轮是

git add -A

git commit -am "msg"git add filegit commit -m "msg"

如果您有一些从未添加到 git tracking 的文件,您仍然需要执行git add file

“git commit -a”命令是两步过程的快捷方式。 在你修改了一个 repo 已知的文件后,你仍然需要告诉 repo,“嘿! 我想将此添加到暂存文件中,并最终提交给您。” 这是通过发出“git add”命令来完成的。 “git commit -a”正在暂存文件并一步提交。

来源: “git commit -a”和“git add”

你应该在命令行中输入

git add --all

这将提交所有未跟踪的文件

编辑:

暂存文件后,它们已准备好提交,因此您的下一个命令应该是

git commit -am "Your commit message"

如果您遇到未跟踪文件的问题,这个 3 行脚本将帮助您。

git rm -r --cached .
git add -A
git commit -am 'fix'

然后只需git push

  1. 首先,您需要添加所有未跟踪的文件。 使用这个命令行:

    git add *

  2. 然后使用此命令行提交:

    git commit -a

顾名思义,“未跟踪的文件”是 git 未跟踪的文件。 它们不在您的暂存区,也不属于任何以前的提交。 如果您希望它们被版本化(或由 git 管理),您可以通过使用 'git add' 告诉 'git' 来实现。 查看Progit书中的记录对存储库的更改这一章,它使用漂亮的视觉效果很好地解释了对 git repo 的记录更改,并解释了术语“已跟踪”和“未跟踪”。

确保您位于本地 git 中的正确目录(存储库主文件夹)中,以便它可以在您提交或添加文件之前找到 .git 文件夹配置。

暂无
暂无

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

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