Git提交-a";未跟踪的文件;?
当我执行Git提交-a";未跟踪的文件;?,git,git-commit,Git,Git Commit,当我执行git提交-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 <
git提交-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消息中未跟踪的警告是否不必要?git commit-am“msg”
与git add file
和git commit-m“msg”
如果您有一些从未添加到git tracking的文件,您仍然需要执行git add file
“git commit-a”命令是两步流程的快捷方式。之后
如果您修改了回购协议已经知道的文件,您仍然需要
告诉回购方,“嘿!我想把这个添加到暂存文件中,然后
最终提交给您。”这是通过发出“git add”来完成的
指挥部。“git commit-a”是将文件暂存并在一个文件中提交
步骤
来源:顾名思义,“未跟踪文件”是指git未跟踪的文件。它们不在您的暂存区域中,也不是以前任何提交的一部分。如果您希望对它们进行版本控制(或由git管理),可以通过使用“git add”告诉“git”来实现。查看本书中的这一章,它使用了一个很好的视觉效果来提供有关记录git repo更改的良好解释,并解释术语“跟踪”和“未跟踪”。如果其他人有同样的问题,请尝试运行
git添加。
这将添加当前目录中要跟踪的所有文件(包括未跟踪的文件),然后使用
git commit-a
提交所有跟踪文件
正如@Pacerier所建议的,一个做同样事情的班轮是
git add-A
您应该在命令行中键入
git add --all
这将提交所有未跟踪的文件
编辑:
暂存文件后,它们已准备好提交,因此下一个命令应该是
git commit -am "Your commit message"
git add*
git提交-a
如果您在处理未跟踪的文件时遇到问题,此三行脚本将对您有所帮助
git rm -r --cached .
git add -A
git commit -am 'fix'
然后只需
git push
确保您位于本地git中的正确目录(存储库主文件夹),以便在提交或添加文件之前,它可以找到.git文件夹配置。(使用“git add…”包含在将提交的内容中)
zengr这是不必要的,因为git commit-a将提交对已跟踪文件的所有更改。当文件到现在为止从未添加过时,这是必要的。从-a
的文档中:告诉命令自动暂存已修改和删除的文件,但未告知git的新文件不受影响。为什么说git“警告”你?在我看来,“untracked”files消息是信息性的。这是为了让你看看这些文件是否需要管理和相应的行动。@sateesh好吧,不管你想叫它什么,我仍然不认为这真的有帮助。这是如何提供信息的?我该怎么办?你读过我在“编辑”部分的帖子了吗?我在那里写道,除了上面列出的文件外,其他任何文件都没有修改?如果你觉得这很有用,那就相当于我告诉你,在没有什么可担心的情况下,你的回购树上的任何随机文件夹都不会被跟踪。git commit-a
将提交所有跟踪的文件,而不是跟踪未跟踪的文件git add。
将跟踪当前目录中未跟踪的文件git add-a
将跟踪所有未跟踪的文件。@matteo它是git add-a
,而不是git commit-a
。据我所知,没有一个开关可以传递到git commit
,它包含未跟踪的文件。-a现在似乎不推荐使用。还是谢谢你。:)要进一步了解这些命令,可以检查:但是,正如您所说的git commit-a=git add.+git commit为什么不自动将文件添加到跟踪区域??。@Johnny:git commit-a
不等于git add.
+git commit
。git add
步骤只添加在您的git status
中列出为已修改的文件,而不是当前目录中的所有文件。是的,我今天发现了!这将暂存所有文件,而不是提交它们。你仍然需要分开做。这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。-这对我来说很有用,因为我需要取消跟踪我现在忽略的跟踪文件。+1作为progit的参考。请将URL更新为v2和v2
git rm -r --cached .
git add -A
git commit -am 'fix'