Python 我想从跟踪中排除文件,但将其保存在repo中
我有一个dirPython 我想从跟踪中排除文件,但将其保存在repo中,python,python-3.x,git,pycharm,Python,Python 3.x,Git,Pycharm,我有一个dir/data和我的文件main.py。我将其用作beta文件,并首先对其进行更改,而不是直接在生产中部署。 这样做会处理/data中的文件,当我稍后提交它时,它也会提交所有数据/文件,当然我不想这样做 我尝试在.gitignore中添加dirdata/,然后执行 git rm -rf --cached . git add . 但是当我尝试提交时,它显示我删除了data/中的所有文件,这完全不是我想要的 我想要的是:它只是停止跟踪文件,即它既不会删除文件,也不会提交更改的文件。 我该
/data
和我的文件main.py
。我将其用作beta文件,并首先对其进行更改,而不是直接在生产中部署。
这样做会处理/data
中的文件,当我稍后提交它时,它也会提交所有数据/
文件,当然我不想这样做
我尝试在.gitignore
中添加dirdata/
,然后执行
git rm -rf --cached .
git add .
但是当我尝试提交时,它显示我删除了data/
中的所有文件,这完全不是我想要的
我想要的是:它只是停止跟踪文件,即它既不会删除文件,也不会提交更改的文件。
我该怎么做
我找到了我需要的:——跳过工作树
不过,您必须将跳过工作树应用于该文件夹中的所有元素。见“ 正如我在“”中所解释的 用户经常尝试使用“假定未更改”和“跳过工作树”来告诉Git忽略对跟踪文件的更改。
这并不像预期的那样有效,因为Git在执行某些操作时可能仍然会根据索引检查工作树文件 一般来说,Git不提供忽略对跟踪文件的更改的方法,因此建议使用其他解决方案 但在您的情况下,这可能是一种临时解决办法。
不要忘记一个
--no skip worktree
来恢复文件夹索引。使用.gitignore来停止某些文件或文件夹被删除commited@AlphaWolfGamer我已经说过,当我将dir添加到.gitignore
时,它会完全删除它。。与其停止跟踪它,您通常只需要执行一次git rm-rf--cached.
操作,当它已经被跟踪并且您想要取消跟踪时。之后,您只需要将它放入.gitignore,git将停止跟踪它。将其放入.gitignore不会删除任何内容,因此可能是您正在执行的其他命令/步骤将其删除。如果您使用的是IDE,那么它可能只是从UI中隐藏gitignore文件,但实际上不会删除它们。@GinoMempin谢谢,但我找到了我需要的-——跳过工作树