我与我的大四学生进行了讨论,他要求在git(somefile.txt)上提交一个文件,但不将其添加到项目中(Idea项目)。那个时候我没有找到他,他让我离开这个话题并放弃它。
如果我在git repo中的文件夹中有多个项目,那么问题的标题是什么意思?
我不是git的新手,但我认为我缺乏git的基础知识。请清楚!
答案 0 :(得分:2)
提交意味着将其添加到仓库中,但根据您使用的技术,有时会有一个项目文件,就像Visual Studio或其他IDE所保留的那样。可能意味着不要添加到项目中,而是添加到回购。
答案 1 :(得分:2)
提交文件意味着应该在源代码管理中跟踪它。如果有人克隆(或克隆了)repo,并且签出了代码的给定版本,那么他们应该获得与该项目版本对应的somefile.txt
版本。
在项目中添加文件(或不是)是IDE的事情。在IDEA的情况下,它想知道源文件(.java)和驱动构建的其他资产;但它可能并不关心开发人员充满文档的.txt文件。
现在您可能不会向项目中添加内容而不将其检入源代码管理中。 (我想如果IDE足够粗糙,你可能不得不对生成的文件执行此操作;但期望生成的文件会根据需要动态添加到构建过程中。)
但是,添加到项目中(为构建目的提供IDE信息)与提交完全不同(给源控制指示跟踪文件更改的方向);对于大多数IDE而言,在不添加项目的情况下添加源代码控制可能是合理的,甚至是正常的事情。
虽然看起来似乎让水域变得混乱,但重要的是要注意这是正确的,因为该文件不是IDEA需要了解的类型。对于执行驱动构建过程的文件,如.java
文件,如果确保项目文件中的信息与提交的文件集同步,则可以避免很多麻烦。 (或者更好的是,使用构建工具,以便无论如何都不需要源代码控制中特定于IDE的项目文件;但听起来这并不是您的团队设置的方式。)
答案 2 :(得分:0)
IDEA,Intellij编辑器,在窗格中显示项目中的所有文件,通常在左侧。这与许多其他编辑类似。
显示的那些文件大多与文件系统中的文件和目录相同,但它们不必。例如,隐藏文件夹sucb作为git' .git
文件夹通常会从视图中省略,因为您很少/从不编辑它们。其他示例是临时文件或构建产品。
您可以右键单击树视图中的文件或目录,将其从项目中删除。它不会被删除,但不会使视图混乱。