Python 对于Pycharm项目,哪些(如果有的话)项目文件要放在.gitignore中(除了那些已经在.idea/.gitignore中的文件)?

Python 对于Pycharm项目,哪些(如果有的话)项目文件要放在.gitignore中(除了那些已经在.idea/.gitignore中的文件)?,python,git,pycharm,gitignore,Python,Git,Pycharm,Gitignore,Pycharm在Pycharm项目的根目录下生成一个.idea目录。git应该忽略.idea中的哪些文件/目录?这是否由.idea中自动生成的.gitignore文件正确处理: cat .idea/.gitignore # Default ignored files /shelf/ /workspace.xml 或者我是否需要向项目根目录的.gitignore文件中添加一些内容?通常,您不应该将特定于编辑器或IDE的任何文件签入到存储库中,除非构建项目也绝对需要这些文件。因此,如果您使用Py

Pycharm在Pycharm项目的根目录下生成一个
.idea
目录。git应该忽略
.idea
中的哪些文件/目录?这是否由
.idea
中自动生成的
.gitignore
文件正确处理:

cat .idea/.gitignore
# Default ignored files
/shelf/
/workspace.xml


或者我是否需要向项目根目录的
.gitignore
文件中添加一些内容?

通常,您不应该将特定于编辑器或IDE的任何文件签入到存储库中,除非构建项目也绝对需要这些文件。因此,如果您使用PyCharm进行开发,则应忽略它生成的所有文件

原因是在大多数有多个开发人员的项目中,不同的人会使用不同的编辑器。所以当你使用PyCharm时,我可能会使用Vim。我们不希望我们的
.gitignore
必须了解每个用户首选的编辑器文件,我们也不希望必须维护多组编辑器文件,特别是因为我们可能一起处理多个项目。如果我们需要配置设置,最好使用跨编辑器工作的
.editorconfig
文件,或者更喜欢一组标准化的工具,例如代码格式化程序(并检入我们需要的任何配置)


相反,您应该配置
core.excludesfile
(或者使用默认的
$HOME/.config/git/ignore
),以便它排除编辑器文件。这适用于您使用的所有存储库,因此每个项目都不必了解这些设置,并允许您在更改编辑器时更改一个位置。因此,在本例中,这意味着将
/.idea
行添加到该文件中。

这是否回答了您的问题?虽然我大体上完全同意这个答案,但它看起来像是
.idea
中的一些文件应该共享(例如,共享字典——它还表明
.idea
目录和用户工作区文件的设计存在一些设计缺陷)。但是我仍然在
.gitignore
中使用
.idea