是否可以在git中取消对文件的跟踪,而不在远程服务器中删除该文件
在使用git时,我希望有以下内容,但不确定是否可能:是否可以在git中取消对文件的跟踪,而不在远程服务器中删除该文件,git,Git,在使用git时,我希望有以下内容,但不确定是否可能: 我有results.log文件,其中记录了程序执行结果(附加在后续执行中) main.conf包括results.log所在的位置 在git中保持results.log文件为空,并在main.conf中为其添加一个相对路径,这样当项目签出时,同事可以立即启动程序并获得结果 启动后,应跟踪该文件,这样它就不会与应用程序生成的数据一起提交 我认为以下一系列行动会奏效: 添加一个空文件 承诺,推到原点 将文件添加到git ignore 但是
- 我有
文件,其中记录了程序执行结果(附加在后续执行中)results.log
包括main.conf
所在的位置results.log
- 在git中保持
文件为空,并在results.log
中为其添加一个相对路径,这样当项目签出时,同事可以立即启动程序并获得结果main.conf
- 启动后,应跟踪该文件,这样它就不会与应用程序生成的数据一起提交
- 添加一个空文件李>
- 承诺,推到原点李>
- 将文件添加到git ignore李>
git rm--cached
在执行push
时将其从源位置完全删除
问题:我想要的是可能的吗?如果可能的话,怎么做?添加一个
git reset --soft results.log
这确保了文件永远不会提交,但有两个警告:
git status
下的“要提交的更改”。可能有点烦人公平地说,根据定义,您想要的是一个黑客:您希望git跟踪此文件,以便每个开发人员都拥有它,但您不希望git跟踪它,因为每个开发人员都有不同的文件内容。不会有“干净”的解决方案(除了我对您的问题的评论)。听起来您的应用程序应该只创建一个空的
结果。如果找不到文件,则记录。那么你就不必在git中破解它,也可以停止跟踪它。是的,这是可能的,但是我在多种情况下都遇到了这种需要。在我看来,这种方法可以加快应用程序的安装和初始运行,而无需编写任何代码。我们在这里讨论了其他问题,但如果删除空文件导致应用程序停止工作,这是一个缺陷。让应用程序进入可运行状态不应该是VCS的责任。您可能需要一个安装脚本,或者应用程序应该以某种方式进行自我配置。谢谢您,确认这是不可能的,以及为什么最好保持这种方式非常好!:)