我对我的Rails应用程序进行了更改,并通过Git添加并提交了它们。但是,我有两个文件,无论我使用什么命令都保持不跟踪。我尝试了git reset --hard HEAD
和git clean -f
,但他们没有任何效果。我现在想知道该怎么做。我可以只提出拉取请求并与主合并吗?
On branch design-testimonial-page
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
(commit or discard the untracked or modified content in submodules)
modified: vendor/bundle/ruby/2.5.0/bundler/gems/activeadmin-f79e470a04d3 (modified content)
modified: vendor/bundle/ruby/2.5.0/bundler/gems/inherited_resources-652686148f55 (modified content)
no changes added to commit (use "git add" and/or "git commit -a")
当我git diff
时,我得到了以下内容:
diff --git a/vendor/bundle/ruby/2.5.0/bundler/gems/activeadmin-f79e470a04d3 b/vendor/bundle/ruby/2.5.0/bundler/gems/acti
--- a/vendor/bundle/ruby/2.5.0/bundler/gems/activeadmin-f79e470a04d3
+++ b/vendor/bundle/ruby/2.5.0/bundler/gems/activeadmin-f79e470a04d3
@@ -1 +1 @@
-Subproject commit f79e470a04d3ef25230803d83a6b1d26ad5c171a
+Subproject commit f79e470a04d3ef25230803d83a6b1d26ad5c171a-dirty
diff --git a/vendor/bundle/ruby/2.5.0/bundler/gems/inherited_resources-652686148f55 b/vendor/bundle/ruby/2.5.0/bundler/g
--- a/vendor/bundle/ruby/2.5.0/bundler/gems/inherited_resources-652686148f55
+++ b/vendor/bundle/ruby/2.5.0/bundler/gems/inherited_resources-652686148f55
@@ -1 +1 @@
-Subproject commit 652686148f554fb9ce0ebee5d857b3d3decc0272
+Subproject commit 652686148f554fb9ce0ebee5d857b3d3decc0272-dirty
答案 0 :(得分:0)
这些不是未跟踪文件。以下内容:
Changes not staged for commit:
根据定义,部分是跟踪的。 跟踪一词仅表示索引中的,其中 index 一词定义为gitglossary。 (它也称为临时区域或有时称为缓存。)
在这种特殊情况下,带括号的位:
... (modified content)
告诉我们这些也不是文件。大多数索引条目都是针对文件的,但是Git支持它所谓的子模块(参见the git submodule
documentation),它们是一个Git存储库中的引用,告诉Git它应该克隆并使用其他一些Git存储库,在一些特定的提交。
这里有另外两个存储库,位于目录中:
vendor/bundle/ruby/2.5.0/bundler/gems/activeadmin-f79e470a04d3
和
vendor/bundle/ruby/2.5.0/bundler/gems/inherited_resources-652686148f55
这两个Git存储库中的每一个都与其特定的签出版本不匹配。您的git status
被配置为下降到每个子模块并查询,然后汇总该子模块的状态,因此您的Git进入第一个并发现它有未提交的更改,然后进入第二个并查找同样的事情。
请注意,如果您自己进入这些存储库,您将获得有关其中更改内容的更详细信息。如果您随后添加并提交这些更改,则会为子模块获取新提交。如果您希望超级项目使用该新提交,则必须导航回超级项目并更新其索引/暂存区域,以便它记录新的提交哈希ID。
如果您不想修改子模块,可以进入并清理它们。