是否可以在git中删除文件,而不是在遥控器中将其删除

时间:2017-11-08 14:38:07

标签: git

我想在使用git时有以下内容,但不确定是否可能:

  • 我有results.log文件,其中记录了程序执行结果(附加在后续执行中)。
  • main.conf包含results.log所在的位置。
  • results.log文件保留为git并将其添加到main.conf中的相对路径是有益的,因此当项目签出时,同事可以立即启动该程序并获得结果。
  • 在launche(s)之后应该跟踪文件,因此它不会被应用程序生成的数据提交。

我认为以下一系列行动可行:

  • 添加空文件;
  • 承诺,推送到原点;
  • 将文件添加到git ignore;

但是在这些步骤之后,文件仍然被跟踪(因为它在索引树中)。 <{1}}执行git rm --cached <>后,push会从原点全部删除它。

问题:我想要的是可能的,如果是的话,怎么做?

1 个答案:

答案 0 :(得分:1)

添加运行<{p>的pre-commit hook

git reset --soft results.log

这确保了永远不会提交文件,但有两点需要注意:

  1. 它将始终显示为&#34;要提交的更改&#34;在git status下。可能有点讨厌
  2. 您需要确保每个开发人员安装此相同的挂钩以避免提交日志。可能真的很讨厌
  3. 公平地说,你想要的是一个hack:你希望git跟踪这个文件,以便每个开发者都有它,但你不希望git跟踪它,因为每个开发人员都有不同的文件内容。没有&#34;干净&#34;解决方案(除了我对你的问题的评论)。