取消跟踪文件而不删除它?


23

我在git存储库中有一个跟踪文件。如何取消跟踪此文件而不使用magit删除它?

Answers:


20

命中i将gitignore文件,并从git存储库中取消跟踪。

在幕后,它可以git rm --cached- 从StackOverflow问题获取有关此git命令的更多信息


请注意,您无需将其添加到gitignore文件中。只需丢弃(我相信默认情况下为“ k”),然后在gitignore上进行更改。
deadghost 2015年

放弃(使用k)只会将文件内容恢复为上一次提交的状态;它不会取消跟踪。要对其进行测试,请修改刚刚丢弃的文件,g在magit缓冲区中单击以刷新内容,然后您会看到该文件再次出现在“未暂存”部分中。
Kaushal Modi

我的意思是放弃对.gitignore的更改。
deadghost 2015年

好吧,我现在明白你的意思。先打i上的文件要untrack,然后打k.gitignore。对于我的用例,如果有一个我想取消跟踪的文件,我通常也想对其进行gitignore。这样,我的magit缓冲区保持干净和空:)
Kaushal Modi

3
如果不需要将文件添加到gitignore,请使用K(大写的k)。
帕特里克·富尼耶


5

使用M-x magit-file-untrack从缓冲区访问被跟踪的文件或从Magit缓冲。当缓冲区访问文件时,该文件将作为默认选择。

当点位于Magit缓冲区中的文件上时,这也是默认提供的。您可能还想将新添加magit-insert-tracked-files到中magit-status-sections-hook,然后将所有跟踪文件的树插入状态缓冲区中(但是这样做可能不利于大型存储库中的性能)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.