Git提交 – “未跟踪的文件”?
当我做一个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
后发生的事情git commit -a
这个。
# On branch master nothing to commit (working directory clean)
正如你所看到的,除了那些应用了更改的四个文件以外别无其他。
我的问题应该改写如下: 为什么git会在跟踪这个提交中的所有更改时警告我关于未跟踪的文件?
换句话说, git commit消息中的未跟踪警告是不必要的 ?
对于有同样问题的其他人,请尝试运行
git add .
这将添加当前目录的所有文件来跟踪(包括未跟踪),然后使用
git commit -a
提交所有跟踪的文件。
正如@Pacerier所build议的那样,一个class轮同样的事情是
git add -A
git commit -am "msg"
与git add file
和git commit -m "msg"
如果你有一些从来没有添加到git跟踪的文件,你仍然需要做git add file
“git commit -a”命令是一个两步过程的捷径。 在您修改回购已知的文件之后,您仍然必须告诉回购,“嘿! 我想把它添加到staged文件并最终提交给你。“这是通过发出”git add“命令完成的。 “git commit -a”正在升级文件并一步提交。
来源: “git commit -a”和“git add”
你应该input命令行
git add --all
这将提交所有未跟踪的文件
顾名思义,“未跟踪文件”就是没有被git跟踪的文件。 他们不在你的集结地区,也不是任何以前的承诺的一部分。 如果你想要它们被版本化(或被gitpipe理),你可以通过使用'git add'来告诉'git'。 检查这一章logging在Progit书中使用一个很好的视觉对版本库进行了更改,提供了有关logginggit repo更改的一个很好的解释,并解释了“跟踪”和“未跟踪”
-
首先你需要添加所有未跟踪的文件。 使用这个命令行git add *
-
然后提交使用这个命令行git commit -a