说这就是我在git状态下看到的内容:
Changes not staged for commit:
modified: Makefile.in
Untracked files:
../node_modules/somepath/inverter_packet.js
我想要做的就是将Makefile.in从“未提交的提交更改”移动到“未跟踪文件”。
我知道我可以忽略git update-index --assume-unchanged Makefile.in
的更改,并使用--no-assume-unchanged
命令将它们取回,但我宁愿不让这些文件完全看不见,因为我会编辑/偶尔提交它们。
我想从'not staged'部分中删除文件,但在我输入git status
时仍会看到它。
或者,如果我可以(最好是简单地)在键入git diff
时停止显示非暂存文件的差异(例如,像我的Makefile.in那里),那也很好。
答案 0 :(得分:3)
我想删除“未上演”的文件。部分,但在我输入git status时仍然可以看到它。
您希望他们将移至?真的没有其他地方可以隐藏。
正如您所提到的,这些是跟踪文件,因此您不希望使用git rm
将其从回购邮件中删除,这是完全错误的。这里唯一真正的选择是让它们保持不变。他们将会出现在视线之外#34;无论哪种方式,所以问题并没有多大意义。
另一种选择是使用git stash -p
仅隐藏该单个文件,但是您将丢失工作副本中的更改,直到您弹回存储,这再次,不是您的样子&# 39;重新开始。
答案 1 :(得分:3)
我遇到过类似的情况。以下是我从 unstaged 到 untracking 所遵循的方法。
现在相应的文件被删除。它使用 --cached 选项将文件保存在本地主机中
再次构建您的项目。如果始终生成文件,您将获得未跟踪的文件。 现在将其添加到 .git/info/exclude 中。
您现在正在取消跟踪最初未暂存的文件。
注意:如果文件不是在构建过程中生成的,您将不会在 untracking 中获得这些文件。我的意思是它们完全从 git 跟踪中删除。