git - 如何将未暂存文件移动到未跟踪文件?

标签 git git-add git-stage git-rm

假设这是我在 git status 中看到的:

Changes not staged for commit:
    modified:   Makefile.in

Untracked files:
   ../node_modules/somepath/inverter_packet.js

我想做的是将 Makefile.in 从“Changes not staged for commit”移动到“Untracked files”。

我知道我可以使用 git update-index --assume-unchanged Makefile.in 忽略更改,并使用 --no-assume-unchanged 恢复它们命令,但我不想让这些文件完全看不见,因为我偶尔会编辑/提交它们。

我想从“未暂存”部分中删除文件,但在我键入 git status 时仍然会看到它。

或者,如果我可以(最好是简单地)在键入 git diff 时停止显示未暂存文件的差异(例如,像上面的 Makefile.in),那也很好。

最佳答案

我遇到过类似的情况。这是我按照 unstaged 到 untracking 所做的。

  1. git rm [文件名和路径] --cached

现在相应的文件被删除了。它使用 --cached 选项将文件保存在本地主机中

  1. git commit(删除的文件)。

再次构建您的项目。如果始终生成文件,您将在 Untracked 中获得该文件。 现在将它添加到 .git/info/exclude 中。

  1. git 状态

您现在正在取消跟踪最初未暂存的文件。

注意:如果文件不是在构建过程中生成的,您将不会在取消跟踪中获得这些文件。我的意思是它们已完全从 git 跟踪中删除。

关于git - 如何将未暂存文件移动到未跟踪文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30894897/

相关文章:

git - 如何为 "git add -p"中的帅哥设置制表符大小?

wordpress - Git - 无法推送 - "! [remote rejected] master -> master (Working directory has unstaged changes)"

git - 如何显示已上演的更改?

git - 鬼魂,你从哪里来?

git - 为Git配置了SSH key 但仍然不成功

xcode - 全局 .gitIgnore 文件的内容是什么?

git - 我如何 git 仅添加与模式匹配的行?

git-stash - GIT 中存储文件与暂存文件之间的区别

git - 在 .git/config 中包含您的 googlecode 密码是否危险?