如何解决如何摆脱 Git 子模块未跟踪状态??
由于 git status 报告未跟踪的内容,因此获得干净状态的实际方法是进入这些子模块中的每一个,并且:
- 添加并提交未跟踪的内容,
-
.gitignore
或引用特定于每个模块 的未跟踪内容。 - 或者您可以将相同的忽略内容添加到子模块中
.git/info/exclude
,就像peci1在评论中报告的那样。 -
或添加脏到子模块规范,如ezraspectre的回答(upVoted)中所述。
git config -f .gitmodules submodule.<path>.ignore untracked
-
或添加一个
.gitignore
文件(通常~/.gitignore-global
)。例如.DS_Store
,或者在我的情况下,正如Mari谩n 膶ern 媒体在评论Carthage/Build
中所报道的那样。请参阅手册页:.gitginore
用户希望 Git 在所有情况下都忽略的模式(例如,由用户选择的编辑器生成的备份或临时文件)通常进入
用户指定的文件中~/.gitconfig
。它的默认值为$XDG_CONfig_HOME/git/ignore
.
如果$XDG_CONfig_HOME
未设置或为空, 则改为使用。
解决方法
我似乎无法摆脱 Git 子模块中未跟踪的内容。运行git status
产量:
# 在分支master上
# 未为提交暂存的更改:
# (使用“git add ...”来更新将要提交的内容)
# (使用 "git checkout -- ..." 丢弃工作目录中的更改)
# (提交或丢弃子模块中未跟踪或修改的内容)
#
# 修改:bundle/snipmate(未跟踪的内容)
# 修改:捆绑/环绕(未跟踪的内容)
# 修改:捆绑/尾随空白(未跟踪的内容)
# 修改:bundle/zencoding(未跟踪的内容)
#
没有添加到提交的更改(使用“git add”和/或“git commit -a”)
添加--ignore-submodules
参数会隐藏这些消息;但我想知道是否有办法以更合适、更核心的方式去除这些污垢。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。