Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何正确存储多个IDE的Git文件?_Git_Github_Ide - Fatal编程技术网

如何正确存储多个IDE的Git文件?

如何正确存储多个IDE的Git文件?,git,github,ide,Git,Github,Ide,我在不同的PC中使用多个IDE,它们是VS13/15/17、Eclipse、Netbeans,它们都为一个新的创建项目文件 如果我不想在一台新电脑上为一个代码创建新项目,我可以将所有项目文件保存在一个存储库中吗?如果是这样,我如何组织它们以防止工作树中的误解?我不确定我是否理解了这个问题,您的IDE会在您的项目中创建文件(例如.idea文件或.sln文件),如果您在另一台PC上克隆您的项目,则会产生问题 我认为IDE文件是特定于开发人员的,而不是特定于项目的。因此,我更喜欢将它们添加到.giti

我在不同的PC中使用多个IDE,它们是VS13/15/17、Eclipse、Netbeans,它们都为一个新的创建项目文件


如果我不想在一台新电脑上为一个代码创建新项目,我可以将所有项目文件保存在一个存储库中吗?如果是这样,我如何组织它们以防止工作树中的误解?

我不确定我是否理解了这个问题,您的IDE会在您的项目中创建文件(例如
.idea
文件或
.sln
文件),如果您在另一台PC上克隆您的项目,则会产生问题

我认为IDE文件是特定于开发人员的,而不是特定于项目的。因此,我更喜欢将它们添加到
.gitignore
文件中。因此,如果我使用另一个编辑器,它会创建它需要的一些文件,这不会影响存储库

如果你不想每次都考虑它,你可以有一个全局的
.gitignore

git config --global core.excludesfile ~/.gitignore-global
这里,路径
~/.gitignore global
只是一个例子,您可以选择另一个名称

并在其中添加要忽略的IDE文件。因此,在您的所有项目中,它们都将被Git忽略,并保留在您的环境中


我希望这会有帮助

在源代码管理中存储IDE项目文件有两个问题

首先,IDE文件往往是项目数据和用户特定数据的混合体,您只需要提交前者,而忽略后者。对于某些IDE来说,这是很容易做到的,但对于其他IDE来说,这是不容易做到的,而且在任何情况下,IDE的知识都是特定于IDE的

第二,如果同一个项目(由不同的用户或在不同的机器上)使用多个IDE,那么最终会得到两组很容易失去同步的项目文件。(我并不是说每个人都在这部分代码中使用VS,每个人都在这部分代码中使用Idea;我的意思是如果Alice在同一部分代码中使用Idea,Bob在同一部分代码中使用Eclipse。)

我理解你的问题,你似乎有后一个问题。在这种情况下,您应该看看是否可以找到一个与IDE无关的工具来管理项目描述,各个IDE可以从中导入项目描述。然后,您可以只对IDE中性项目描述进行源代码控制。如果这是不可能的,那么您可能需要研究是否可以在每个模块的一个IDE上进行标准化,至少在“这是一个管理规范项目描述的IDE,因此如果您想使用其他内容,您可以自行将该信息导入/导出到IDE中,因为您的IDE文件不受源代码控制”


即使每个项目只在一个IDE中进行管理,在可能的情况下,使用不与IDE绑定的项目定义可能仍有好处,但在这种情况下,您至少可以选择咨询IDE文档,看看哪些应该和哪些不应该放在源代码控制中

“…IDE文件是特定于开发人员的,而不是特定于项目的…”。。。“那至多是半对的。没有一个IDE会同意您的意见。我的解决方法是为特定IDE创建子文件夹,以便在其中存储项目文件。至少它现在可以用于Eclipse,我只需要将源文件作为符号链接导入,并带有到源目录的相对路径。下面的问题可能很难回答,但是推送构建文件(包括程序二进制文件和make(cmake)文件)没问题吧?它们是否包含敏感信息?